I have the following controllers: 02:00.0 IDE interface: Marvell Technology Group Ltd. Unknown device 6101 (rev b1) 00:1f.2 SATA controller: Intel Corporation 82801HR/HO/HH (ICH8R/DO/DH) SATA AHCI Controller (rev 02) In 2.6.18-rc7, I was able to use the Marvell controller by building in generic IDE support and passing the boot flag "all-generic-ide". However, 2.6.19-rc1 no longer finds the Marvell controller, even with "all-generic-ide". (My SATA is in AHCI mode and works fine.) I used git-bisect to find the first change which broke it: ------------------------------------ a4bea10eca68152e84ffc4eaeb9d20ec2ac34664 is first bad commit commit a4bea10eca68152e84ffc4eaeb9d20ec2ac34664 Author: Patrick Jefferson <henj@hp.com> Date: Tue Oct 3 01:14:34 2006 -0700 [PATCH] Allow ide_generic_all to be used modular and built in Allow ide/pci/generic to claim chipsets as a a module or when built-in. It requires using "all_generic_ide" as a boot option. Signed-off-by: Patrick Jefferson <henj@hp.com> Acked-by: Alan Cox <alan@redhat.com> Closes-Bug: 7017 Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> :040000 040000 1abfa172e87b561e37b0e75e35f92f904e56f295 7981a26fab46d3359c147771 40eaa6086bad48c7 M drivers ------------------------------------ I have built in all my IDE and SATA support---I'm not using modules. After the change, I simply get this at bootup and in dmesg: Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2 ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx Probing IDE interface ide0... Probing IDE interface ide1... But it finds no devices. Before that change, it successfully finds my CDROM drive as hdb. (My apologies if I've missed something, this is my first kernel bug report.)
Does "all_generic_ide=1" work ?
Also, the driver output looks like it is coming from ide/ide-generic, not ide/pci/generic. I would guess ide/ide-generic is not finding anything because the Marvell does not use legacy addressing. Does a kernel with ide/ide-generic excluded work?
Alan - using "all-generic-ide" works on my good git-bisect tree and fails on 2.6.19-rc1. Using "all_generic_ide=1" fails on both. Patrick - I unset CONFIG_IDE_GENERIC in both trees and have the same results. I still have CONFIG_BLK_DEV_GENERIC=y - without it, my good tree doesn't find anything. These are my IDE configuration settings now (anything not mentioned is not set): CONFIG_IDE=y CONFIG_BLK_DEV_IDE=y CONFIG_BLK_DEV_IDEDISK=y CONFIG_BLK_DEV_IDECD=y # CONFIG_IDE_GENERIC is not set CONFIG_BLK_DEV_IDEPCI=y CONFIG_BLK_DEV_GENERIC=y CONFIG_BLK_DEV_IDEDMA_PCI=y CONFIG_IDEDMA_PCI_AUTO=y CONFIG_BLK_DEV_PIIX=y CONFIG_BLK_DEV_IDEDMA=y CONFIG_IDEDMA_AUTO=y
Sorry I meant "all-generic-ide=1" for the test
Booting with "generic.all_generic_ide=1" or "generic.all-generic-ide" works in 2.6.19-rc1 and rc2. Apparently I just needed to include the module name as part of the boot parameter. It doesn't work if I leave it off. It's probably because I compiled in the generic ATA driver too (which I probably don't need), which also has an "all-generic-ide" module option.