libata: PATA driver for Celleb
This is the patch for PATA controller of Celleb. This driver uses the managed iomap (devres). Because this driver needs special taskfile accesses, there is a copy of ata_std_softreset(). ata_dev_try_classify() is exported so that it can be used in this function. Signed-off-by: Kou Ishizaki <kou.ishizaki@toshiba.co.jp> Signed-off-by: Akira Iguchi <akira2.iguchi@toshiba.co.jp> Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
parent
c8f71b01a5
commit
a619f981b4
@ -562,6 +562,15 @@ config PATA_IXP4XX_CF
|
|||||||
|
|
||||||
If unsure, say N.
|
If unsure, say N.
|
||||||
|
|
||||||
|
config PATA_SCC
|
||||||
|
tristate "Toshiba's Cell Reference Set IDE support"
|
||||||
|
depends on PCI
|
||||||
|
help
|
||||||
|
This option enables support for the built-in IDE controller on
|
||||||
|
Toshiba Cell Reference Board.
|
||||||
|
|
||||||
|
If unsure, say N.
|
||||||
|
|
||||||
endif
|
endif
|
||||||
endmenu
|
endmenu
|
||||||
|
|
||||||
|
@ -59,6 +59,7 @@ obj-$(CONFIG_PATA_WINBOND_VLB) += pata_winbond.o
|
|||||||
obj-$(CONFIG_PATA_SIS) += pata_sis.o
|
obj-$(CONFIG_PATA_SIS) += pata_sis.o
|
||||||
obj-$(CONFIG_PATA_TRIFLEX) += pata_triflex.o
|
obj-$(CONFIG_PATA_TRIFLEX) += pata_triflex.o
|
||||||
obj-$(CONFIG_PATA_IXP4XX_CF) += pata_ixp4xx_cf.o
|
obj-$(CONFIG_PATA_IXP4XX_CF) += pata_ixp4xx_cf.o
|
||||||
|
obj-$(CONFIG_PATA_SCC) += pata_scc.o
|
||||||
obj-$(CONFIG_PATA_PLATFORM) += pata_platform.o
|
obj-$(CONFIG_PATA_PLATFORM) += pata_platform.o
|
||||||
# Should be last but one libata driver
|
# Should be last but one libata driver
|
||||||
obj-$(CONFIG_ATA_GENERIC) += ata_generic.o
|
obj-$(CONFIG_ATA_GENERIC) += ata_generic.o
|
||||||
|
@ -708,7 +708,7 @@ unsigned int ata_dev_classify(const struct ata_taskfile *tf)
|
|||||||
* Device type - %ATA_DEV_ATA, %ATA_DEV_ATAPI or %ATA_DEV_NONE.
|
* Device type - %ATA_DEV_ATA, %ATA_DEV_ATAPI or %ATA_DEV_NONE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static unsigned int
|
unsigned int
|
||||||
ata_dev_try_classify(struct ata_port *ap, unsigned int device, u8 *r_err)
|
ata_dev_try_classify(struct ata_port *ap, unsigned int device, u8 *r_err)
|
||||||
{
|
{
|
||||||
struct ata_taskfile tf;
|
struct ata_taskfile tf;
|
||||||
@ -6311,3 +6311,4 @@ EXPORT_SYMBOL_GPL(ata_irq_on);
|
|||||||
EXPORT_SYMBOL_GPL(ata_dummy_irq_on);
|
EXPORT_SYMBOL_GPL(ata_dummy_irq_on);
|
||||||
EXPORT_SYMBOL_GPL(ata_irq_ack);
|
EXPORT_SYMBOL_GPL(ata_irq_ack);
|
||||||
EXPORT_SYMBOL_GPL(ata_dummy_irq_ack);
|
EXPORT_SYMBOL_GPL(ata_dummy_irq_ack);
|
||||||
|
EXPORT_SYMBOL_GPL(ata_dev_try_classify);
|
||||||
|
1228
drivers/ata/pata_scc.c
Normal file
1228
drivers/ata/pata_scc.c
Normal file
File diff suppressed because it is too large
Load Diff
@ -759,6 +759,7 @@ extern void ata_port_queue_task(struct ata_port *ap, work_func_t fn,
|
|||||||
extern u32 ata_wait_register(void __iomem *reg, u32 mask, u32 val,
|
extern u32 ata_wait_register(void __iomem *reg, u32 mask, u32 val,
|
||||||
unsigned long interval_msec,
|
unsigned long interval_msec,
|
||||||
unsigned long timeout_msec);
|
unsigned long timeout_msec);
|
||||||
|
extern unsigned int ata_dev_try_classify(struct ata_port *, unsigned int, u8 *);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Default driver ops implementations
|
* Default driver ops implementations
|
||||||
|
Loading…
x
Reference in New Issue
Block a user