clocksource/drivers/em_sti: Mark driver as non-removable
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Tue, 7 Feb 2023 19:30:10 +0000 (20:30 +0100)
committerDaniel Lezcano <daniel.lezcano@linaro.org>
Mon, 13 Feb 2023 12:10:17 +0000 (13:10 +0100)
The comment in the remove callback suggests that the driver is not
supposed to be unbound. However returning an error code in the remove
callback doesn't accomplish that. Instead set the suppress_bind_attrs
property (which makes it impossible to unbind the driver via sysfs).
The only remaining way to unbind a em_sti device would be module
unloading, but that doesn't apply here, as the driver cannot be built as
a module.

Also drop the useless remove callback.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Link: https://lore.kernel.org/r/20230207193010.469495-1-u.kleine-koenig@pengutronix.de
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
drivers/clocksource/em_sti.c

index ab190df..c04b47b 100644 (file)
@@ -333,11 +333,6 @@ static int em_sti_probe(struct platform_device *pdev)
        return 0;
 }
 
-static int em_sti_remove(struct platform_device *pdev)
-{
-       return -EBUSY; /* cannot unregister clockevent and clocksource */
-}
-
 static const struct of_device_id em_sti_dt_ids[] = {
        { .compatible = "renesas,em-sti", },
        {},
@@ -346,10 +341,10 @@ MODULE_DEVICE_TABLE(of, em_sti_dt_ids);
 
 static struct platform_driver em_sti_device_driver = {
        .probe          = em_sti_probe,
-       .remove         = em_sti_remove,
        .driver         = {
                .name   = "em_sti",
                .of_match_table = em_sti_dt_ids,
+               .suppress_bind_attrs = true,
        }
 };