aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/ahci_platform.h6
-rw-r--r--include/linux/ata.h2
-rw-r--r--include/linux/ata_platform.h5
-rw-r--r--include/linux/libata.h6
4 files changed, 16 insertions, 3 deletions
diff --git a/include/linux/ahci_platform.h b/include/linux/ahci_platform.h
index 642d6ae4030c..a270f25ee7c7 100644
--- a/include/linux/ahci_platform.h
+++ b/include/linux/ahci_platform.h
@@ -21,16 +21,20 @@ struct device;
21struct ata_port_info; 21struct ata_port_info;
22struct ahci_host_priv; 22struct ahci_host_priv;
23struct platform_device; 23struct platform_device;
24struct scsi_host_template;
24 25
25int ahci_platform_enable_clks(struct ahci_host_priv *hpriv); 26int ahci_platform_enable_clks(struct ahci_host_priv *hpriv);
26void ahci_platform_disable_clks(struct ahci_host_priv *hpriv); 27void ahci_platform_disable_clks(struct ahci_host_priv *hpriv);
28int ahci_platform_enable_regulators(struct ahci_host_priv *hpriv);
29void ahci_platform_disable_regulators(struct ahci_host_priv *hpriv);
27int ahci_platform_enable_resources(struct ahci_host_priv *hpriv); 30int ahci_platform_enable_resources(struct ahci_host_priv *hpriv);
28void ahci_platform_disable_resources(struct ahci_host_priv *hpriv); 31void ahci_platform_disable_resources(struct ahci_host_priv *hpriv);
29struct ahci_host_priv *ahci_platform_get_resources( 32struct ahci_host_priv *ahci_platform_get_resources(
30 struct platform_device *pdev); 33 struct platform_device *pdev);
31int ahci_platform_init_host(struct platform_device *pdev, 34int ahci_platform_init_host(struct platform_device *pdev,
32 struct ahci_host_priv *hpriv, 35 struct ahci_host_priv *hpriv,
33 const struct ata_port_info *pi_template); 36 const struct ata_port_info *pi_template,
37 struct scsi_host_template *sht);
34 38
35int ahci_platform_suspend_host(struct device *dev); 39int ahci_platform_suspend_host(struct device *dev);
36int ahci_platform_resume_host(struct device *dev); 40int ahci_platform_resume_host(struct device *dev);
diff --git a/include/linux/ata.h b/include/linux/ata.h
index f2f4d8da97c0..1648026e06b4 100644
--- a/include/linux/ata.h
+++ b/include/linux/ata.h
@@ -503,7 +503,7 @@ struct ata_bmdma_prd {
503#define ata_id_has_dma(id) ((id)[ATA_ID_CAPABILITY] & (1 << 8)) 503#define ata_id_has_dma(id) ((id)[ATA_ID_CAPABILITY] & (1 << 8))
504#define ata_id_has_ncq(id) ((id)[ATA_ID_SATA_CAPABILITY] & (1 << 8)) 504#define ata_id_has_ncq(id) ((id)[ATA_ID_SATA_CAPABILITY] & (1 << 8))
505#define ata_id_queue_depth(id) (((id)[ATA_ID_QUEUE_DEPTH] & 0x1f) + 1) 505#define ata_id_queue_depth(id) (((id)[ATA_ID_QUEUE_DEPTH] & 0x1f) + 1)
506#define ata_id_removeable(id) ((id)[ATA_ID_CONFIG] & (1 << 7)) 506#define ata_id_removable(id) ((id)[ATA_ID_CONFIG] & (1 << 7))
507#define ata_id_has_atapi_AN(id) \ 507#define ata_id_has_atapi_AN(id) \
508 ((((id)[ATA_ID_SATA_CAPABILITY] != 0x0000) && \ 508 ((((id)[ATA_ID_SATA_CAPABILITY] != 0x0000) && \
509 ((id)[ATA_ID_SATA_CAPABILITY] != 0xffff)) && \ 509 ((id)[ATA_ID_SATA_CAPABILITY] != 0xffff)) && \
diff --git a/include/linux/ata_platform.h b/include/linux/ata_platform.h
index 5c618a084225..619d9e78e644 100644
--- a/include/linux/ata_platform.h
+++ b/include/linux/ata_platform.h
@@ -10,12 +10,15 @@ struct pata_platform_info {
10 unsigned int ioport_shift; 10 unsigned int ioport_shift;
11}; 11};
12 12
13struct scsi_host_template;
14
13extern int __pata_platform_probe(struct device *dev, 15extern int __pata_platform_probe(struct device *dev,
14 struct resource *io_res, 16 struct resource *io_res,
15 struct resource *ctl_res, 17 struct resource *ctl_res,
16 struct resource *irq_res, 18 struct resource *irq_res,
17 unsigned int ioport_shift, 19 unsigned int ioport_shift,
18 int __pio_mask); 20 int __pio_mask,
21 struct scsi_host_template *sht);
19 22
20/* 23/*
21 * Marvell SATA private data 24 * Marvell SATA private data
diff --git a/include/linux/libata.h b/include/linux/libata.h
index 91f705de2c0b..61df823ac86a 100644
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
@@ -1340,6 +1340,12 @@ extern const struct ata_port_operations ata_base_port_ops;
1340extern const struct ata_port_operations sata_port_ops; 1340extern const struct ata_port_operations sata_port_ops;
1341extern struct device_attribute *ata_common_sdev_attrs[]; 1341extern struct device_attribute *ata_common_sdev_attrs[];
1342 1342
1343/*
1344 * All sht initializers (BASE, PIO, BMDMA, NCQ) must be instantiated
1345 * by the edge drivers. Because the 'module' field of sht must be the
1346 * edge driver's module reference, otherwise the driver can be unloaded
1347 * even if the scsi_device is being accessed.
1348 */
1343#define ATA_BASE_SHT(drv_name) \ 1349#define ATA_BASE_SHT(drv_name) \
1344 .module = THIS_MODULE, \ 1350 .module = THIS_MODULE, \
1345 .name = drv_name, \ 1351 .name = drv_name, \