linux/include/scsi/sas_ata.h
<<
>>
Prefs
   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);
  35int sas_execute_ata_cmd(struct domain_device *device, u8 *fis,
  36                        int force_phy_id);
  37#else
  38
  39
  40static inline int dev_is_sata(struct domain_device *dev)
  41{
  42        return 0;
  43}
  44static inline int sas_ata_init(struct domain_device *dev)
  45{
  46        return 0;
  47}
  48static inline void sas_ata_task_abort(struct sas_task *task)
  49{
  50}
  51
  52static inline void sas_ata_strategy_handler(struct Scsi_Host *shost)
  53{
  54}
  55
  56static inline void sas_ata_eh(struct Scsi_Host *shost, struct list_head *work_q)
  57{
  58}
  59
  60static inline void sas_ata_schedule_reset(struct domain_device *dev)
  61{
  62}
  63
  64static inline void sas_ata_wait_eh(struct domain_device *dev)
  65{
  66}
  67
  68static inline void sas_probe_sata(struct asd_sas_port *port)
  69{
  70}
  71
  72static inline void sas_suspend_sata(struct asd_sas_port *port)
  73{
  74}
  75
  76static inline void sas_resume_sata(struct asd_sas_port *port)
  77{
  78}
  79
  80static inline int sas_get_ata_info(struct domain_device *dev, struct ex_phy *phy)
  81{
  82        return 0;
  83}
  84
  85static inline void sas_ata_end_eh(struct ata_port *ap)
  86{
  87}
  88
  89static inline int sas_execute_ata_cmd(struct domain_device *device, u8 *fis,
  90                                      int force_phy_id)
  91{
  92        return 0;
  93}
  94#endif
  95
  96#endif /* _SAS_ATA_H_ */
  97