aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/cris/ide-cris.c
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2008-01-26 14:13:06 -0500
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2008-01-26 14:13:06 -0500
commit8ac4ce742c66100931b6f2d7a36b0df08bc721fe (patch)
treebc44edb8d6ec9057d24aa4c986729e1ca9f3f860 /drivers/ide/cris/ide-cris.c
parentac87e41116c229fc1efaac0d17fdbfb2185e4629 (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.c9
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
758init_e100_ide (void) 758init_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
825static cris_dma_descr_type mydescr __attribute__ ((__aligned__(16))); 828static cris_dma_descr_type mydescr __attribute__ ((__aligned__(16)));