aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/ata_platform.h
diff options
context:
space:
mode:
authorAkinobu Mita <akinobu.mita@gmail.com>2015-01-29 08:30:30 +0900
committerTejun Heo <tj@kernel.org>2015-01-28 18:45:23 -0500
commit17263905399471016cda6c1975044d14291c5ba5 (patch)
tree4ba57184e91e25a23d63519930fd0154e0c8dd2a /include/linux/ata_platform.h
parentata: ahci_platform: fix owner module reference mismatch for scsi host (diff)
downloadlinux-dev-17263905399471016cda6c1975044d14291c5ba5.tar.xz
linux-dev-17263905399471016cda6c1975044d14291c5ba5.zip
ata: pata_platform: fix owner module reference mismatch for scsi host
The owner module reference of the pata_of_platform's scsi_host is initialized to pata_platform's one, because pata_of_platform driver use a scsi_host_template defined in pata_platform. So this drivers can be unloaded even if the scsi device is being accessed. This fixes it by propagating the scsi_host_template to pata_of_platform driver. The scsi_host_template is passed through a new argument of __pata_platform_probe(). Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Signed-off-by: Tejun Heo <tj@kernel.org> Cc: Hans de Goede <hdegoede@redhat.com> Cc: Christoph Hellwig <hch@lst.de> Cc: "James E.J. Bottomley" <JBottomley@parallels.com> Cc: linux-ide@vger.kernel.org Cc: linux-scsi@vger.kernel.org
Diffstat (limited to 'include/linux/ata_platform.h')
-rw-r--r--include/linux/ata_platform.h5
1 files changed, 4 insertions, 1 deletions
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 {
unsigned int ioport_shift;
};
+struct scsi_host_template;
+
extern int __pata_platform_probe(struct device *dev,
struct resource *io_res,
struct resource *ctl_res,
struct resource *irq_res,
unsigned int ioport_shift,
- int __pio_mask);
+ int __pio_mask,
+ struct scsi_host_template *sht);
/*
* Marvell SATA private data