omap: pdata-quirks: remove openpandora quirks for mmc3 and wl1251
authorH. Nikolaus Schaller <hns@goldelico.com>
Thu, 7 Nov 2019 10:30:39 +0000 (11:30 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 21 Dec 2019 09:42:13 +0000 (10:42 +0100)
[ Upstream commit 2398c41d64321e62af54424fd399964f3d48cdc2 ]

With a wl1251 child node of mmc3 in the device tree decoded
in omap_hsmmc.c to handle special wl1251 initialization, we do
no longer need to instantiate the mmc3 through pdata quirks.

We also can remove the wlan regulator and reset/interrupt definitions
and do them through device tree.

Fixes: 81eef6ca9201 ("mmc: omap_hsmmc: Use dma_request_chan() for requesting DMA channel")
Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
Cc: <stable@vger.kernel.org> # v4.7+
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/arm/mach-omap2/pdata-quirks.c

index 88676fe..c3b3972 100644 (file)
@@ -308,108 +308,15 @@ static void __init omap3_logicpd_torpedo_init(void)
 }
 
 /* omap3pandora legacy devices */
-#define PANDORA_WIFI_IRQ_GPIO          21
-#define PANDORA_WIFI_NRESET_GPIO       23
 
 static struct platform_device pandora_backlight = {
        .name   = "pandora-backlight",
        .id     = -1,
 };
 
-static struct regulator_consumer_supply pandora_vmmc3_supply[] = {
-       REGULATOR_SUPPLY("vmmc", "omap_hsmmc.2"),
-};
-
-static struct regulator_init_data pandora_vmmc3 = {
-       .constraints = {
-               .valid_ops_mask         = REGULATOR_CHANGE_STATUS,
-       },
-       .num_consumer_supplies  = ARRAY_SIZE(pandora_vmmc3_supply),
-       .consumer_supplies      = pandora_vmmc3_supply,
-};
-
-static struct fixed_voltage_config pandora_vwlan = {
-       .supply_name            = "vwlan",
-       .microvolts             = 1800000, /* 1.8V */
-       .gpio                   = PANDORA_WIFI_NRESET_GPIO,
-       .startup_delay          = 50000, /* 50ms */
-       .enable_high            = 1,
-       .init_data              = &pandora_vmmc3,
-};
-
-static struct platform_device pandora_vwlan_device = {
-       .name           = "reg-fixed-voltage",
-       .id             = 1,
-       .dev = {
-               .platform_data = &pandora_vwlan,
-       },
-};
-
-static void pandora_wl1251_init_card(struct mmc_card *card)
-{
-       /*
-        * We have TI wl1251 attached to MMC3. Pass this information to
-        * SDIO core because it can't be probed by normal methods.
-        */
-       if (card->type == MMC_TYPE_SDIO || card->type == MMC_TYPE_SD_COMBO) {
-               card->quirks |= MMC_QUIRK_NONSTD_SDIO;
-               card->cccr.wide_bus = 1;
-               card->cis.vendor = 0x104c;
-               card->cis.device = 0x9066;
-               card->cis.blksize = 512;
-               card->cis.max_dtr = 24000000;
-               card->ocr = 0x80;
-       }
-}
-
-static struct omap2_hsmmc_info pandora_mmc3[] = {
-       {
-               .mmc            = 3,
-               .caps           = MMC_CAP_4_BIT_DATA | MMC_CAP_POWER_OFF_CARD,
-               .gpio_cd        = -EINVAL,
-               .gpio_wp        = -EINVAL,
-               .init_card      = pandora_wl1251_init_card,
-       },
-       {}      /* Terminator */
-};
-
-static void __init pandora_wl1251_init(void)
-{
-       struct wl1251_platform_data pandora_wl1251_pdata;
-       int ret;
-
-       memset(&pandora_wl1251_pdata, 0, sizeof(pandora_wl1251_pdata));
-
-       pandora_wl1251_pdata.power_gpio = -1;
-
-       ret = gpio_request_one(PANDORA_WIFI_IRQ_GPIO, GPIOF_IN, "wl1251 irq");
-       if (ret < 0)
-               goto fail;
-
-       pandora_wl1251_pdata.irq = gpio_to_irq(PANDORA_WIFI_IRQ_GPIO);
-       if (pandora_wl1251_pdata.irq < 0)
-               goto fail_irq;
-
-       pandora_wl1251_pdata.use_eeprom = true;
-       ret = wl1251_set_platform_data(&pandora_wl1251_pdata);
-       if (ret < 0)
-               goto fail_irq;
-
-       return;
-
-fail_irq:
-       gpio_free(PANDORA_WIFI_IRQ_GPIO);
-fail:
-       pr_err("wl1251 board initialisation failed\n");
-}
-
 static void __init omap3_pandora_legacy_init(void)
 {
        platform_device_register(&pandora_backlight);
-       platform_device_register(&pandora_vwlan_device);
-       omap_hsmmc_init(pandora_mmc3);
-       omap_hsmmc_late_init(pandora_mmc3);
-       pandora_wl1251_init();
 }
 #endif /* CONFIG_ARCH_OMAP3 */