ahci: fix module refcount breakage introduced by libahci split
authorTejun Heo <htejun@gmail.com>
Tue, 21 Sep 2010 07:25:48 +0000 (09:25 +0200)
committerJeff Garzik <jgarzik@redhat.com>
Tue, 28 Sep 2010 19:14:51 +0000 (15:14 -0400)
commitfad16e7a7f67eef8d33f8ad58850db89382b09ce
tree09afb3e939cd4cc85e6aec76965c16fcc03c5798
parent050026feae5bd4fe2db4096b63b15abce7c47faa
ahci: fix module refcount breakage introduced by libahci split

libata depends on scsi_host_template for module reference counting and
sht's should be owned by each low level driver.  During libahci split,
the sht was left with libahci.ko leaving the actual low level drivers
not reference counted.  This made ahci and ahci_platform always
unloadable even while they're being actively used.

Fix it by defining AHCI_SHT() macro in ahci.h and defining a sht for
each low level ahci driver.

stable: only applicable to 2.6.35.

Signed-off-by: Tejun Heo <tj@kernel.org>
Reported-by: Pedro Francisco <pedrogfrancisco@gmail.com>
Tested-by: Michael Tokarev <mjt@tls.msk.ru>
Cc: stable@kernel.org
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
drivers/ata/ahci.c
drivers/ata/ahci.h
drivers/ata/ahci_platform.c
drivers/ata/libahci.c