| From 6c2b9047ee6218e72cb00672ea3493dfed2ab82c Mon Sep 17 00:00:00 2001 |
| From: "H. Nikolaus Schaller" <hns@goldelico.com> |
| Date: Thu, 7 Nov 2019 11:30:39 +0100 |
| Subject: [PATCH] omap: pdata-quirks: remove openpandora quirks for mmc3 and |
| wl1251 |
| |
| commit 2398c41d64321e62af54424fd399964f3d48cdc2 upstream. |
| |
| 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: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/arch/arm/mach-omap2/pdata-quirks.c b/arch/arm/mach-omap2/pdata-quirks.c |
| index d9fe5eaf5c82..7e018f674fb0 100644 |
| --- a/arch/arm/mach-omap2/pdata-quirks.c |
| +++ b/arch/arm/mach-omap2/pdata-quirks.c |
| @@ -302,108 +302,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 */ |
| |
| -- |
| 2.7.4 |
| |