libata: move 'struct ata_taskfile' and friends from ata.h to libata.h
authorSergei Shtylyov <sshtylyov@ru.mvista.com>
Sun, 30 Jun 2013 20:01:32 +0000 (00:01 +0400)
committerTejun Heo <tj@kernel.org>
Tue, 16 Jul 2013 11:46:56 +0000 (05:46 -0600)
Move 'struct ata_taskfile', ata_prot_flags() and their friends from
<linux/ata.h> to <linux/libata.h>. They were misplaced from the beginning,  as
<linux/ata.h> should cover ATA/ATAPI and related standards only -- to which the
aforementioned structure and function have only remote relation.

I would have moved 'enum ata_tf_protocols' closely related to 'struct
ata_taskfile' but it unfortunately gets used by 'drivers/ide/ide-ioctls.c'...

Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
include/linux/ata.h
include/linux/libata.h

index ee0bd95..f63fb1a 100644 (file)
@@ -446,22 +446,6 @@ enum {
        SERR_TRANS_ST_ERROR     = (1 << 24), /* Transport state trans. error */
        SERR_UNRECOG_FIS        = (1 << 25), /* Unrecognized FIS */
        SERR_DEV_XCHG           = (1 << 26), /* device exchanged */
-
-       /* struct ata_taskfile flags */
-       ATA_TFLAG_LBA48         = (1 << 0), /* enable 48-bit LBA and "HOB" */
-       ATA_TFLAG_ISADDR        = (1 << 1), /* enable r/w to nsect/lba regs */
-       ATA_TFLAG_DEVICE        = (1 << 2), /* enable r/w to device reg */
-       ATA_TFLAG_WRITE         = (1 << 3), /* data dir: host->dev==1 (write) */
-       ATA_TFLAG_LBA           = (1 << 4), /* enable LBA */
-       ATA_TFLAG_FUA           = (1 << 5), /* enable FUA */
-       ATA_TFLAG_POLLING       = (1 << 6), /* set nIEN to 1 and use polling */
-
-       /* protocol flags */
-       ATA_PROT_FLAG_PIO       = (1 << 0), /* is PIO */
-       ATA_PROT_FLAG_DMA       = (1 << 1), /* is DMA */
-       ATA_PROT_FLAG_DATA      = ATA_PROT_FLAG_PIO | ATA_PROT_FLAG_DMA,
-       ATA_PROT_FLAG_NCQ       = (1 << 2), /* is NCQ */
-       ATA_PROT_FLAG_ATAPI     = (1 << 3), /* is ATAPI */
 };
 
 enum ata_tf_protocols {
@@ -488,83 +472,6 @@ struct ata_bmdma_prd {
        __le32                  flags_len;
 };
 
-struct ata_taskfile {
-       unsigned long           flags;          /* ATA_TFLAG_xxx */
-       u8                      protocol;       /* ATA_PROT_xxx */
-
-       u8                      ctl;            /* control reg */
-
-       u8                      hob_feature;    /* additional data */
-       u8                      hob_nsect;      /* to support LBA48 */
-       u8                      hob_lbal;
-       u8                      hob_lbam;
-       u8                      hob_lbah;
-
-       u8                      feature;
-       u8                      nsect;
-       u8                      lbal;
-       u8                      lbam;
-       u8                      lbah;
-
-       u8                      device;
-
-       u8                      command;        /* IO operation */
-};
-
-/*
- * protocol tests
- */
-static inline unsigned int ata_prot_flags(u8 prot)
-{
-       switch (prot) {
-       case ATA_PROT_NODATA:
-               return 0;
-       case ATA_PROT_PIO:
-               return ATA_PROT_FLAG_PIO;
-       case ATA_PROT_DMA:
-               return ATA_PROT_FLAG_DMA;
-       case ATA_PROT_NCQ:
-               return ATA_PROT_FLAG_DMA | ATA_PROT_FLAG_NCQ;
-       case ATAPI_PROT_NODATA:
-               return ATA_PROT_FLAG_ATAPI;
-       case ATAPI_PROT_PIO:
-               return ATA_PROT_FLAG_ATAPI | ATA_PROT_FLAG_PIO;
-       case ATAPI_PROT_DMA:
-               return ATA_PROT_FLAG_ATAPI | ATA_PROT_FLAG_DMA;
-       }
-       return 0;
-}
-
-static inline int ata_is_atapi(u8 prot)
-{
-       return ata_prot_flags(prot) & ATA_PROT_FLAG_ATAPI;
-}
-
-static inline int ata_is_nodata(u8 prot)
-{
-       return !(ata_prot_flags(prot) & ATA_PROT_FLAG_DATA);
-}
-
-static inline int ata_is_pio(u8 prot)
-{
-       return ata_prot_flags(prot) & ATA_PROT_FLAG_PIO;
-}
-
-static inline int ata_is_dma(u8 prot)
-{
-       return ata_prot_flags(prot) & ATA_PROT_FLAG_DMA;
-}
-
-static inline int ata_is_ncq(u8 prot)
-{
-       return ata_prot_flags(prot) & ATA_PROT_FLAG_NCQ;
-}
-
-static inline int ata_is_data(u8 prot)
-{
-       return ata_prot_flags(prot) & ATA_PROT_FLAG_DATA;
-}
-
 /*
  * id tests
  */
@@ -1060,15 +967,6 @@ static inline unsigned ata_set_lba_range_entries(void *_buffer,
        return used_bytes;
 }
 
-static inline int is_multi_taskfile(struct ata_taskfile *tf)
-{
-       return (tf->command == ATA_CMD_READ_MULTI) ||
-              (tf->command == ATA_CMD_WRITE_MULTI) ||
-              (tf->command == ATA_CMD_READ_MULTI_EXT) ||
-              (tf->command == ATA_CMD_WRITE_MULTI_EXT) ||
-              (tf->command == ATA_CMD_WRITE_MULTI_FUA_EXT);
-}
-
 static inline bool ata_ok(u8 status)
 {
        return ((status & (ATA_BUSY | ATA_DRDY | ATA_DF | ATA_DRQ | ATA_ERR))
index 4ea55bb..283d66b 100644 (file)
@@ -138,6 +138,22 @@ enum {
        ATA_SHT_THIS_ID         = -1,
        ATA_SHT_USE_CLUSTERING  = 1,
 
+       /* struct ata_taskfile flags */
+       ATA_TFLAG_LBA48         = (1 << 0), /* enable 48-bit LBA and "HOB" */
+       ATA_TFLAG_ISADDR        = (1 << 1), /* enable r/w to nsect/lba regs */
+       ATA_TFLAG_DEVICE        = (1 << 2), /* enable r/w to device reg */
+       ATA_TFLAG_WRITE         = (1 << 3), /* data dir: host->dev==1 (write) */
+       ATA_TFLAG_LBA           = (1 << 4), /* enable LBA */
+       ATA_TFLAG_FUA           = (1 << 5), /* enable FUA */
+       ATA_TFLAG_POLLING       = (1 << 6), /* set nIEN to 1 and use polling */
+
+       /* protocol flags */
+       ATA_PROT_FLAG_PIO       = (1 << 0), /* is PIO */
+       ATA_PROT_FLAG_DMA       = (1 << 1), /* is DMA */
+       ATA_PROT_FLAG_DATA      = ATA_PROT_FLAG_PIO | ATA_PROT_FLAG_DMA,
+       ATA_PROT_FLAG_NCQ       = (1 << 2), /* is NCQ */
+       ATA_PROT_FLAG_ATAPI     = (1 << 3), /* is ATAPI */
+
        /* struct ata_device stuff */
        ATA_DFLAG_LBA           = (1 << 0), /* device supports LBA */
        ATA_DFLAG_LBA48         = (1 << 1), /* device supports LBA48 */
@@ -518,6 +534,29 @@ enum sw_activity {
        BLINK_OFF,
 };
 
+struct ata_taskfile {
+       unsigned long           flags;          /* ATA_TFLAG_xxx */
+       u8                      protocol;       /* ATA_PROT_xxx */
+
+       u8                      ctl;            /* control reg */
+
+       u8                      hob_feature;    /* additional data */
+       u8                      hob_nsect;      /* to support LBA48 */
+       u8                      hob_lbal;
+       u8                      hob_lbam;
+       u8                      hob_lbah;
+
+       u8                      feature;
+       u8                      nsect;
+       u8                      lbal;
+       u8                      lbam;
+       u8                      lbah;
+
+       u8                      device;
+
+       u8                      command;        /* IO operation */
+};
+
 #ifdef CONFIG_ATA_SFF
 struct ata_ioports {
        void __iomem            *cmd_addr;
@@ -959,6 +998,69 @@ extern const unsigned long sata_deb_timing_long[];
 extern struct ata_port_operations ata_dummy_port_ops;
 extern const struct ata_port_info ata_dummy_port_info;
 
+/*
+ * protocol tests
+ */
+static inline unsigned int ata_prot_flags(u8 prot)
+{
+       switch (prot) {
+       case ATA_PROT_NODATA:
+               return 0;
+       case ATA_PROT_PIO:
+               return ATA_PROT_FLAG_PIO;
+       case ATA_PROT_DMA:
+               return ATA_PROT_FLAG_DMA;
+       case ATA_PROT_NCQ:
+               return ATA_PROT_FLAG_DMA | ATA_PROT_FLAG_NCQ;
+       case ATAPI_PROT_NODATA:
+               return ATA_PROT_FLAG_ATAPI;
+       case ATAPI_PROT_PIO:
+               return ATA_PROT_FLAG_ATAPI | ATA_PROT_FLAG_PIO;
+       case ATAPI_PROT_DMA:
+               return ATA_PROT_FLAG_ATAPI | ATA_PROT_FLAG_DMA;
+       }
+       return 0;
+}
+
+static inline int ata_is_atapi(u8 prot)
+{
+       return ata_prot_flags(prot) & ATA_PROT_FLAG_ATAPI;
+}
+
+static inline int ata_is_nodata(u8 prot)
+{
+       return !(ata_prot_flags(prot) & ATA_PROT_FLAG_DATA);
+}
+
+static inline int ata_is_pio(u8 prot)
+{
+       return ata_prot_flags(prot) & ATA_PROT_FLAG_PIO;
+}
+
+static inline int ata_is_dma(u8 prot)
+{
+       return ata_prot_flags(prot) & ATA_PROT_FLAG_DMA;
+}
+
+static inline int ata_is_ncq(u8 prot)
+{
+       return ata_prot_flags(prot) & ATA_PROT_FLAG_NCQ;
+}
+
+static inline int ata_is_data(u8 prot)
+{
+       return ata_prot_flags(prot) & ATA_PROT_FLAG_DATA;
+}
+
+static inline int is_multi_taskfile(struct ata_taskfile *tf)
+{
+       return (tf->command == ATA_CMD_READ_MULTI) ||
+              (tf->command == ATA_CMD_WRITE_MULTI) ||
+              (tf->command == ATA_CMD_READ_MULTI_EXT) ||
+              (tf->command == ATA_CMD_WRITE_MULTI_EXT) ||
+              (tf->command == ATA_CMD_WRITE_MULTI_FUA_EXT);
+}
+
 static inline const unsigned long *
 sata_ehc_deb_timing(struct ata_eh_context *ehc)
 {