mmc: mvsdio: fix non-DT probing of GPIOs
[cascardo/linux.git] / drivers / mmc / host / mvsdio.c
index 145cdaf..ae08b32 100644 (file)
@@ -741,8 +741,8 @@ static int __init mvsd_probe(struct platform_device *pdev)
                        goto out;
                }
                host->base_clock = mvsd_data->clock / 2;
-               gpio_card_detect = mvsd_data->gpio_card_detect;
-               gpio_write_protect = mvsd_data->gpio_write_protect;
+               gpio_card_detect = mvsd_data->gpio_card_detect ? : -EINVAL;
+               gpio_write_protect = mvsd_data->gpio_write_protect ? : -EINVAL;
        }
 
        mmc->ops = &mvsd_ops;
@@ -881,18 +881,7 @@ static struct platform_driver mvsd_driver = {
        },
 };
 
-static int __init mvsd_init(void)
-{
-       return platform_driver_probe(&mvsd_driver, mvsd_probe);
-}
-
-static void __exit mvsd_exit(void)
-{
-       platform_driver_unregister(&mvsd_driver);
-}
-
-module_init(mvsd_init);
-module_exit(mvsd_exit);
+module_platform_driver_probe(mvsd_driver, mvsd_probe);
 
 /* maximum card clock frequency (default 50MHz) */
 module_param(maxfreq, int, 0);