On 12/15/21 10:10, Thomas Zimmermann wrote:

[snip]

> 
> An extra pointer sounds indeed like over-engineering. If we take ast for 
> example, I'd just do something like this:
> 
>    static ast_pci_register_driver(struct pci_driver *pci)
>    {
>       if (drm_firmware_drivers_only() && ast_modeset == -1)
>               return -ENODEV;
>       if (ast_modeset == 0)
>               return -ENODEV;
> 
>       return pci_register_driver(pci);
>    }
> 
>    module_driver(&ast_pci_driver, ast_pci_register_driver,
>               pci_unregister_driver)
> 
> That removes some of the boiler-plate module code without changing the 
> driver's behavior.
>

Agreed that would be a nice cleanup and could allow to for example get rid
of the following module exit function that's just a wrapper:

static void __exit ast_exit(void)
{
        pci_unregister_driver(&ast_pci_driver);
}

But I think these cleanups are out of scope for this series and could be
done as a follow-up. Since the drm_firmware_drivers_only() check would
be needed in the module init function anyways.
 
> Best regards
> Thomas
> 
Best regards,
-- 
Javier Martinez Canillas
Linux Engineering
Red Hat

Reply via email to