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,
  29                struct list_head *done_q);
  30void sas_ata_schedule_reset(struct domain_device *dev);
  31void sas_ata_wait_eh(struct domain_device *dev);
  32void sas_probe_sata(struct asd_sas_port *port);
  33void sas_suspend_sata(struct asd_sas_port *port);
  34void sas_resume_sata(struct asd_sas_port *port);
  35void sas_ata_end_eh(struct ata_port *ap);
  36#else
  37
  38
  39static inline int dev_is_sata(struct domain_device *dev)
  40{
  41        return 0;
  42}
  43static inline int sas_ata_init(struct domain_device *dev)
  44{
  45        return 0;
  46}
  47static inline void sas_ata_task_abort(struct sas_task *task)
  48{
  49}
  50
  51static inline void sas_ata_strategy_handler(struct Scsi_Host *shost)
  52{
  53}
  54
  55static inline void sas_ata_eh(struct Scsi_Host *shost, struct list_head *work_q,
  56                              struct list_head *done_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#endif
  89
  90#endif /* _SAS_ATA_H_ */
  91