2.5.67 Don't init zx1 agpgart on non-AGP system
PATCH 1/1 2.5.67 Don't init zx1 agpgart on non-AGP system
This fixes agp_hp_init() so that it doesn't try to register
the zx1 AGP driver when there is no AGP slot in the system. Thanks,
Alex
--
Alex Williamson HP Linux & Open Source Lab
drivers/char/agp/hp-agp.c renamed from drivers/char/agp/hp-agp.c~ +13 -7
@@ -420,6 +420,9 @@if (hp_zx1_setup (sba_hpa +HP_ZX1_IOC_OFFSET , lba_hpa))return 1 ; + fake_bridge_dev.vendor =PCI_VENDOR_ID_HP ; + fake_bridge_dev.device =PCI_DEVICE_ID_HP_ZX1_LBA ; +return 0 ; }
@@ -435,16 +438,19 @@ status =acpi_get_devices ("HWP0003" , zx1_gart_probe,"HWP0003 AGP LBA" ,NULL );if (!(ACPI_SUCCESS (status))) { agp_bridge->type =NOT_SUPPORTED ; - printk(KERN_INFO PFX "Didn't find an HP ZX1 Chipset.\n"); + printk(KERN_INFO PFX "Failed to initialize zx1 AGP.\n");return -ENODEV ; } - fake_bridge_dev.vendor =PCI_VENDOR_ID_HP ; - fake_bridge_dev.device =PCI_DEVICE_ID_HP_ZX1_LBA ; - hp_agp_driver.dev = &fake_bridge_dev; - agp_bridge->type =HP_ZX1 ; - agp_bridge->dev = &fake_bridge_dev; -return agp_register_driver (&hp_agp_driver); +if (fake_bridge_dev.vendor && !agp_bridge->type) { + hp_agp_driver.dev = &fake_bridge_dev; + agp_bridge->type =HP_ZX1 ; + agp_bridge->dev = &fake_bridge_dev; +return agp_register_driver (&hp_agp_driver); + + }else { +return -ENODEV ; + } }static void __exit