Board file support has been removed for at91rm9200 back in 2014, make the
CF driver DT only.

Signed-off-by: Alexandre Belloni <alexandre.bell...@bootlin.com>
---
 drivers/pcmcia/Kconfig   |  1 +
 drivers/pcmcia/at91_cf.c | 38 ++++++++------------------------------
 2 files changed, 9 insertions(+), 30 deletions(-)

diff --git a/drivers/pcmcia/Kconfig b/drivers/pcmcia/Kconfig
index 82d10b6661c7..884023e88345 100644
--- a/drivers/pcmcia/Kconfig
+++ b/drivers/pcmcia/Kconfig
@@ -258,6 +258,7 @@ config OMAP_CF
 config AT91_CF
        tristate "AT91 CompactFlash Controller"
        depends on PCI
+       depends on OF
        depends on PCMCIA && ARCH_AT91
        help
          Say Y here to support the CompactFlash controller on AT91 chips.
diff --git a/drivers/pcmcia/at91_cf.c b/drivers/pcmcia/at91_cf.c
index 1d59c7240a09..1fde1735df8c 100644
--- a/drivers/pcmcia/at91_cf.c
+++ b/drivers/pcmcia/at91_cf.c
@@ -220,16 +220,18 @@ static struct pccard_operations at91_cf_ops = {
 
 /*--------------------------------------------------------------------------*/
 
-#if defined(CONFIG_OF)
 static const struct of_device_id at91_cf_dt_ids[] = {
        { .compatible = "atmel,at91rm9200-cf" },
        { /* sentinel */ }
 };
 MODULE_DEVICE_TABLE(of, at91_cf_dt_ids);
 
-static int at91_cf_dt_init(struct platform_device *pdev)
+static int at91_cf_probe(struct platform_device *pdev)
 {
-       struct at91_cf_data *board;
+       struct at91_cf_socket   *cf;
+       struct at91_cf_data     *board;
+       struct resource         *io;
+       int                     status;
 
        board = devm_kzalloc(&pdev->dev, sizeof(*board), GFP_KERNEL);
        if (!board)
@@ -240,33 +242,9 @@ static int at91_cf_dt_init(struct platform_device *pdev)
        board->vcc_pin = of_get_gpio(pdev->dev.of_node, 2);
        board->rst_pin = of_get_gpio(pdev->dev.of_node, 3);
 
-       pdev->dev.platform_data = board;
-
        mc = syscon_regmap_lookup_by_compatible("atmel,at91rm9200-sdramc");
-
-       return PTR_ERR_OR_ZERO(mc);
-}
-#else
-static int at91_cf_dt_init(struct platform_device *pdev)
-{
-       return -ENODEV;
-}
-#endif
-
-static int at91_cf_probe(struct platform_device *pdev)
-{
-       struct at91_cf_socket   *cf;
-       struct at91_cf_data     *board = pdev->dev.platform_data;
-       struct resource         *io;
-       int                     status;
-
-       if (!board) {
-               status = at91_cf_dt_init(pdev);
-               if (status)
-                       return status;
-
-               board = pdev->dev.platform_data;
-       }
+       if (IS_ERR(mc))
+               return PTR_ERR(mc);
 
        if (!gpio_is_valid(board->det_pin) || !gpio_is_valid(board->rst_pin))
                return -ENODEV;
@@ -410,7 +388,7 @@ static int at91_cf_resume(struct platform_device *pdev)
 static struct platform_driver at91_cf_driver = {
        .driver = {
                .name           = "at91_cf",
-               .of_match_table = of_match_ptr(at91_cf_dt_ids),
+               .of_match_table = at91_cf_dt_ids,
        },
        .probe          = at91_cf_probe,
        .remove         = at91_cf_remove,
-- 
2.26.2

Reply via email to