Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v6.16 134 lines 3.3 kB view raw
1/* SPDX-License-Identifier: GPL-2.0-or-later */ 2/* 3 * Support for SATA devices on Serial Attached SCSI (SAS) controllers 4 * 5 * Copyright (C) 2006 IBM Corporation 6 * 7 * Written by: Darrick J. Wong <djwong@us.ibm.com>, IBM Corporation 8 */ 9 10#ifndef _SAS_ATA_H_ 11#define _SAS_ATA_H_ 12 13#include <linux/libata.h> 14#include <scsi/libsas.h> 15 16#ifdef CONFIG_SCSI_SAS_ATA 17 18static inline int dev_is_sata(struct domain_device *dev) 19{ 20 return dev->dev_type == SAS_SATA_DEV || dev->dev_type == SAS_SATA_PM || 21 dev->dev_type == SAS_SATA_PM_PORT || dev->dev_type == SAS_SATA_PENDING; 22} 23 24int sas_get_ata_info(struct domain_device *dev, struct ex_phy *phy); 25int sas_ata_init(struct domain_device *dev); 26void sas_ata_task_abort(struct sas_task *task); 27void sas_ata_strategy_handler(struct Scsi_Host *shost); 28void sas_ata_eh(struct Scsi_Host *shost, struct list_head *work_q); 29void sas_ata_schedule_reset(struct domain_device *dev); 30void sas_ata_wait_eh(struct domain_device *dev); 31void sas_probe_sata(struct asd_sas_port *port); 32void sas_suspend_sata(struct asd_sas_port *port); 33void sas_resume_sata(struct asd_sas_port *port); 34void sas_ata_end_eh(struct ata_port *ap); 35void sas_ata_device_link_abort(struct domain_device *dev, bool force_reset); 36int sas_execute_ata_cmd(struct domain_device *device, u8 *fis, 37 int force_phy_id); 38int smp_ata_check_ready_type(struct ata_link *link); 39int sas_discover_sata(struct domain_device *dev); 40int sas_ata_add_dev(struct domain_device *parent, struct ex_phy *phy, 41 struct domain_device *child, int phy_id); 42 43extern const struct attribute_group sas_ata_sdev_attr_group; 44 45#else 46 47static inline void sas_ata_disabled_notice(void) 48{ 49 pr_notice_once("ATA device seen but CONFIG_SCSI_SAS_ATA=N\n"); 50} 51 52static inline int dev_is_sata(struct domain_device *dev) 53{ 54 return 0; 55} 56static inline int sas_ata_init(struct domain_device *dev) 57{ 58 return 0; 59} 60static inline void sas_ata_task_abort(struct sas_task *task) 61{ 62} 63 64static inline void sas_ata_strategy_handler(struct Scsi_Host *shost) 65{ 66} 67 68static inline void sas_ata_eh(struct Scsi_Host *shost, struct list_head *work_q) 69{ 70} 71 72static inline void sas_ata_schedule_reset(struct domain_device *dev) 73{ 74} 75 76static inline void sas_ata_wait_eh(struct domain_device *dev) 77{ 78} 79 80static inline void sas_probe_sata(struct asd_sas_port *port) 81{ 82} 83 84static inline void sas_suspend_sata(struct asd_sas_port *port) 85{ 86} 87 88static inline void sas_resume_sata(struct asd_sas_port *port) 89{ 90} 91 92static inline int sas_get_ata_info(struct domain_device *dev, struct ex_phy *phy) 93{ 94 return 0; 95} 96 97static inline void sas_ata_end_eh(struct ata_port *ap) 98{ 99} 100 101static inline void sas_ata_device_link_abort(struct domain_device *dev, 102 bool force_reset) 103{ 104} 105 106static inline int sas_execute_ata_cmd(struct domain_device *device, u8 *fis, 107 int force_phy_id) 108{ 109 return 0; 110} 111 112static inline int smp_ata_check_ready_type(struct ata_link *link) 113{ 114 return 0; 115} 116 117static inline int sas_discover_sata(struct domain_device *dev) 118{ 119 sas_ata_disabled_notice(); 120 return -ENXIO; 121} 122 123static inline int sas_ata_add_dev(struct domain_device *parent, struct ex_phy *phy, 124 struct domain_device *child, int phy_id) 125{ 126 sas_ata_disabled_notice(); 127 return -ENODEV; 128} 129 130#define sas_ata_sdev_attr_group ((struct attribute_group) {}) 131 132#endif 133 134#endif /* _SAS_ATA_H_ */