gpu: host1x: Do not discard .remove()
authorThierry Reding <treding@nvidia.com>
Wed, 25 Sep 2013 16:33:31 +0000 (18:33 +0200)
committerThierry Reding <treding@nvidia.com>
Thu, 31 Oct 2013 08:20:07 +0000 (09:20 +0100)
The device can be unbound from the driver via sysfs, so regardless of
whether the driver is builtin or a module, its .remove() function needs
to stick around.

Signed-off-by: Thierry Reding <treding@nvidia.com>
drivers/gpu/host1x/dev.c

index 0f7b44c55ec77f63e2a6cdae38305347ceb2e054..105aa4ed665a7a89a2892d36f8a825631ba95f25 100644 (file)
@@ -172,7 +172,7 @@ fail_deinit_syncpt:
        return err;
 }
 
-static int __exit host1x_remove(struct platform_device *pdev)
+static int host1x_remove(struct platform_device *pdev)
 {
        struct host1x *host = platform_get_drvdata(pdev);
 
@@ -184,13 +184,12 @@ static int __exit host1x_remove(struct platform_device *pdev)
 }
 
 static struct platform_driver tegra_host1x_driver = {
-       .probe = host1x_probe,
-       .remove = __exit_p(host1x_remove),
        .driver = {
-               .owner = THIS_MODULE,
                .name = "tegra-host1x",
                .of_match_table = host1x_of_match,
        },
+       .probe = host1x_probe,
+       .remove = host1x_remove,
 };
 
 static int __init tegra_host1x_init(void)