From: Geliang Tang <geliangt...@gmail.com> Date: Wed, 23 Nov 2016 22:45:43 +0800
> @@ -536,11 +536,7 @@ static struct platform_driver davinci_mdio_driver = { > .remove = davinci_mdio_remove, > }; > > -static int __init davinci_mdio_init(void) > -{ > - return platform_driver_register(&davinci_mdio_driver); > -} > -device_initcall(davinci_mdio_init); > +builtin_platform_driver(davinci_mdio_driver); > As noted by others this is not a correct transformation, the existing code works properly when modular. But it will not with this change. device_initcall() is rerouted to module_init() inside of a module build, whereas the thing builtin_platform_driver() expands to does not.