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>
This commit is contained in:
parent
ac87e41116
commit
8ac4ce742c
|
@ -327,7 +327,6 @@ config BLK_DEV_PLATFORM
|
||||||
config BLK_DEV_CMD640
|
config BLK_DEV_CMD640
|
||||||
bool "CMD640 chipset bugfix/support"
|
bool "CMD640 chipset bugfix/support"
|
||||||
depends on X86
|
depends on X86
|
||||||
select IDE_GENERIC
|
|
||||||
---help---
|
---help---
|
||||||
The CMD-Technologies CMD640 IDE chip is used on many common 486 and
|
The CMD-Technologies CMD640 IDE chip is used on many common 486 and
|
||||||
Pentium motherboards, usually in combination with a "Neptune" or
|
Pentium motherboards, usually in combination with a "Neptune" or
|
||||||
|
@ -362,7 +361,6 @@ config BLK_DEV_CMD640_ENHANCED
|
||||||
config BLK_DEV_IDEPNP
|
config BLK_DEV_IDEPNP
|
||||||
bool "PNP EIDE support"
|
bool "PNP EIDE support"
|
||||||
depends on PNP
|
depends on PNP
|
||||||
select IDE_GENERIC
|
|
||||||
help
|
help
|
||||||
If you have a PnP (Plug and Play) compatible EIDE card and
|
If you have a PnP (Plug and Play) compatible EIDE card and
|
||||||
would like the kernel to automatically detect and activate
|
would like the kernel to automatically detect and activate
|
||||||
|
@ -845,7 +843,6 @@ config BLK_DEV_IDE_AU1XXX_SEQTS_PER_RQ
|
||||||
|
|
||||||
config IDE_ARM
|
config IDE_ARM
|
||||||
def_bool ARM && (ARCH_CLPS7500 || ARCH_RPC || ARCH_SHARK)
|
def_bool ARM && (ARCH_CLPS7500 || ARCH_RPC || ARCH_SHARK)
|
||||||
select IDE_GENERIC
|
|
||||||
|
|
||||||
config BLK_DEV_IDE_ICSIDE
|
config BLK_DEV_IDE_ICSIDE
|
||||||
tristate "ICS IDE interface support"
|
tristate "ICS IDE interface support"
|
||||||
|
@ -880,7 +877,6 @@ config ETRAX_IDE
|
||||||
bool "ETRAX IDE support"
|
bool "ETRAX IDE support"
|
||||||
depends on CRIS && BROKEN
|
depends on CRIS && BROKEN
|
||||||
select BLK_DEV_IDEDMA
|
select BLK_DEV_IDEDMA
|
||||||
select IDE_GENERIC
|
|
||||||
help
|
help
|
||||||
Enables the ETRAX IDE driver.
|
Enables the ETRAX IDE driver.
|
||||||
|
|
||||||
|
@ -914,7 +910,6 @@ endchoice
|
||||||
config IDE_H8300
|
config IDE_H8300
|
||||||
bool "H8300 IDE support"
|
bool "H8300 IDE support"
|
||||||
depends on H8300
|
depends on H8300
|
||||||
select IDE_GENERIC
|
|
||||||
default y
|
default y
|
||||||
help
|
help
|
||||||
Enables the H8300 IDE driver.
|
Enables the H8300 IDE driver.
|
||||||
|
@ -922,7 +917,6 @@ config IDE_H8300
|
||||||
config BLK_DEV_GAYLE
|
config BLK_DEV_GAYLE
|
||||||
bool "Amiga Gayle IDE interface support"
|
bool "Amiga Gayle IDE interface support"
|
||||||
depends on AMIGA
|
depends on AMIGA
|
||||||
select IDE_GENERIC
|
|
||||||
help
|
help
|
||||||
This is the IDE driver for the Amiga Gayle IDE interface. It supports
|
This is the IDE driver for the Amiga Gayle IDE interface. It supports
|
||||||
both the `A1200 style' and `A4000 style' of the Gayle IDE interface,
|
both the `A1200 style' and `A4000 style' of the Gayle IDE interface,
|
||||||
|
@ -954,7 +948,6 @@ config BLK_DEV_IDEDOUBLER
|
||||||
config BLK_DEV_BUDDHA
|
config BLK_DEV_BUDDHA
|
||||||
bool "Buddha/Catweasel/X-Surf IDE interface support (EXPERIMENTAL)"
|
bool "Buddha/Catweasel/X-Surf IDE interface support (EXPERIMENTAL)"
|
||||||
depends on ZORRO && EXPERIMENTAL
|
depends on ZORRO && EXPERIMENTAL
|
||||||
select IDE_GENERIC
|
|
||||||
help
|
help
|
||||||
This is the IDE driver for the IDE interfaces on the Buddha,
|
This is the IDE driver for the IDE interfaces on the Buddha,
|
||||||
Catweasel and X-Surf expansion boards. It supports up to two interfaces
|
Catweasel and X-Surf expansion boards. It supports up to two interfaces
|
||||||
|
@ -967,7 +960,6 @@ config BLK_DEV_BUDDHA
|
||||||
config BLK_DEV_FALCON_IDE
|
config BLK_DEV_FALCON_IDE
|
||||||
bool "Falcon IDE interface support"
|
bool "Falcon IDE interface support"
|
||||||
depends on ATARI
|
depends on ATARI
|
||||||
select IDE_GENERIC
|
|
||||||
help
|
help
|
||||||
This is the IDE driver for the builtin IDE interface on the Atari
|
This is the IDE driver for the builtin IDE interface on the Atari
|
||||||
Falcon. Say Y if you have a Falcon and want to use IDE devices (hard
|
Falcon. Say Y if you have a Falcon and want to use IDE devices (hard
|
||||||
|
@ -977,7 +969,6 @@ config BLK_DEV_FALCON_IDE
|
||||||
config BLK_DEV_MAC_IDE
|
config BLK_DEV_MAC_IDE
|
||||||
bool "Macintosh Quadra/Powerbook IDE interface support"
|
bool "Macintosh Quadra/Powerbook IDE interface support"
|
||||||
depends on MAC
|
depends on MAC
|
||||||
select IDE_GENERIC
|
|
||||||
help
|
help
|
||||||
This is the IDE driver for the builtin IDE interface on some m68k
|
This is the IDE driver for the builtin IDE interface on some m68k
|
||||||
Macintosh models. It supports both the `Quadra style' (used in
|
Macintosh models. It supports both the `Quadra style' (used in
|
||||||
|
@ -991,7 +982,6 @@ config BLK_DEV_MAC_IDE
|
||||||
config BLK_DEV_Q40IDE
|
config BLK_DEV_Q40IDE
|
||||||
bool "Q40/Q60 IDE interface support"
|
bool "Q40/Q60 IDE interface support"
|
||||||
depends on Q40
|
depends on Q40
|
||||||
select IDE_GENERIC
|
|
||||||
help
|
help
|
||||||
Enable the on-board IDE controller in the Q40/Q60. This should
|
Enable the on-board IDE controller in the Q40/Q60. This should
|
||||||
normally be on; disable it only if you are running a custom hard
|
normally be on; disable it only if you are running a custom hard
|
||||||
|
@ -1000,7 +990,6 @@ config BLK_DEV_Q40IDE
|
||||||
config BLK_DEV_MPC8xx_IDE
|
config BLK_DEV_MPC8xx_IDE
|
||||||
bool "MPC8xx IDE support"
|
bool "MPC8xx IDE support"
|
||||||
depends on 8xx && (LWMON || IVMS8 || IVML24 || TQM8xxL) && IDE=y && BLK_DEV_IDE=y && !PPC_MERGE
|
depends on 8xx && (LWMON || IVMS8 || IVML24 || TQM8xxL) && IDE=y && BLK_DEV_IDE=y && !PPC_MERGE
|
||||||
select IDE_GENERIC
|
|
||||||
help
|
help
|
||||||
This option provides support for IDE on Motorola MPC8xx Systems.
|
This option provides support for IDE on Motorola MPC8xx Systems.
|
||||||
Please see 'Type of MPC8xx IDE interface' for details.
|
Please see 'Type of MPC8xx IDE interface' for details.
|
||||||
|
|
|
@ -28,6 +28,7 @@ void __init ide_arm_init(void)
|
||||||
{
|
{
|
||||||
ide_hwif_t *hwif;
|
ide_hwif_t *hwif;
|
||||||
hw_regs_t hw;
|
hw_regs_t hw;
|
||||||
|
u8 idx[4] = { 0xff, 0xff, 0xff, 0xff };
|
||||||
|
|
||||||
memset(&hw, 0, sizeof(hw));
|
memset(&hw, 0, sizeof(hw));
|
||||||
ide_std_init_ports(&hw, IDE_ARM_IO, IDE_ARM_IO + 0x206);
|
ide_std_init_ports(&hw, IDE_ARM_IO, IDE_ARM_IO + 0x206);
|
||||||
|
@ -36,5 +37,8 @@ void __init ide_arm_init(void)
|
||||||
hwif = ide_find_port(hw.io_ports[IDE_DATA_OFFSET]);
|
hwif = ide_find_port(hw.io_ports[IDE_DATA_OFFSET]);
|
||||||
if (hwif) {
|
if (hwif) {
|
||||||
ide_init_port_hw(hwif, &hw);
|
ide_init_port_hw(hwif, &hw);
|
||||||
|
idx[0] = hwif->index;
|
||||||
|
|
||||||
|
ide_device_add(idx);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -758,9 +758,8 @@ void __init
|
||||||
init_e100_ide (void)
|
init_e100_ide (void)
|
||||||
{
|
{
|
||||||
hw_regs_t hw;
|
hw_regs_t hw;
|
||||||
int ide_offsets[IDE_NR_PORTS];
|
int ide_offsets[IDE_NR_PORTS], h, i;
|
||||||
int h;
|
u8 idx[4] = { 0xff, 0xff, 0xff, 0xff };
|
||||||
int i;
|
|
||||||
|
|
||||||
printk("ide: ETRAX FS built-in ATA DMA controller\n");
|
printk("ide: ETRAX FS built-in ATA DMA controller\n");
|
||||||
|
|
||||||
|
@ -808,6 +807,8 @@ init_e100_ide (void)
|
||||||
hwif->drives[1].autotune = 1;
|
hwif->drives[1].autotune = 1;
|
||||||
hwif->ultra_mask = cris_ultra_mask;
|
hwif->ultra_mask = cris_ultra_mask;
|
||||||
hwif->mwdma_mask = 0x07; /* Multiword DMA 0-2 */
|
hwif->mwdma_mask = 0x07; /* Multiword DMA 0-2 */
|
||||||
|
|
||||||
|
idx[h] = hwif->index;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Reset pulse */
|
/* 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_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_DMA, 0, ATA_DMA2_STROBE, ATA_DMA2_HOLD);
|
||||||
cris_ide_set_speed(TYPE_UDMA, ATA_UDMA2_CYC, ATA_UDMA2_DVS, 0);
|
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)));
|
static cris_dma_descr_type mydescr __attribute__ ((__aligned__(16)));
|
||||||
|
|
|
@ -89,6 +89,7 @@ void __init h8300_ide_init(void)
|
||||||
hw_regs_t hw;
|
hw_regs_t hw;
|
||||||
ide_hwif_t *hwif;
|
ide_hwif_t *hwif;
|
||||||
int index;
|
int index;
|
||||||
|
u8 idx[4] = { 0xff, 0xff, 0xff, 0xff };
|
||||||
|
|
||||||
if (!request_region(CONFIG_H8300_IDE_BASE, H8300_IDE_GAP*8, "ide-h8300"))
|
if (!request_region(CONFIG_H8300_IDE_BASE, H8300_IDE_GAP*8, "ide-h8300"))
|
||||||
goto out_busy;
|
goto out_busy;
|
||||||
|
@ -111,6 +112,11 @@ void __init h8300_ide_init(void)
|
||||||
ide_init_port_hw(hwif, &hw);
|
ide_init_port_hw(hwif, &hw);
|
||||||
hwif_setup(hwif);
|
hwif_setup(hwif);
|
||||||
printk(KERN_INFO "ide%d: H8/300 generic IDE interface\n", index);
|
printk(KERN_INFO "ide%d: H8/300 generic IDE interface\n", index);
|
||||||
|
|
||||||
|
idx[0] = index;
|
||||||
|
|
||||||
|
ide_device_add(idx);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
out_busy:
|
out_busy:
|
||||||
|
|
|
@ -43,12 +43,16 @@ static int idepnp_probe(struct pnp_dev * dev, const struct pnp_device_id *dev_id
|
||||||
hwif = ide_find_port(hw.io_ports[IDE_DATA_OFFSET]);
|
hwif = ide_find_port(hw.io_ports[IDE_DATA_OFFSET]);
|
||||||
if (hwif) {
|
if (hwif) {
|
||||||
u8 index = hwif->index;
|
u8 index = hwif->index;
|
||||||
|
u8 idx[4] = { index, 0xff, 0xff, 0xff };
|
||||||
|
|
||||||
ide_init_port_data(hwif, index);
|
ide_init_port_data(hwif, index);
|
||||||
ide_init_port_hw(hwif, &hw);
|
ide_init_port_hw(hwif, &hw);
|
||||||
|
|
||||||
printk(KERN_INFO "ide%d: generic PnP IDE interface\n", index);
|
printk(KERN_INFO "ide%d: generic PnP IDE interface\n", index);
|
||||||
pnp_set_drvdata(dev,hwif);
|
pnp_set_drvdata(dev,hwif);
|
||||||
|
|
||||||
|
ide_device_add(idx);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1555,6 +1555,7 @@ done:
|
||||||
extern void __init pnpide_init(void);
|
extern void __init pnpide_init(void);
|
||||||
extern void __exit pnpide_exit(void);
|
extern void __exit pnpide_exit(void);
|
||||||
extern void __init h8300_ide_init(void);
|
extern void __init h8300_ide_init(void);
|
||||||
|
extern void __init mpc8xx_ide_probe(void);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* probe_for_hwifs() finds/initializes "known" IDE interfaces
|
* probe_for_hwifs() finds/initializes "known" IDE interfaces
|
||||||
|
@ -1619,6 +1620,9 @@ static void __init probe_for_hwifs (void)
|
||||||
#ifdef CONFIG_H8300
|
#ifdef CONFIG_H8300
|
||||||
h8300_ide_init();
|
h8300_ide_init();
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef BLK_DEV_MPC8xx_IDE
|
||||||
|
mpc8xx_ide_probe();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -156,6 +156,8 @@ void __init buddha_init(void)
|
||||||
|
|
||||||
while ((z = zorro_find_device(ZORRO_WILDCARD, z))) {
|
while ((z = zorro_find_device(ZORRO_WILDCARD, z))) {
|
||||||
unsigned long board;
|
unsigned long board;
|
||||||
|
u8 idx[4] = { 0xff, 0xff, 0xff, 0xff };
|
||||||
|
|
||||||
if (z->id == ZORRO_PROD_INDIVIDUAL_COMPUTERS_BUDDHA) {
|
if (z->id == ZORRO_PROD_INDIVIDUAL_COMPUTERS_BUDDHA) {
|
||||||
buddha_num_hwifs = BUDDHA_NUM_HWIFS;
|
buddha_num_hwifs = BUDDHA_NUM_HWIFS;
|
||||||
type=BOARD_BUDDHA;
|
type=BOARD_BUDDHA;
|
||||||
|
@ -233,8 +235,12 @@ fail_base2:
|
||||||
printk("X-Surf");
|
printk("X-Surf");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
printk(" IDE interface\n");
|
printk(" IDE interface\n");
|
||||||
}
|
|
||||||
|
idx[i] = index;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ide_device_add(idx);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -75,10 +75,13 @@ void __init falconide_init(void)
|
||||||
hwif = ide_find_port(hw.io_ports[IDE_DATA_OFFSET]);
|
hwif = ide_find_port(hw.io_ports[IDE_DATA_OFFSET]);
|
||||||
if (hwif) {
|
if (hwif) {
|
||||||
u8 index = hwif->index;
|
u8 index = hwif->index;
|
||||||
|
u8 idx[4] = { index, 0xff, 0xff, 0xff };
|
||||||
|
|
||||||
ide_init_port_data(hwif, index);
|
ide_init_port_data(hwif, index);
|
||||||
ide_init_port_hw(hwif, &hw);
|
ide_init_port_hw(hwif, &hw);
|
||||||
|
|
||||||
printk("ide%d: Falcon IDE interface\n", index);
|
printk("ide%d: Falcon IDE interface\n", index);
|
||||||
|
|
||||||
|
ide_device_add(idx);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -113,6 +113,7 @@ static int gayle_ack_intr_a1200(ide_hwif_t *hwif)
|
||||||
void __init gayle_init(void)
|
void __init gayle_init(void)
|
||||||
{
|
{
|
||||||
int a4000, i;
|
int a4000, i;
|
||||||
|
u8 idx[4] = { 0xff, 0xff, 0xff, 0xff };
|
||||||
|
|
||||||
if (!MACH_IS_AMIGA)
|
if (!MACH_IS_AMIGA)
|
||||||
return;
|
return;
|
||||||
|
@ -183,7 +184,11 @@ found:
|
||||||
break;
|
break;
|
||||||
#endif /* CONFIG_BLK_DEV_IDEDOUBLER */
|
#endif /* CONFIG_BLK_DEV_IDEDOUBLER */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
idx[i] = index;
|
||||||
} else
|
} else
|
||||||
release_mem_region(res_start, res_n);
|
release_mem_region(res_start, res_n);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ide_device_add(idx);
|
||||||
}
|
}
|
||||||
|
|
|
@ -112,6 +112,7 @@ void __init macide_init(void)
|
||||||
hwif = ide_find_port(hw.io_ports[IDE_DATA_OFFSET]);
|
hwif = ide_find_port(hw.io_ports[IDE_DATA_OFFSET]);
|
||||||
if (hwif) {
|
if (hwif) {
|
||||||
u8 index = hwif->index;
|
u8 index = hwif->index;
|
||||||
|
u8 idx[4] = { index, 0xff, 0xff, 0xff };
|
||||||
|
|
||||||
ide_init_port_data(hwif, index);
|
ide_init_port_data(hwif, index);
|
||||||
ide_init_port_hw(hwif, &hw);
|
ide_init_port_hw(hwif, &hw);
|
||||||
|
@ -135,5 +136,7 @@ void __init macide_init(void)
|
||||||
printk(KERN_INFO "ide%d: Macintosh Powerbook Baboon IDE interface\n", index);
|
printk(KERN_INFO "ide%d: Macintosh Powerbook Baboon IDE interface\n", index);
|
||||||
else
|
else
|
||||||
printk(KERN_INFO "ide%d: Unknown Macintosh IDE interface\n", index);
|
printk(KERN_INFO "ide%d: Unknown Macintosh IDE interface\n", index);
|
||||||
|
|
||||||
|
ide_device_add(idx);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -116,6 +116,7 @@ void __init q40ide_init(void)
|
||||||
int i;
|
int i;
|
||||||
ide_hwif_t *hwif;
|
ide_hwif_t *hwif;
|
||||||
const char *name;
|
const char *name;
|
||||||
|
u8 idx[4] = { 0xff, 0xff, 0xff, 0xff };
|
||||||
|
|
||||||
if (!MACH_IS_Q40)
|
if (!MACH_IS_Q40)
|
||||||
return ;
|
return ;
|
||||||
|
@ -146,7 +147,11 @@ void __init q40ide_init(void)
|
||||||
ide_init_port_data(hwif, hwif->index);
|
ide_init_port_data(hwif, hwif->index);
|
||||||
ide_init_port_hw(hwif, &hw);
|
ide_init_port_hw(hwif, &hw);
|
||||||
hwif->mmio = 1;
|
hwif->mmio = 1;
|
||||||
|
|
||||||
|
idx[i] = hwif->index;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ide_device_add(idx);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -717,6 +717,7 @@ int __init ide_probe_for_cmd640x (void)
|
||||||
const char *bus_type, *port2;
|
const char *bus_type, *port2;
|
||||||
unsigned int index;
|
unsigned int index;
|
||||||
u8 b, cfr;
|
u8 b, cfr;
|
||||||
|
u8 idx[4] = { 0xff, 0xff, 0xff, 0xff };
|
||||||
|
|
||||||
if (cmd640_vlb && probe_for_cmd640_vlb()) {
|
if (cmd640_vlb && probe_for_cmd640_vlb()) {
|
||||||
bus_type = "VLB";
|
bus_type = "VLB";
|
||||||
|
@ -769,6 +770,8 @@ int __init ide_probe_for_cmd640x (void)
|
||||||
cmd_hwif0->set_pio_mode = &cmd640_set_pio_mode;
|
cmd_hwif0->set_pio_mode = &cmd640_set_pio_mode;
|
||||||
#endif /* CONFIG_BLK_DEV_CMD640_ENHANCED */
|
#endif /* CONFIG_BLK_DEV_CMD640_ENHANCED */
|
||||||
|
|
||||||
|
idx[0] = cmd_hwif0->index;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Ensure compatibility by always using the slowest timings
|
* Ensure compatibility by always using the slowest timings
|
||||||
* for access to the drive's command register block,
|
* for access to the drive's command register block,
|
||||||
|
@ -826,6 +829,8 @@ int __init ide_probe_for_cmd640x (void)
|
||||||
cmd_hwif1->pio_mask = ATA_PIO5;
|
cmd_hwif1->pio_mask = ATA_PIO5;
|
||||||
cmd_hwif1->set_pio_mode = &cmd640_set_pio_mode;
|
cmd_hwif1->set_pio_mode = &cmd640_set_pio_mode;
|
||||||
#endif /* CONFIG_BLK_DEV_CMD640_ENHANCED */
|
#endif /* CONFIG_BLK_DEV_CMD640_ENHANCED */
|
||||||
|
|
||||||
|
idx[1] = cmd_hwif1->index;
|
||||||
}
|
}
|
||||||
printk(KERN_INFO "%s: %sserialized, secondary interface %s\n", cmd_hwif1->name,
|
printk(KERN_INFO "%s: %sserialized, secondary interface %s\n", cmd_hwif1->name,
|
||||||
cmd_hwif0->serialized ? "" : "not ", port2);
|
cmd_hwif0->serialized ? "" : "not ", port2);
|
||||||
|
@ -872,6 +877,9 @@ int __init ide_probe_for_cmd640x (void)
|
||||||
#ifdef CMD640_DUMP_REGS
|
#ifdef CMD640_DUMP_REGS
|
||||||
cmd640_dump_regs();
|
cmd640_dump_regs();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
ide_device_add(idx);
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -838,3 +838,17 @@ void m8xx_ide_init(void)
|
||||||
ppc_ide_md.default_io_base = m8xx_ide_default_io_base;
|
ppc_ide_md.default_io_base = m8xx_ide_default_io_base;
|
||||||
ppc_ide_md.ide_init_hwif = m8xx_ide_init_hwif_ports;
|
ppc_ide_md.ide_init_hwif = m8xx_ide_init_hwif_ports;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void __init mpc8xx_ide_probe(void)
|
||||||
|
{
|
||||||
|
u8 idx[4] = { 0xff, 0xff, 0xff, 0xff };
|
||||||
|
|
||||||
|
#ifdef IDE0_BASE_OFFSET
|
||||||
|
idx[0] = 0;
|
||||||
|
#ifdef IDE1_BASE_OFFSET
|
||||||
|
idx[1] = 1;
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
ide_device_add(idx);
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue