On Mon, Jul 07, 2025 at 07:37:10PM +0200, Hans de Goede wrote: > AMD64 boards with AGP support are so old that the agp_amd64_pci_table > should be complete and there is no need to probe unlisted PCI devices, > so lets completely remove support for probing unlisted PCI devices. [...] > --- a/drivers/char/agp/amd64-agp.c > +++ b/drivers/char/agp/amd64-agp.c > @@ -734,47 +733,10 @@ static struct pci_driver agp_amd64_pci_driver = { > /* Not static due to IOMMU code calling it early. */ > int __init agp_amd64_init(void) > { > - struct pci_dev *pdev = NULL; > - int err = 0; > - > if (agp_off) > return -EINVAL; > > - err = pci_register_driver(&agp_amd64_pci_driver); > - if (err < 0) > - return err; > - > - if (agp_bridges_found == 0) { > - if (!agp_try_unsupported && !agp_try_unsupported_boot) { > - printk(KERN_INFO PFX "No supported AGP bridge > found.\n"); > -#ifdef MODULE > - printk(KERN_INFO PFX "You can try > agp_try_unsupported=1\n"); > -#else > - printk(KERN_INFO PFX "You can boot with > agp=try_unsupported\n"); > -#endif > - pci_unregister_driver(&agp_amd64_pci_driver); > - return -ENODEV; > - } > - > - /* First check that we have at least one AMD64 NB */ > - if (!amd_nb_num()) { > - pci_unregister_driver(&agp_amd64_pci_driver); > - return -ENODEV; > - }
Here the PCI driver used to be unregistered if no AGP bridges were found and successfully probed... > - > - /* Look for any AGP bridge */ > - for_each_pci_dev(pdev) > - if (pci_find_capability(pdev, PCI_CAP_ID_AGP)) > - pci_add_dynid(&agp_amd64_pci_driver, > - pdev->vendor, pdev->device, > - pdev->subsystem_vendor, > - pdev->subsystem_device, 0, 0, 0); > - if (agp_bridges_found == 0) { > - pci_unregister_driver(&agp_amd64_pci_driver); > - err = -ENODEV; > - } > - } > - return err; > + return pci_register_driver(&agp_amd64_pci_driver); > } ... and now the PCI driver will be kept around. Is that intentional? Keeping the PCI driver around only makes sense if an AGP bridge is later on hot-plugged. I guess that never happens with AGP bridges, at least it's not supported by this driver so far. Thanks, Lukas