usb: gadget: fusb300-udc: Convert to use module_platform_driver()
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Tue, 17 Oct 2023 20:44:46 +0000 (22:44 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 21 Oct 2023 10:47:24 +0000 (12:47 +0200)
module_platform_driver_probe() has the advantage that the .probe() and
.remove() calls can live in .init.text and .exit.text respectively and
so some memory is saved. The downside is that dynamic bind and unbind
are impossible. As the driver doesn't benefit from the advantages (both
.probe and .remove are defined in plain .text), stop suffering from the
downsides and use module_platform_driver() instead of
module_platform_driver_probe().

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Link: https://lore.kernel.org/r/20231017204442.1625925-11-u.kleine-koenig@pengutronix.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/gadget/udc/fusb300_udc.c

index bd03d475f927cd634347d440f658dbb2c159c1e8..873265634cccb7da05d0e7a456f291dc2c961b65 100644 (file)
@@ -1506,10 +1506,11 @@ clean_up:
 }
 
 static struct platform_driver fusb300_driver = {
-       .remove_new =   fusb300_remove,
-       .driver         = {
+       .probe = fusb300_probe,
+       .remove_new = fusb300_remove,
+       .driver = {
                .name = udc_name,
        },
 };
 
-module_platform_driver_probe(fusb300_driver, fusb300_probe);
+module_platform_driver(fusb300_driver);