On Fri, Aug 17, Olaf Hering wrote:

Still not 100% perfect.

> +             prom_printf("Fixing up IDE class-code on Pegasos...\n");
> +             rc = prom_getprop(ph, "class-code", prop, sizeof(u32));
> +             if (rc == sizeof(u32)) {
> +                     prop[0] &= ~0x5;
> +                     prom_setprop(ph, name, "class-code", prop, sizeof(u32));
> +             }

This updates the class code in the device-tree, but sysfs still shows
the old value.

> +     pci_read_config_byte(viaide, PCI_CLASS_PROG, &progif);
> +     pci_write_config_byte(viaide, PCI_CLASS_PROG, progif & ~0x5);

Is this a readonly register by any chance?
Appending a 'viaide->class &= ~0x5;' changes the code paths in
do_ide_setup_pci_device(), now IDE prints 'not 100%% native mode,
will probe irqs later'. Where are the irqs supposed to come from?

> -#ifdef CONFIG_PPC_CHRP
> -     if(machine_is(chrp) && _chrp_type == _CHRP_Pegasos) {
> -             hwif->irq = hwif->channel ? 15 : 14;
> -     }
> -#endif

Maybe we should just leave this in and dont bother about the arch
specific tweak?
-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to