diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-01-26 14:13:06 -0500 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-01-26 14:13:06 -0500 |
commit | 8ac4ce742c66100931b6f2d7a36b0df08bc721fe (patch) | |
tree | bc44edb8d6ec9057d24aa4c986729e1ca9f3f860 /drivers/ide/cris/ide-cris.c | |
parent | ac87e41116c229fc1efaac0d17fdbfb2185e4629 (diff) |
ide: fix host drivers depending on ide_generic to probe for interfaces (take 2)
* Add mpc8xx_ide_probe() to mpc8xx.c and call it from probe_for_hwifs().
* Convert ide_arm, ide-cris, ide-h8300, ide-pnp, buddha, falconide, gayle,
macide, q40ide, cmd640 and mpc8xx host drivers to use ide_device_add().
This removes dependency on ide_generic for these drivers so update
ide/Kconfig accordingly.
v2:
* ide_arm build fix (s/ide_device_idx/ide_device_add/)
(Thanks to Christoph Lameter <clameter@sgi.com> for reporting the problem).
Cc: Mikael Starvik <starvik@axis.com>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide/cris/ide-cris.c')
-rw-r--r-- | drivers/ide/cris/ide-cris.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/ide/cris/ide-cris.c b/drivers/ide/cris/ide-cris.c index 7e33e2b42e92..924536297036 100644 --- a/drivers/ide/cris/ide-cris.c +++ b/drivers/ide/cris/ide-cris.c | |||
@@ -758,9 +758,8 @@ void __init | |||
758 | init_e100_ide (void) | 758 | init_e100_ide (void) |
759 | { | 759 | { |
760 | hw_regs_t hw; | 760 | hw_regs_t hw; |
761 | int ide_offsets[IDE_NR_PORTS]; | 761 | int ide_offsets[IDE_NR_PORTS], h, i; |
762 | int h; | 762 | u8 idx[4] = { 0xff, 0xff, 0xff, 0xff }; |
763 | int i; | ||
764 | 763 | ||
765 | printk("ide: ETRAX FS built-in ATA DMA controller\n"); | 764 | printk("ide: ETRAX FS built-in ATA DMA controller\n"); |
766 | 765 | ||
@@ -808,6 +807,8 @@ init_e100_ide (void) | |||
808 | hwif->drives[1].autotune = 1; | 807 | hwif->drives[1].autotune = 1; |
809 | hwif->ultra_mask = cris_ultra_mask; | 808 | hwif->ultra_mask = cris_ultra_mask; |
810 | hwif->mwdma_mask = 0x07; /* Multiword DMA 0-2 */ | 809 | hwif->mwdma_mask = 0x07; /* Multiword DMA 0-2 */ |
810 | |||
811 | idx[h] = hwif->index; | ||
811 | } | 812 | } |
812 | 813 | ||
813 | /* Reset pulse */ | 814 | /* Reset pulse */ |
@@ -820,6 +821,8 @@ init_e100_ide (void) | |||
820 | cris_ide_set_speed(TYPE_PIO, ATA_PIO4_SETUP, ATA_PIO4_STROBE, ATA_PIO4_HOLD); | 821 | cris_ide_set_speed(TYPE_PIO, ATA_PIO4_SETUP, ATA_PIO4_STROBE, ATA_PIO4_HOLD); |
821 | cris_ide_set_speed(TYPE_DMA, 0, ATA_DMA2_STROBE, ATA_DMA2_HOLD); | 822 | cris_ide_set_speed(TYPE_DMA, 0, ATA_DMA2_STROBE, ATA_DMA2_HOLD); |
822 | cris_ide_set_speed(TYPE_UDMA, ATA_UDMA2_CYC, ATA_UDMA2_DVS, 0); | 823 | cris_ide_set_speed(TYPE_UDMA, ATA_UDMA2_CYC, ATA_UDMA2_DVS, 0); |
824 | |||
825 | ide_device_add(idx); | ||
823 | } | 826 | } |
824 | 827 | ||
825 | static cris_dma_descr_type mydescr __attribute__ ((__aligned__(16))); | 828 | static cris_dma_descr_type mydescr __attribute__ ((__aligned__(16))); |