diff -ur linux-2.6.22-gentoo-r1/drivers/acpi/bay.c linux-2.6.22-gentoo-r1/drivers/acpi/bay.c --- linux-2.6.22-gentoo-r1/drivers/acpi/bay.c +++ linux-2.6.22-gentoo-r1/drivers/acpi/bay.c @@ -328,14 +331,20 @@ { struct bay *bay_dev = (struct bay *)data; struct device *dev = &bay_dev->pdev->dev; + struct acpi_device *adev = NULL; + + acpi_bus_get_device(handle, &adev); + bay_dprintk(handle, "Bay event"); switch(event) { case ACPI_NOTIFY_BUS_CHECK: case ACPI_NOTIFY_DEVICE_CHECK: case ACPI_NOTIFY_EJECT_REQUEST: kobject_uevent(&dev->kobj, KOBJ_CHANGE); + strcpy(adev->pnp.device_class,"bay"); + acpi_bus_generate_event(adev, event, 0); break; default: printk(KERN_ERR PREFIX "Bay: unknown event %d\n", event); diff -ur linux-2.6.22-gentoo-r1/drivers/ata/ata_piix.c linux-2.6.22-gentoo-r1/drivers/ata/ata_piix.c --- linux-2.6.22-gentoo-r1/drivers/ata/ata_piix.c +++ linux-2.6.22-gentoo-r1/drivers/ata/ata_piix.c @@ -244,6 +244,8 @@ /* SATA Controller IDE (ICH9M) */ { 0x8086, 0x292e, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_ahci }, + { 0x8086, 0x2850, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich_pata_133 }, + { } /* terminate list */ };