diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-01-26 20:13:06 +0100 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-01-26 20:13:06 +0100 |
commit | 8ac4ce742c66100931b6f2d7a36b0df08bc721fe (patch) | |
tree | bc44edb8d6ec9057d24aa4c986729e1ca9f3f860 /drivers/ide/cris/ide-cris.c | |
parent | ac87e41116c229fc1efaac0d17fdbfb2185e4629 (diff) | |
download | kernel_samsung_smdk4412-8ac4ce742c66100931b6f2d7a36b0df08bc721fe.zip kernel_samsung_smdk4412-8ac4ce742c66100931b6f2d7a36b0df08bc721fe.tar.gz kernel_samsung_smdk4412-8ac4ce742c66100931b6f2d7a36b0df08bc721fe.tar.bz2 |
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 7e33e2b..9245362 100644 --- a/drivers/ide/cris/ide-cris.c +++ b/drivers/ide/cris/ide-cris.c @@ -758,9 +758,8 @@ void __init init_e100_ide (void) { hw_regs_t hw; - int ide_offsets[IDE_NR_PORTS]; - int h; - int i; + int ide_offsets[IDE_NR_PORTS], h, i; + u8 idx[4] = { 0xff, 0xff, 0xff, 0xff }; printk("ide: ETRAX FS built-in ATA DMA controller\n"); @@ -808,6 +807,8 @@ init_e100_ide (void) hwif->drives[1].autotune = 1; hwif->ultra_mask = cris_ultra_mask; hwif->mwdma_mask = 0x07; /* Multiword DMA 0-2 */ + + idx[h] = hwif->index; } /* Reset pulse */ @@ -820,6 +821,8 @@ init_e100_ide (void) cris_ide_set_speed(TYPE_PIO, ATA_PIO4_SETUP, ATA_PIO4_STROBE, ATA_PIO4_HOLD); cris_ide_set_speed(TYPE_DMA, 0, ATA_DMA2_STROBE, ATA_DMA2_HOLD); cris_ide_set_speed(TYPE_UDMA, ATA_UDMA2_CYC, ATA_UDMA2_DVS, 0); + + ide_device_add(idx); } static cris_dma_descr_type mydescr __attribute__ ((__aligned__(16))); |