All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <4E31D17D.6050000@boundarydevices.com>

diff --git a/a/1.txt b/N1/1.txt
index 1f15041..6a49436 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -87,144 +87,3 @@ Why turn on, then off, and then back on?
 Isn't off, then back on sufficient?
 
 Also, why not use regulator API like panda board does?
->From board-omap4panda.c, we have
-_________________________________________
-static struct regulator_consumer_supply omap4_panda_vmmc5_supply = {
-        .supply = "vmmc",
-        .dev_name = "omap_hsmmc.4",
-};
-
-static struct regulator_init_data panda_vmmc5 = {
-        .constraints = {
-                .valid_ops_mask = REGULATOR_CHANGE_STATUS,
-        },
-        .num_consumer_supplies = 1,
-        .consumer_supplies = &omap4_panda_vmmc5_supply,
-};
-
-static struct fixed_voltage_config panda_vwlan = {
-        .supply_name = "vwl1271",
-        .microvolts = 1800000, /* 1.8V */
-        .gpio = GPIO_WIFI_PMENA,
-        .startup_delay = 70000, /* 70msec */
-        .enable_high = 1,
-        .enabled_at_boot = 0,
-        .init_data = &panda_vmmc5,
-};
-
-static struct platform_device omap_vwlan_device = {
-        .name           = "reg-fixed-voltage",
-        .id             = 1,
-        .dev = {
-                .platform_data = &panda_vwlan,
-        },
-};
-_________________________________________
-
-If this can't work for you, can you list why in the change log.
-
-If your mmc controller doesn't yet support vmmc control. It should
-be very easy to add it first.
-
-Thanks.
-
-
-> +	} else {
-> +		gpio_set_value(DA850_WLAN_EN, 0);
-> +	}
-> +}
-> +
-> +static struct davinci_mmc_config da850_wl12xx_mmc_config = {
-> +	.set_power	= wl12xx_set_power,
-> +	.wires		= 4,
-> +	.max_freq	= 25000000,
-> +	.caps		= MMC_CAP_4_BIT_DATA | MMC_CAP_NONREMOVABLE |
-> +			  MMC_CAP_POWER_OFF_CARD,
-> +	.version	= MMC_CTLR_VERSION_2,
-> +};
-> +
-> +static const short da850_wl12xx_pins[] __initconst = {
-> +	DA850_MMCSD1_DAT_0, DA850_MMCSD1_DAT_1, DA850_MMCSD1_DAT_2,
-> +	DA850_MMCSD1_DAT_3, DA850_MMCSD1_CLK, DA850_MMCSD1_CMD,
-> +	DA850_GPIO6_9, DA850_GPIO6_10,
-> +	-1
-> +};
-> +
-> +static struct wl12xx_platform_data da850_wl12xx_wlan_data __initdata = {
-> +	.irq			= -1,
-> +	.board_ref_clock	= WL12XX_REFCLOCK_38,
-> +	.platform_quirks	= WL12XX_PLATFORM_QUIRK_EDGE_IRQ,
-> +};
-> +
-> +static __init int da850_wl12xx_init(void)
-> +{
-> +	int ret;
-> +
-> +	ret = davinci_cfg_reg_list(da850_wl12xx_pins);
-> +	if (ret) {
-> +		pr_err("wl12xx/mmc mux setup failed: %d\n", ret);
-> +		goto exit;
-> +	}
-> +
-> +	ret = da850_register_mmcsd1(&da850_wl12xx_mmc_config);
-> +	if (ret) {
-> +		pr_err("wl12xx/mmc registration failed: %d\n", ret);
-> +		goto exit;
-> +	}
-> +
-> +	ret = gpio_request_one(DA850_WLAN_EN, GPIOF_OUT_INIT_LOW, "wl12xx_en");
-> +	if (ret) {
-> +		pr_err("Could not request wl12xx enable gpio: %d\n", ret);
-> +		goto exit;
-> +	}
-> +
-> +	ret = gpio_request_one(DA850_WLAN_IRQ, GPIOF_IN, "wl12xx_irq");
-> +	if (ret) {
-> +		pr_err("Could not request wl12xx irq gpio: %d\n", ret);
-> +		goto free_wlan_en;
-> +	}
-> +
-> +	da850_wl12xx_wlan_data.irq = gpio_to_irq(DA850_WLAN_IRQ);
-> +
-> +	ret = wl12xx_set_platform_data(&da850_wl12xx_wlan_data);
-> +	if (ret) {
-> +		pr_err("Could not set wl12xx data: %d\n", ret);
-> +		goto free_wlan_irq;
-> +	}
-> +
-> +	return 0;
-> +
-> +free_wlan_irq:
-> +	gpio_free(DA850_WLAN_IRQ);
-> +
-> +free_wlan_en:
-> +	gpio_free(DA850_WLAN_EN);
-> +
-> +exit:
-> +	return ret;
-> +}
-> +
-> +#else /* CONFIG_DA850_WL12XX */
-> +
-> +static __init int da850_wl12xx_init(void)
-> +{
-> +	return 0;
-> +}
-> +
-> +#endif /* CONFIG_DA850_WL12XX */
-> +
->  #define DA850EVM_SATA_REFCLKPN_RATE	(100 * 1000 * 1000)
->  
->  static __init void da850_evm_init(void)
-> @@ -1171,6 +1280,11 @@ static __init void da850_evm_init(void)
->  		if (ret)
->  			pr_warning("da850_evm_init: mmcsd0 registration failed:"
->  					" %d\n", ret);
-> +
-> +		ret = da850_wl12xx_init();
-> +		if (ret)
-> +			pr_warning("da850_evm_init: wl12xx initialization"
-> +				   " failed: %d\n", ret);
->  	}
->  
->  	davinci_serial_init(&da850_evm_uart_config);
diff --git a/a/content_digest b/N1/content_digest
index db0d76e..c00ae2e 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -1,13 +1,9 @@
  "ref\0B85A65D85D7EB246BE421B3FB0FBB593024DD2CEC2@dbde02.ent.ti.com\0"
  "ref\01311886373-3060-1-git-send-email-ido@wizery.com\0"
- "From\0Troy Kisky <troy.kisky@boundarydevices.com>\0"
- "Subject\0Re: [PATCH v3] davinci: Add wl1271/wlan support for AM18x\0"
+ "From\0troy.kisky@boundarydevices.com (Troy Kisky)\0"
+ "Subject\0[PATCH v3] davinci: Add wl1271/wlan support for AM18x\0"
  "Date\0Thu, 28 Jul 2011 14:15:41 -0700\0"
- "To\0Ido Yariv <ido@wizery.com>\0"
- "Cc\0Sekhar Nori <nsekhar@ti.com>"
-  davinci-linux-open-source@linux.davincidsp.com
-  linux-arm-kernel@lists.infradead.org
- " linux-mmc@vger.kernel.org\0"
+ "To\0linux-arm-kernel@lists.infradead.org\0"
  "\00:1\0"
  "b\0"
  "On 7/28/2011 1:52 PM, Ido Yariv wrote:\n"
@@ -98,147 +94,6 @@
  "Why turn on, then off, and then back on?\n"
  "Isn't off, then back on sufficient?\n"
  "\n"
- "Also, why not use regulator API like panda board does?\n"
- ">From board-omap4panda.c, we have\n"
- "_________________________________________\n"
- "static struct regulator_consumer_supply omap4_panda_vmmc5_supply = {\n"
- "        .supply = \"vmmc\",\n"
- "        .dev_name = \"omap_hsmmc.4\",\n"
- "};\n"
- "\n"
- "static struct regulator_init_data panda_vmmc5 = {\n"
- "        .constraints = {\n"
- "                .valid_ops_mask = REGULATOR_CHANGE_STATUS,\n"
- "        },\n"
- "        .num_consumer_supplies = 1,\n"
- "        .consumer_supplies = &omap4_panda_vmmc5_supply,\n"
- "};\n"
- "\n"
- "static struct fixed_voltage_config panda_vwlan = {\n"
- "        .supply_name = \"vwl1271\",\n"
- "        .microvolts = 1800000, /* 1.8V */\n"
- "        .gpio = GPIO_WIFI_PMENA,\n"
- "        .startup_delay = 70000, /* 70msec */\n"
- "        .enable_high = 1,\n"
- "        .enabled_at_boot = 0,\n"
- "        .init_data = &panda_vmmc5,\n"
- "};\n"
- "\n"
- "static struct platform_device omap_vwlan_device = {\n"
- "        .name           = \"reg-fixed-voltage\",\n"
- "        .id             = 1,\n"
- "        .dev = {\n"
- "                .platform_data = &panda_vwlan,\n"
- "        },\n"
- "};\n"
- "_________________________________________\n"
- "\n"
- "If this can't work for you, can you list why in the change log.\n"
- "\n"
- "If your mmc controller doesn't yet support vmmc control. It should\n"
- "be very easy to add it first.\n"
- "\n"
- "Thanks.\n"
- "\n"
- "\n"
- "> +\t} else {\n"
- "> +\t\tgpio_set_value(DA850_WLAN_EN, 0);\n"
- "> +\t}\n"
- "> +}\n"
- "> +\n"
- "> +static struct davinci_mmc_config da850_wl12xx_mmc_config = {\n"
- "> +\t.set_power\t= wl12xx_set_power,\n"
- "> +\t.wires\t\t= 4,\n"
- "> +\t.max_freq\t= 25000000,\n"
- "> +\t.caps\t\t= MMC_CAP_4_BIT_DATA | MMC_CAP_NONREMOVABLE |\n"
- "> +\t\t\t  MMC_CAP_POWER_OFF_CARD,\n"
- "> +\t.version\t= MMC_CTLR_VERSION_2,\n"
- "> +};\n"
- "> +\n"
- "> +static const short da850_wl12xx_pins[] __initconst = {\n"
- "> +\tDA850_MMCSD1_DAT_0, DA850_MMCSD1_DAT_1, DA850_MMCSD1_DAT_2,\n"
- "> +\tDA850_MMCSD1_DAT_3, DA850_MMCSD1_CLK, DA850_MMCSD1_CMD,\n"
- "> +\tDA850_GPIO6_9, DA850_GPIO6_10,\n"
- "> +\t-1\n"
- "> +};\n"
- "> +\n"
- "> +static struct wl12xx_platform_data da850_wl12xx_wlan_data __initdata = {\n"
- "> +\t.irq\t\t\t= -1,\n"
- "> +\t.board_ref_clock\t= WL12XX_REFCLOCK_38,\n"
- "> +\t.platform_quirks\t= WL12XX_PLATFORM_QUIRK_EDGE_IRQ,\n"
- "> +};\n"
- "> +\n"
- "> +static __init int da850_wl12xx_init(void)\n"
- "> +{\n"
- "> +\tint ret;\n"
- "> +\n"
- "> +\tret = davinci_cfg_reg_list(da850_wl12xx_pins);\n"
- "> +\tif (ret) {\n"
- "> +\t\tpr_err(\"wl12xx/mmc mux setup failed: %d\\n\", ret);\n"
- "> +\t\tgoto exit;\n"
- "> +\t}\n"
- "> +\n"
- "> +\tret = da850_register_mmcsd1(&da850_wl12xx_mmc_config);\n"
- "> +\tif (ret) {\n"
- "> +\t\tpr_err(\"wl12xx/mmc registration failed: %d\\n\", ret);\n"
- "> +\t\tgoto exit;\n"
- "> +\t}\n"
- "> +\n"
- "> +\tret = gpio_request_one(DA850_WLAN_EN, GPIOF_OUT_INIT_LOW, \"wl12xx_en\");\n"
- "> +\tif (ret) {\n"
- "> +\t\tpr_err(\"Could not request wl12xx enable gpio: %d\\n\", ret);\n"
- "> +\t\tgoto exit;\n"
- "> +\t}\n"
- "> +\n"
- "> +\tret = gpio_request_one(DA850_WLAN_IRQ, GPIOF_IN, \"wl12xx_irq\");\n"
- "> +\tif (ret) {\n"
- "> +\t\tpr_err(\"Could not request wl12xx irq gpio: %d\\n\", ret);\n"
- "> +\t\tgoto free_wlan_en;\n"
- "> +\t}\n"
- "> +\n"
- "> +\tda850_wl12xx_wlan_data.irq = gpio_to_irq(DA850_WLAN_IRQ);\n"
- "> +\n"
- "> +\tret = wl12xx_set_platform_data(&da850_wl12xx_wlan_data);\n"
- "> +\tif (ret) {\n"
- "> +\t\tpr_err(\"Could not set wl12xx data: %d\\n\", ret);\n"
- "> +\t\tgoto free_wlan_irq;\n"
- "> +\t}\n"
- "> +\n"
- "> +\treturn 0;\n"
- "> +\n"
- "> +free_wlan_irq:\n"
- "> +\tgpio_free(DA850_WLAN_IRQ);\n"
- "> +\n"
- "> +free_wlan_en:\n"
- "> +\tgpio_free(DA850_WLAN_EN);\n"
- "> +\n"
- "> +exit:\n"
- "> +\treturn ret;\n"
- "> +}\n"
- "> +\n"
- "> +#else /* CONFIG_DA850_WL12XX */\n"
- "> +\n"
- "> +static __init int da850_wl12xx_init(void)\n"
- "> +{\n"
- "> +\treturn 0;\n"
- "> +}\n"
- "> +\n"
- "> +#endif /* CONFIG_DA850_WL12XX */\n"
- "> +\n"
- ">  #define DA850EVM_SATA_REFCLKPN_RATE\t(100 * 1000 * 1000)\n"
- ">  \n"
- ">  static __init void da850_evm_init(void)\n"
- "> @@ -1171,6 +1280,11 @@ static __init void da850_evm_init(void)\n"
- ">  \t\tif (ret)\n"
- ">  \t\t\tpr_warning(\"da850_evm_init: mmcsd0 registration failed:\"\n"
- ">  \t\t\t\t\t\" %d\\n\", ret);\n"
- "> +\n"
- "> +\t\tret = da850_wl12xx_init();\n"
- "> +\t\tif (ret)\n"
- "> +\t\t\tpr_warning(\"da850_evm_init: wl12xx initialization\"\n"
- "> +\t\t\t\t   \" failed: %d\\n\", ret);\n"
- ">  \t}\n"
- ">  \n"
- ">  \tdavinci_serial_init(&da850_evm_uart_config);"
+ Also, why not use regulator API like panda board does?
 
-2778617604668fe3279460ca3d615414efafe4ee72e7d3116f845ff4da9ef891
+88a5a0ac32de40fa5f18b7de0ac4fd9ad9b5c89f59aa7bf8167c2fa34e6a64c3

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.