]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
pcmcia: at91_cf: remove platform data support
authorAlexandre Belloni <alexandre.belloni@bootlin.com>
Wed, 30 Sep 2020 18:48:03 +0000 (20:48 +0200)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Fri, 27 Nov 2020 21:25:15 +0000 (22:25 +0100)
Board file support has been removed for at91rm9200 back in 2014, make the
CF driver DT only.

Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Link: https://lore.kernel.org/r/20200930184804.3127757-2-alexandre.belloni@bootlin.com
drivers/pcmcia/Kconfig
drivers/pcmcia/at91_cf.c

index 82d10b6661c73cd2a6ddfc888a63670e9084a7ae..884023e883457dd95bee99e758d4ddc6cb23a9c8 100644 (file)
@@ -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.
index ed60c4dffecb0679061df7a85168847f5a8d553c..6b1edfc890a3cfafaf52e998dbf2c2fa6bc4a7ae 100644 (file)
@@ -219,16 +219,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)
@@ -239,33 +241,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;
@@ -409,7 +387,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,