Merge tag 'mmc-v4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc
[muen/linux.git] / arch / arm / mach-omap2 / pdata-quirks.c
index fe7c1fdb51d83f36daa00faa2904263ec74d97ae..9fec5f84bf772c8d7105c30cb2e0ae3d2cd85576 100644 (file)
@@ -10,6 +10,7 @@
 #include <linux/clk.h>
 #include <linux/davinci_emac.h>
 #include <linux/gpio.h>
+#include <linux/gpio/machine.h>
 #include <linux/init.h>
 #include <linux/kernel.h>
 #include <linux/of_platform.h>
@@ -328,7 +329,6 @@ static struct regulator_init_data pandora_vmmc3 = {
 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,
@@ -342,6 +342,19 @@ static struct platform_device pandora_vwlan_device = {
        },
 };
 
+static struct gpiod_lookup_table pandora_vwlan_gpiod_table = {
+       .dev_id = "reg-fixed-voltage.1",
+       .table = {
+               /*
+                * As this is a low GPIO number it should be at the first
+                * GPIO bank.
+                */
+               GPIO_LOOKUP("gpio-0-31", PANDORA_WIFI_NRESET_GPIO,
+                           NULL, GPIO_ACTIVE_HIGH),
+               { },
+       },
+};
+
 static void pandora_wl1251_init_card(struct mmc_card *card)
 {
        /*
@@ -401,6 +414,7 @@ fail:
 static void __init omap3_pandora_legacy_init(void)
 {
        platform_device_register(&pandora_backlight);
+       gpiod_add_lookup_table(&pandora_vwlan_gpiod_table);
        platform_device_register(&pandora_vwlan_device);
        omap_hsmmc_init(pandora_mmc3);
        omap_hsmmc_late_init(pandora_mmc3);