Re: PPC32 - No IDE/ATA devices on new PowerBook
flat view
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2005-10-29 00:02:52
Also in:
lkml
On Fri, 2005-10-28 at 19:24 -0400, Parag Warudkar wrote:
Thanks. I tried 2.4 kernel and to my surprise it detected the IDE/ATA controller! (Although it balked out with errors - read past the end of the device or something...).
2.4 used the device-tree exclusively for probing IDE on pmac, while 2.6 uses PCI probing when it's a PCI device. The device-tree method tend to work even when we don't have the PCI ID, but it's dangerous: the driver doesn't know the details of the timings for this chip revision etc... and thus may well do crap. I wouldn't try too much with 2.4. Can you try this patch ? If you don't have a way to build a patched kernel, you may find somebody on linuxppc-dev list who can do it for you. Index: linux-work/drivers/ide/ppc/pmac.c ===================================================================
--- linux-work.orig/drivers/ide/ppc/pmac.c 2005-09-22 14:06:32.000000000 +1000
+++ linux-work/drivers/ide/ppc/pmac.c 2005-10-29 10:00:03.000000000 +1000@@ -1664,11 +1664,16 @@ }; static struct pci_device_id pmac_ide_pci_match[] = { - { PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_UNI_N_ATA, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, - { PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_IPID_ATA100, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, - { PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_K2_ATA100, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, + { PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_UNI_N_ATA, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, + { PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_IPID_ATA100, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, + { PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_K2_ATA100, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, { PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_SH_ATA, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, + { PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_IPIDD2_ATA, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, }; static struct pci_driver pmac_ide_pci_driver = {
Index: linux-work/include/linux/pci_ids.h ===================================================================
--- linux-work.orig/include/linux/pci_ids.h 2005-10-06 09:59:14.000000000 +1000
+++ linux-work/include/linux/pci_ids.h 2005-10-29 09:59:06.000000000 +1000@@ -912,6 +912,7 @@ #define PCI_DEVICE_ID_APPLE_SH_FW 0x0052 #define PCI_DEVICE_ID_APPLE_U3L_AGP 0x0058 #define PCI_DEVICE_ID_APPLE_U3H_AGP 0x0059 +#define PCI_DEVICE_ID_APPLE_IPIDD2_ATA 0x0069 #define PCI_DEVICE_ID_APPLE_TIGON3 0x1645 #define PCI_VENDOR_ID_YAMAHA 0x1073