All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 1/2] dt: bindings: add wl18xx wireless device
@ 2015-02-19 16:13 ` Eliad Peller
  0 siblings, 0 replies; 22+ messages in thread
From: Eliad Peller @ 2015-02-19 16:13 UTC (permalink / raw)
  To: linux-wireless, devicetree; +Cc: Arnd Bergmann, Mark Rutland

Add device tree binding documentation for TI's wl18xx
wlan chip.

Signed-off-by: Eliad Peller <eliad@wizery.com>
---
v3:
 * make the bindings device-specific (wl18xx) (Arnd, Mark)
 * split bindings and driver changes (Arnd)
 * make interrupt-parent optional (Arnd)
 * make unit-address same as reg (Mark)

 .../devicetree/bindings/net/wireless/ti,wl18xx.txt | 32 ++++++++++++++++++++++
 1 file changed, 32 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/net/wireless/ti,wl18xx.txt

diff --git a/Documentation/devicetree/bindings/net/wireless/ti,wl18xx.txt b/Documentation/devicetree/bindings/net/wireless/ti,wl18xx.txt
new file mode 100644
index 0000000..8120a81
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/wireless/ti,wl18xx.txt
@@ -0,0 +1,32 @@
+TI Wilink8 (wl18xx) SDIO devices
+
+This node provides properties for controlling the wilink8 wireless device. The
+node is expected to be specified as a child node to the SDIO controller that
+connects the device to the system.
+
+Required properties:
+ - compatible : Should be "ti,wl18xx".
+ - interrupts : specifies attributes for the out-of-band interrupt.
+
+Optional properties:
+ - interrupt-parent : the phandle for the interrupt controller to which the
+	device interrupts are connected.
+
+Example:
+
+&mmc3 {
+	status = "okay";
+	vmmc-supply = <&wlan_en_reg>;
+	bus-width = <4>;
+	cap-power-off-card;
+	keep-power-in-suspend;
+
+	#address-cells = <1>;
+	#size-cells = <0>;
+	wlcore: wlcore@2 {
+		compatible = "ti,wl18xx";
+		reg = <2>;
+		interrupt-parent = <&gpio0>;
+		interrupts = <19 IRQ_TYPE_NONE>;
+	};
+};
-- 
1.8.5.1.109.g3d252a9


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH v3 1/2] dt: bindings: add wl18xx wireless device
@ 2015-02-19 16:13 ` Eliad Peller
  0 siblings, 0 replies; 22+ messages in thread
From: Eliad Peller @ 2015-02-19 16:13 UTC (permalink / raw)
  To: linux-wireless-u79uwXL29TY76Z2rM5mHXA, devicetree-u79uwXL29TY76Z2rM5mHXA
  Cc: Arnd Bergmann, Mark Rutland

Add device tree binding documentation for TI's wl18xx
wlan chip.

Signed-off-by: Eliad Peller <eliad-Ix1uc/W3ht7QT0dZR+AlfA@public.gmane.org>
---
v3:
 * make the bindings device-specific (wl18xx) (Arnd, Mark)
 * split bindings and driver changes (Arnd)
 * make interrupt-parent optional (Arnd)
 * make unit-address same as reg (Mark)

 .../devicetree/bindings/net/wireless/ti,wl18xx.txt | 32 ++++++++++++++++++++++
 1 file changed, 32 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/net/wireless/ti,wl18xx.txt

diff --git a/Documentation/devicetree/bindings/net/wireless/ti,wl18xx.txt b/Documentation/devicetree/bindings/net/wireless/ti,wl18xx.txt
new file mode 100644
index 0000000..8120a81
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/wireless/ti,wl18xx.txt
@@ -0,0 +1,32 @@
+TI Wilink8 (wl18xx) SDIO devices
+
+This node provides properties for controlling the wilink8 wireless device. The
+node is expected to be specified as a child node to the SDIO controller that
+connects the device to the system.
+
+Required properties:
+ - compatible : Should be "ti,wl18xx".
+ - interrupts : specifies attributes for the out-of-band interrupt.
+
+Optional properties:
+ - interrupt-parent : the phandle for the interrupt controller to which the
+	device interrupts are connected.
+
+Example:
+
+&mmc3 {
+	status = "okay";
+	vmmc-supply = <&wlan_en_reg>;
+	bus-width = <4>;
+	cap-power-off-card;
+	keep-power-in-suspend;
+
+	#address-cells = <1>;
+	#size-cells = <0>;
+	wlcore: wlcore@2 {
+		compatible = "ti,wl18xx";
+		reg = <2>;
+		interrupt-parent = <&gpio0>;
+		interrupts = <19 IRQ_TYPE_NONE>;
+	};
+};
-- 
1.8.5.1.109.g3d252a9

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH v3 2/2] wl18xx: add basic device-tree support
@ 2015-02-19 16:13   ` Eliad Peller
  0 siblings, 0 replies; 22+ messages in thread
From: Eliad Peller @ 2015-02-19 16:13 UTC (permalink / raw)
  To: linux-wireless, devicetree; +Cc: Arnd Bergmann, Mark Rutland

When running with device-tree, we no longer have a board file
that can set up the platform data for wlcore.
Allow this data to be passed from DT.

For now, parse only the irq used. Other (optional) properties
can be added later on.

Signed-off-by: Ido Yariv <ido@wizery.com>
Signed-off-by: Eliad Peller <eliad@wizery.com>
---
 drivers/net/wireless/ti/wlcore/sdio.c | 70 ++++++++++++++++++++++++++++++++---
 1 file changed, 64 insertions(+), 6 deletions(-)

diff --git a/drivers/net/wireless/ti/wlcore/sdio.c b/drivers/net/wireless/ti/wlcore/sdio.c
index d3dd7bf..c3bc178 100644
--- a/drivers/net/wireless/ti/wlcore/sdio.c
+++ b/drivers/net/wireless/ti/wlcore/sdio.c
@@ -34,6 +34,8 @@
 #include <linux/wl12xx.h>
 #include <linux/pm_runtime.h>
 #include <linux/printk.h>
+#include <linux/of.h>
+#include <linux/of_irq.h>
 
 #include "wlcore.h"
 #include "wl12xx_80211.h"
@@ -214,6 +216,59 @@ static struct wl1271_if_operations sdio_ops = {
 	.set_block_size = wl1271_sdio_set_block_size,
 };
 
+#ifdef CONFIG_OF
+static const struct of_device_id wlcore_sdio_of_match_table[] = {
+	{ .compatible = "ti,wl18xx" },
+	{ }
+};
+
+static struct wl12xx_platform_data *wlcore_probe_of(struct device *dev)
+{
+	struct device_node *np = dev->of_node;
+	struct wl12xx_platform_data *pdata;
+
+	if (!np || !of_match_node(wlcore_sdio_of_match_table, np)) {
+		dev_err(dev, "No platform data set\n");
+		return NULL;
+	}
+
+	pdata = kzalloc(sizeof(*pdata), GFP_KERNEL);
+	if (!pdata)
+		return NULL;
+
+	pdata->irq = irq_of_parse_and_map(np, 0);
+	if (!pdata->irq) {
+		dev_err(dev, "No irq in platform data\n");
+		kfree(pdata);
+		return NULL;
+	}
+
+	return pdata;
+}
+#else
+static struct wl12xx_platform_data *wlcore_probe_of(struct device *dev)
+{
+	return NULL;
+}
+#endif
+
+static struct wl12xx_platform_data *
+wlcore_get_platform_data(struct device *dev)
+{
+	struct wl12xx_platform_data *pdata;
+
+	pdata = wl12xx_get_platform_data();
+	if (!IS_ERR(pdata))
+		return kmemdup(pdata, sizeof(*pdata), GFP_KERNEL);
+
+	return wlcore_probe_of(dev);
+}
+
+static void wlcore_del_platform_data(struct wl12xx_platform_data *pdata)
+{
+	kfree(pdata);
+}
+
 static int wl1271_probe(struct sdio_func *func,
 				  const struct sdio_device_id *id)
 {
@@ -245,12 +300,9 @@ static int wl1271_probe(struct sdio_func *func,
 	/* Use block mode for transferring over one block size of data */
 	func->card->quirks |= MMC_QUIRK_BLKSZ_FOR_BYTE_MODE;
 
-	pdev_data.pdata = wl12xx_get_platform_data();
-	if (IS_ERR(pdev_data.pdata)) {
-		ret = PTR_ERR(pdev_data.pdata);
-		dev_err(glue->dev, "missing wlan platform data: %d\n", ret);
+	pdev_data.pdata = wlcore_get_platform_data(&func->dev);
+	if (!pdev_data.pdata)
 		goto out_free_glue;
-	}
 
 	/* if sdio can keep power while host is suspended, enable wow */
 	mmcflags = sdio_get_host_pm_caps(func);
@@ -279,7 +331,7 @@ static int wl1271_probe(struct sdio_func *func,
 	if (!glue->core) {
 		dev_err(glue->dev, "can't allocate platform_device");
 		ret = -ENOMEM;
-		goto out_free_glue;
+		goto out_free_pdata;
 	}
 
 	glue->core->dev.parent = &func->dev;
@@ -313,6 +365,9 @@ static int wl1271_probe(struct sdio_func *func,
 out_dev_put:
 	platform_device_put(glue->core);
 
+out_free_pdata:
+	wlcore_del_platform_data(pdev_data.pdata);
+
 out_free_glue:
 	kfree(glue);
 
@@ -323,11 +378,14 @@ out:
 static void wl1271_remove(struct sdio_func *func)
 {
 	struct wl12xx_sdio_glue *glue = sdio_get_drvdata(func);
+	struct wlcore_platdev_data *pdev_data = glue->core->dev.platform_data;
+	struct wl12xx_platform_data *pdata = pdev_data->pdata;
 
 	/* Undo decrement done above in wl1271_probe */
 	pm_runtime_get_noresume(&func->dev);
 
 	platform_device_unregister(glue->core);
+	wlcore_del_platform_data(pdata);
 	kfree(glue);
 }
 
-- 
1.8.5.1.109.g3d252a9


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH v3 2/2] wl18xx: add basic device-tree support
@ 2015-02-19 16:13   ` Eliad Peller
  0 siblings, 0 replies; 22+ messages in thread
From: Eliad Peller @ 2015-02-19 16:13 UTC (permalink / raw)
  To: linux-wireless-u79uwXL29TY76Z2rM5mHXA, devicetree-u79uwXL29TY76Z2rM5mHXA
  Cc: Arnd Bergmann, Mark Rutland

When running with device-tree, we no longer have a board file
that can set up the platform data for wlcore.
Allow this data to be passed from DT.

For now, parse only the irq used. Other (optional) properties
can be added later on.

Signed-off-by: Ido Yariv <ido-Ix1uc/W3ht7QT0dZR+AlfA@public.gmane.org>
Signed-off-by: Eliad Peller <eliad-Ix1uc/W3ht7QT0dZR+AlfA@public.gmane.org>
---
 drivers/net/wireless/ti/wlcore/sdio.c | 70 ++++++++++++++++++++++++++++++++---
 1 file changed, 64 insertions(+), 6 deletions(-)

diff --git a/drivers/net/wireless/ti/wlcore/sdio.c b/drivers/net/wireless/ti/wlcore/sdio.c
index d3dd7bf..c3bc178 100644
--- a/drivers/net/wireless/ti/wlcore/sdio.c
+++ b/drivers/net/wireless/ti/wlcore/sdio.c
@@ -34,6 +34,8 @@
 #include <linux/wl12xx.h>
 #include <linux/pm_runtime.h>
 #include <linux/printk.h>
+#include <linux/of.h>
+#include <linux/of_irq.h>
 
 #include "wlcore.h"
 #include "wl12xx_80211.h"
@@ -214,6 +216,59 @@ static struct wl1271_if_operations sdio_ops = {
 	.set_block_size = wl1271_sdio_set_block_size,
 };
 
+#ifdef CONFIG_OF
+static const struct of_device_id wlcore_sdio_of_match_table[] = {
+	{ .compatible = "ti,wl18xx" },
+	{ }
+};
+
+static struct wl12xx_platform_data *wlcore_probe_of(struct device *dev)
+{
+	struct device_node *np = dev->of_node;
+	struct wl12xx_platform_data *pdata;
+
+	if (!np || !of_match_node(wlcore_sdio_of_match_table, np)) {
+		dev_err(dev, "No platform data set\n");
+		return NULL;
+	}
+
+	pdata = kzalloc(sizeof(*pdata), GFP_KERNEL);
+	if (!pdata)
+		return NULL;
+
+	pdata->irq = irq_of_parse_and_map(np, 0);
+	if (!pdata->irq) {
+		dev_err(dev, "No irq in platform data\n");
+		kfree(pdata);
+		return NULL;
+	}
+
+	return pdata;
+}
+#else
+static struct wl12xx_platform_data *wlcore_probe_of(struct device *dev)
+{
+	return NULL;
+}
+#endif
+
+static struct wl12xx_platform_data *
+wlcore_get_platform_data(struct device *dev)
+{
+	struct wl12xx_platform_data *pdata;
+
+	pdata = wl12xx_get_platform_data();
+	if (!IS_ERR(pdata))
+		return kmemdup(pdata, sizeof(*pdata), GFP_KERNEL);
+
+	return wlcore_probe_of(dev);
+}
+
+static void wlcore_del_platform_data(struct wl12xx_platform_data *pdata)
+{
+	kfree(pdata);
+}
+
 static int wl1271_probe(struct sdio_func *func,
 				  const struct sdio_device_id *id)
 {
@@ -245,12 +300,9 @@ static int wl1271_probe(struct sdio_func *func,
 	/* Use block mode for transferring over one block size of data */
 	func->card->quirks |= MMC_QUIRK_BLKSZ_FOR_BYTE_MODE;
 
-	pdev_data.pdata = wl12xx_get_platform_data();
-	if (IS_ERR(pdev_data.pdata)) {
-		ret = PTR_ERR(pdev_data.pdata);
-		dev_err(glue->dev, "missing wlan platform data: %d\n", ret);
+	pdev_data.pdata = wlcore_get_platform_data(&func->dev);
+	if (!pdev_data.pdata)
 		goto out_free_glue;
-	}
 
 	/* if sdio can keep power while host is suspended, enable wow */
 	mmcflags = sdio_get_host_pm_caps(func);
@@ -279,7 +331,7 @@ static int wl1271_probe(struct sdio_func *func,
 	if (!glue->core) {
 		dev_err(glue->dev, "can't allocate platform_device");
 		ret = -ENOMEM;
-		goto out_free_glue;
+		goto out_free_pdata;
 	}
 
 	glue->core->dev.parent = &func->dev;
@@ -313,6 +365,9 @@ static int wl1271_probe(struct sdio_func *func,
 out_dev_put:
 	platform_device_put(glue->core);
 
+out_free_pdata:
+	wlcore_del_platform_data(pdev_data.pdata);
+
 out_free_glue:
 	kfree(glue);
 
@@ -323,11 +378,14 @@ out:
 static void wl1271_remove(struct sdio_func *func)
 {
 	struct wl12xx_sdio_glue *glue = sdio_get_drvdata(func);
+	struct wlcore_platdev_data *pdev_data = glue->core->dev.platform_data;
+	struct wl12xx_platform_data *pdata = pdev_data->pdata;
 
 	/* Undo decrement done above in wl1271_probe */
 	pm_runtime_get_noresume(&func->dev);
 
 	platform_device_unregister(glue->core);
+	wlcore_del_platform_data(pdata);
 	kfree(glue);
 }
 
-- 
1.8.5.1.109.g3d252a9

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* Re: [PATCH v3 1/2] dt: bindings: add wl18xx wireless device
@ 2015-02-27  7:35   ` Luca Coelho
  0 siblings, 0 replies; 22+ messages in thread
From: Luca Coelho @ 2015-02-27  7:35 UTC (permalink / raw)
  To: Eliad Peller; +Cc: linux-wireless, devicetree, Arnd Bergmann, Mark Rutland

On Thu, 2015-02-19 at 18:13 +0200, Eliad Peller wrote:
> Add device tree binding documentation for TI's wl18xx
> wlan chip.
> 
> Signed-off-by: Eliad Peller <eliad@wizery.com>
> ---

If, as I said in the other thread, you use the work I did earlier,
support for wl12xx will also be included...

--
Luca.


^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v3 1/2] dt: bindings: add wl18xx wireless device
@ 2015-02-27  7:35   ` Luca Coelho
  0 siblings, 0 replies; 22+ messages in thread
From: Luca Coelho @ 2015-02-27  7:35 UTC (permalink / raw)
  To: Eliad Peller
  Cc: linux-wireless-u79uwXL29TY76Z2rM5mHXA,
	devicetree-u79uwXL29TY76Z2rM5mHXA, Arnd Bergmann, Mark Rutland

On Thu, 2015-02-19 at 18:13 +0200, Eliad Peller wrote:
> Add device tree binding documentation for TI's wl18xx
> wlan chip.
> 
> Signed-off-by: Eliad Peller <eliad-Ix1uc/W3ht7QT0dZR+AlfA@public.gmane.org>
> ---

If, as I said in the other thread, you use the work I did earlier,
support for wl12xx will also be included...

--
Luca.

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v3 1/2] dt: bindings: add wl18xx wireless device
@ 2015-02-27  8:14   ` Arnd Bergmann
  0 siblings, 0 replies; 22+ messages in thread
From: Arnd Bergmann @ 2015-02-27  8:14 UTC (permalink / raw)
  To: Eliad Peller; +Cc: linux-wireless, devicetree, Mark Rutland

On Thursday 19 February 2015 18:13:20 Eliad Peller wrote:
> +Required properties:
> + - compatible : Should be "ti,wl18xx".

Do not use wildcards in the compatible string, use specific model numbers.

	Arnd

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v3 1/2] dt: bindings: add wl18xx wireless device
@ 2015-02-27  8:14   ` Arnd Bergmann
  0 siblings, 0 replies; 22+ messages in thread
From: Arnd Bergmann @ 2015-02-27  8:14 UTC (permalink / raw)
  To: Eliad Peller
  Cc: linux-wireless-u79uwXL29TY76Z2rM5mHXA,
	devicetree-u79uwXL29TY76Z2rM5mHXA, Mark Rutland

On Thursday 19 February 2015 18:13:20 Eliad Peller wrote:
> +Required properties:
> + - compatible : Should be "ti,wl18xx".

Do not use wildcards in the compatible string, use specific model numbers.

	Arnd
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v3 2/2] wl18xx: add basic device-tree support
@ 2015-02-27  8:26     ` Arnd Bergmann
  0 siblings, 0 replies; 22+ messages in thread
From: Arnd Bergmann @ 2015-02-27  8:26 UTC (permalink / raw)
  To: Eliad Peller; +Cc: linux-wireless, devicetree, Mark Rutland

On Thursday 19 February 2015 18:13:21 Eliad Peller wrote:
> +
> +static struct wl12xx_platform_data *wlcore_probe_of(struct device *dev)
> +{
> +       struct device_node *np = dev->of_node;
> +       struct wl12xx_platform_data *pdata;
> +
> +       if (!np || !of_match_node(wlcore_sdio_of_match_table, np)) {
> +               dev_err(dev, "No platform data set\n");
> +               return NULL;
> +       }
> +
> +       pdata = kzalloc(sizeof(*pdata), GFP_KERNEL);
> +       if (!pdata)
> +               return NULL;
> +
> +       pdata->irq = irq_of_parse_and_map(np, 0);
> +       if (!pdata->irq) {
> +               dev_err(dev, "No irq in platform data\n");
> +               kfree(pdata);
> +               return NULL;
> +       }
> +
> +       return pdata;
> +}
> +#else
> +static struct wl12xx_platform_data *wlcore_probe_of(struct device *dev)
> +{
> +       return NULL;
> +}
> +#endif
> +
> +static struct wl12xx_platform_data *
> +wlcore_get_platform_data(struct device *dev)
> +{
> +       struct wl12xx_platform_data *pdata;
> +
> +       pdata = wl12xx_get_platform_data();
> +       if (!IS_ERR(pdata))
> +               return kmemdup(pdata, sizeof(*pdata), GFP_KERNEL);
> +
> +       return wlcore_probe_of(dev);
> +}

I think the probe_of needs to come first here, otherwise you cannot
override the pdata quirk with actual DT data.

I've looked up the what boards actually use this data and found that
all of them already support booting from DT: some omap2 boards using
arch/arm/mach-omap2/pdata-quirks.c to provide the data, and the
davinci 850evm. Can you make sure you add the correct data to all
of these dts files as part of your series and remove the
wl12xx_platform_data references?

	Arnd

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v3 2/2] wl18xx: add basic device-tree support
@ 2015-02-27  8:26     ` Arnd Bergmann
  0 siblings, 0 replies; 22+ messages in thread
From: Arnd Bergmann @ 2015-02-27  8:26 UTC (permalink / raw)
  To: Eliad Peller
  Cc: linux-wireless-u79uwXL29TY76Z2rM5mHXA,
	devicetree-u79uwXL29TY76Z2rM5mHXA, Mark Rutland

On Thursday 19 February 2015 18:13:21 Eliad Peller wrote:
> +
> +static struct wl12xx_platform_data *wlcore_probe_of(struct device *dev)
> +{
> +       struct device_node *np = dev->of_node;
> +       struct wl12xx_platform_data *pdata;
> +
> +       if (!np || !of_match_node(wlcore_sdio_of_match_table, np)) {
> +               dev_err(dev, "No platform data set\n");
> +               return NULL;
> +       }
> +
> +       pdata = kzalloc(sizeof(*pdata), GFP_KERNEL);
> +       if (!pdata)
> +               return NULL;
> +
> +       pdata->irq = irq_of_parse_and_map(np, 0);
> +       if (!pdata->irq) {
> +               dev_err(dev, "No irq in platform data\n");
> +               kfree(pdata);
> +               return NULL;
> +       }
> +
> +       return pdata;
> +}
> +#else
> +static struct wl12xx_platform_data *wlcore_probe_of(struct device *dev)
> +{
> +       return NULL;
> +}
> +#endif
> +
> +static struct wl12xx_platform_data *
> +wlcore_get_platform_data(struct device *dev)
> +{
> +       struct wl12xx_platform_data *pdata;
> +
> +       pdata = wl12xx_get_platform_data();
> +       if (!IS_ERR(pdata))
> +               return kmemdup(pdata, sizeof(*pdata), GFP_KERNEL);
> +
> +       return wlcore_probe_of(dev);
> +}

I think the probe_of needs to come first here, otherwise you cannot
override the pdata quirk with actual DT data.

I've looked up the what boards actually use this data and found that
all of them already support booting from DT: some omap2 boards using
arch/arm/mach-omap2/pdata-quirks.c to provide the data, and the
davinci 850evm. Can you make sure you add the correct data to all
of these dts files as part of your series and remove the
wl12xx_platform_data references?

	Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v3 1/2] dt: bindings: add wl18xx wireless device
  2015-02-27  8:14   ` Arnd Bergmann
@ 2015-03-08 11:06     ` Eliad Peller
  -1 siblings, 0 replies; 22+ messages in thread
From: Eliad Peller @ 2015-03-08 11:06 UTC (permalink / raw)
  To: Arnd Bergmann; +Cc: linux-wireless, devicetree, Mark Rutland

On Fri, Feb 27, 2015 at 10:14 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> On Thursday 19 February 2015 18:13:20 Eliad Peller wrote:
>> +Required properties:
>> + - compatible : Should be "ti,wl18xx".
>
> Do not use wildcards in the compatible string, use specific model numbers.

ok. i'll change it to ti,wl1835 and ti,wl1837

thanks,
Eliad.

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v3 1/2] dt: bindings: add wl18xx wireless device
@ 2015-03-08 11:06     ` Eliad Peller
  0 siblings, 0 replies; 22+ messages in thread
From: Eliad Peller @ 2015-03-08 11:06 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: linux-wireless-u79uwXL29TY76Z2rM5mHXA,
	devicetree-u79uwXL29TY76Z2rM5mHXA, Mark Rutland

On Fri, Feb 27, 2015 at 10:14 AM, Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org> wrote:
> On Thursday 19 February 2015 18:13:20 Eliad Peller wrote:
>> +Required properties:
>> + - compatible : Should be "ti,wl18xx".
>
> Do not use wildcards in the compatible string, use specific model numbers.

ok. i'll change it to ti,wl1835 and ti,wl1837

thanks,
Eliad.
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v3 2/2] wl18xx: add basic device-tree support
  2015-02-27  8:26     ` Arnd Bergmann
@ 2015-03-08 11:13       ` Eliad Peller
  -1 siblings, 0 replies; 22+ messages in thread
From: Eliad Peller @ 2015-03-08 11:13 UTC (permalink / raw)
  To: Arnd Bergmann; +Cc: linux-wireless, devicetree, Mark Rutland

On Fri, Feb 27, 2015 at 10:26 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> On Thursday 19 February 2015 18:13:21 Eliad Peller wrote:
>> +
>> +static struct wl12xx_platform_data *wlcore_probe_of(struct device *dev)
>> +{
>> +       struct device_node *np = dev->of_node;
>> +       struct wl12xx_platform_data *pdata;
>> +
>> +       if (!np || !of_match_node(wlcore_sdio_of_match_table, np)) {
>> +               dev_err(dev, "No platform data set\n");
>> +               return NULL;
>> +       }
>> +
>> +       pdata = kzalloc(sizeof(*pdata), GFP_KERNEL);
>> +       if (!pdata)
>> +               return NULL;
>> +
>> +       pdata->irq = irq_of_parse_and_map(np, 0);
>> +       if (!pdata->irq) {
>> +               dev_err(dev, "No irq in platform data\n");
>> +               kfree(pdata);
>> +               return NULL;
>> +       }
>> +
>> +       return pdata;
>> +}
>> +#else
>> +static struct wl12xx_platform_data *wlcore_probe_of(struct device *dev)
>> +{
>> +       return NULL;
>> +}
>> +#endif
>> +
>> +static struct wl12xx_platform_data *
>> +wlcore_get_platform_data(struct device *dev)
>> +{
>> +       struct wl12xx_platform_data *pdata;
>> +
>> +       pdata = wl12xx_get_platform_data();
>> +       if (!IS_ERR(pdata))
>> +               return kmemdup(pdata, sizeof(*pdata), GFP_KERNEL);
>> +
>> +       return wlcore_probe_of(dev);
>> +}
>
> I think the probe_of needs to come first here, otherwise you cannot
> override the pdata quirk with actual DT data.
>
makes sense. i'll change it.

> I've looked up the what boards actually use this data and found that
> all of them already support booting from DT: some omap2 boards using
> arch/arm/mach-omap2/pdata-quirks.c to provide the data, and the
> davinci 850evm. Can you make sure you add the correct data to all
> of these dts files as part of your series and remove the
> wl12xx_platform_data references?

AFAICT, these board files add wl12xx platform data, while the new DT
support is only for wl18xx.

Eliad.

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v3 2/2] wl18xx: add basic device-tree support
@ 2015-03-08 11:13       ` Eliad Peller
  0 siblings, 0 replies; 22+ messages in thread
From: Eliad Peller @ 2015-03-08 11:13 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: linux-wireless-u79uwXL29TY76Z2rM5mHXA,
	devicetree-u79uwXL29TY76Z2rM5mHXA, Mark Rutland

On Fri, Feb 27, 2015 at 10:26 AM, Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org> wrote:
> On Thursday 19 February 2015 18:13:21 Eliad Peller wrote:
>> +
>> +static struct wl12xx_platform_data *wlcore_probe_of(struct device *dev)
>> +{
>> +       struct device_node *np = dev->of_node;
>> +       struct wl12xx_platform_data *pdata;
>> +
>> +       if (!np || !of_match_node(wlcore_sdio_of_match_table, np)) {
>> +               dev_err(dev, "No platform data set\n");
>> +               return NULL;
>> +       }
>> +
>> +       pdata = kzalloc(sizeof(*pdata), GFP_KERNEL);
>> +       if (!pdata)
>> +               return NULL;
>> +
>> +       pdata->irq = irq_of_parse_and_map(np, 0);
>> +       if (!pdata->irq) {
>> +               dev_err(dev, "No irq in platform data\n");
>> +               kfree(pdata);
>> +               return NULL;
>> +       }
>> +
>> +       return pdata;
>> +}
>> +#else
>> +static struct wl12xx_platform_data *wlcore_probe_of(struct device *dev)
>> +{
>> +       return NULL;
>> +}
>> +#endif
>> +
>> +static struct wl12xx_platform_data *
>> +wlcore_get_platform_data(struct device *dev)
>> +{
>> +       struct wl12xx_platform_data *pdata;
>> +
>> +       pdata = wl12xx_get_platform_data();
>> +       if (!IS_ERR(pdata))
>> +               return kmemdup(pdata, sizeof(*pdata), GFP_KERNEL);
>> +
>> +       return wlcore_probe_of(dev);
>> +}
>
> I think the probe_of needs to come first here, otherwise you cannot
> override the pdata quirk with actual DT data.
>
makes sense. i'll change it.

> I've looked up the what boards actually use this data and found that
> all of them already support booting from DT: some omap2 boards using
> arch/arm/mach-omap2/pdata-quirks.c to provide the data, and the
> davinci 850evm. Can you make sure you add the correct data to all
> of these dts files as part of your series and remove the
> wl12xx_platform_data references?

AFAICT, these board files add wl12xx platform data, while the new DT
support is only for wl18xx.

Eliad.
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v3 2/2] wl18xx: add basic device-tree support
@ 2015-03-08 21:53         ` Arnd Bergmann
  0 siblings, 0 replies; 22+ messages in thread
From: Arnd Bergmann @ 2015-03-08 21:53 UTC (permalink / raw)
  To: Eliad Peller; +Cc: linux-wireless, devicetree, Mark Rutland

On Sunday 08 March 2015 13:13:13 Eliad Peller wrote:
> 
> > I've looked up the what boards actually use this data and found that
> > all of them already support booting from DT: some omap2 boards using
> > arch/arm/mach-omap2/pdata-quirks.c to provide the data, and the
> > davinci 850evm. Can you make sure you add the correct data to all
> > of these dts files as part of your series and remove the
> > wl12xx_platform_data references?
> 
> AFAICT, these board files add wl12xx platform data, while the new DT
> support is only for wl18xx.
> 

How can you tell the difference? What I see is that omap3pandora
(and nothing else) calls wl1251_set_platform_data(), while 
da850-evm and all omap3/omap4 boards use wl12xx_set_platform_data().

The latter seems to refer to all wl12xx and wl18xx variants except
for wl1251, based on my (very limited) understanding of that code.

	Arnd

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v3 2/2] wl18xx: add basic device-tree support
@ 2015-03-08 21:53         ` Arnd Bergmann
  0 siblings, 0 replies; 22+ messages in thread
From: Arnd Bergmann @ 2015-03-08 21:53 UTC (permalink / raw)
  To: Eliad Peller
  Cc: linux-wireless-u79uwXL29TY76Z2rM5mHXA,
	devicetree-u79uwXL29TY76Z2rM5mHXA, Mark Rutland

On Sunday 08 March 2015 13:13:13 Eliad Peller wrote:
> 
> > I've looked up the what boards actually use this data and found that
> > all of them already support booting from DT: some omap2 boards using
> > arch/arm/mach-omap2/pdata-quirks.c to provide the data, and the
> > davinci 850evm. Can you make sure you add the correct data to all
> > of these dts files as part of your series and remove the
> > wl12xx_platform_data references?
> 
> AFAICT, these board files add wl12xx platform data, while the new DT
> support is only for wl18xx.
> 

How can you tell the difference? What I see is that omap3pandora
(and nothing else) calls wl1251_set_platform_data(), while 
da850-evm and all omap3/omap4 boards use wl12xx_set_platform_data().

The latter seems to refer to all wl12xx and wl18xx variants except
for wl1251, based on my (very limited) understanding of that code.

	Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v3 2/2] wl18xx: add basic device-tree support
  2015-03-08 21:53         ` Arnd Bergmann
@ 2015-03-09  7:18           ` Eliad Peller
  -1 siblings, 0 replies; 22+ messages in thread
From: Eliad Peller @ 2015-03-09  7:18 UTC (permalink / raw)
  To: Arnd Bergmann; +Cc: linux-wireless, devicetree, Mark Rutland

On Sun, Mar 8, 2015 at 11:53 PM, Arnd Bergmann <arnd@arndb.de> wrote:
> On Sunday 08 March 2015 13:13:13 Eliad Peller wrote:
>>
>> > I've looked up the what boards actually use this data and found that
>> > all of them already support booting from DT: some omap2 boards using
>> > arch/arm/mach-omap2/pdata-quirks.c to provide the data, and the
>> > davinci 850evm. Can you make sure you add the correct data to all
>> > of these dts files as part of your series and remove the
>> > wl12xx_platform_data references?
>>
>> AFAICT, these board files add wl12xx platform data, while the new DT
>> support is only for wl18xx.
>>
>
> How can you tell the difference? What I see is that omap3pandora
> (and nothing else) calls wl1251_set_platform_data(), while
> da850-evm and all omap3/omap4 boards use wl12xx_set_platform_data().
>
> The latter seems to refer to all wl12xx and wl18xx variants except
> for wl1251, based on my (very limited) understanding of that code.

right.
i got mislead because legacy_init_wl12xx() is defined there only for
CONFIG_WL12XX (and not for CONFIG_WL18XX).
it looks like only "isee,omap3-igep0020-rev-f" and
"isee,omap3-igep0020-rev-g" have pdata quirks for wl18xx (and thus
initialize the pdata clocks to 0).

sorry for the trivial question, but what's the standard way to submit
such patch? should i simply add a third patch to the patchset which
removes the pdata quirk and adds the missing dts definition? i don't
have such board, so i can only compile-test it.

thanks,
Eliad.

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v3 2/2] wl18xx: add basic device-tree support
@ 2015-03-09  7:18           ` Eliad Peller
  0 siblings, 0 replies; 22+ messages in thread
From: Eliad Peller @ 2015-03-09  7:18 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: linux-wireless-u79uwXL29TY76Z2rM5mHXA,
	devicetree-u79uwXL29TY76Z2rM5mHXA, Mark Rutland

On Sun, Mar 8, 2015 at 11:53 PM, Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org> wrote:
> On Sunday 08 March 2015 13:13:13 Eliad Peller wrote:
>>
>> > I've looked up the what boards actually use this data and found that
>> > all of them already support booting from DT: some omap2 boards using
>> > arch/arm/mach-omap2/pdata-quirks.c to provide the data, and the
>> > davinci 850evm. Can you make sure you add the correct data to all
>> > of these dts files as part of your series and remove the
>> > wl12xx_platform_data references?
>>
>> AFAICT, these board files add wl12xx platform data, while the new DT
>> support is only for wl18xx.
>>
>
> How can you tell the difference? What I see is that omap3pandora
> (and nothing else) calls wl1251_set_platform_data(), while
> da850-evm and all omap3/omap4 boards use wl12xx_set_platform_data().
>
> The latter seems to refer to all wl12xx and wl18xx variants except
> for wl1251, based on my (very limited) understanding of that code.

right.
i got mislead because legacy_init_wl12xx() is defined there only for
CONFIG_WL12XX (and not for CONFIG_WL18XX).
it looks like only "isee,omap3-igep0020-rev-f" and
"isee,omap3-igep0020-rev-g" have pdata quirks for wl18xx (and thus
initialize the pdata clocks to 0).

sorry for the trivial question, but what's the standard way to submit
such patch? should i simply add a third patch to the patchset which
removes the pdata quirk and adds the missing dts definition? i don't
have such board, so i can only compile-test it.

thanks,
Eliad.
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v3 2/2] wl18xx: add basic device-tree support
@ 2015-03-09  8:50             ` Arnd Bergmann
  0 siblings, 0 replies; 22+ messages in thread
From: Arnd Bergmann @ 2015-03-09  8:50 UTC (permalink / raw)
  To: Eliad Peller; +Cc: linux-wireless, devicetree, Mark Rutland

On Monday 09 March 2015 09:18:46 Eliad Peller wrote:
> On Sun, Mar 8, 2015 at 11:53 PM, Arnd Bergmann <arnd@arndb.de> wrote:
> > On Sunday 08 March 2015 13:13:13 Eliad Peller wrote:
> >>
> >> > I've looked up the what boards actually use this data and found that
> >> > all of them already support booting from DT: some omap2 boards using
> >> > arch/arm/mach-omap2/pdata-quirks.c to provide the data, and the
> >> > davinci 850evm. Can you make sure you add the correct data to all
> >> > of these dts files as part of your series and remove the
> >> > wl12xx_platform_data references?
> >>
> >> AFAICT, these board files add wl12xx platform data, while the new DT
> >> support is only for wl18xx.
> >>
> >
> > How can you tell the difference? What I see is that omap3pandora
> > (and nothing else) calls wl1251_set_platform_data(), while
> > da850-evm and all omap3/omap4 boards use wl12xx_set_platform_data().
> >
> > The latter seems to refer to all wl12xx and wl18xx variants except
> > for wl1251, based on my (very limited) understanding of that code.
> 
> right.
> i got mislead because legacy_init_wl12xx() is defined there only for
> CONFIG_WL12XX (and not for CONFIG_WL18XX).
> it looks like only "isee,omap3-igep0020-rev-f" and
> "isee,omap3-igep0020-rev-g" have pdata quirks for wl18xx (and thus
> initialize the pdata clocks to 0).

Ok.

> sorry for the trivial question, but what's the standard way to submit
> such patch? should i simply add a third patch to the patchset which
> removes the pdata quirk and adds the missing dts definition? i don't
> have such board, so i can only compile-test it.

Yes, I think that would be good. Depending on the complexity of the
patch, you can do it in multiple ways:

a) one patch to all the dts files, which also removes the
   legacy_init_wl12xx() infrastructure

b) one patch to add the .dts changes, a second patch to remove the
   code from pdata-quirks.c and a third to remove the functionality
   in the driver

c) one patch per board.

I'm fine with any of these, but the omap maintainers might have a
preference.

	Arnd

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v3 2/2] wl18xx: add basic device-tree support
@ 2015-03-09  8:50             ` Arnd Bergmann
  0 siblings, 0 replies; 22+ messages in thread
From: Arnd Bergmann @ 2015-03-09  8:50 UTC (permalink / raw)
  To: Eliad Peller
  Cc: linux-wireless-u79uwXL29TY76Z2rM5mHXA,
	devicetree-u79uwXL29TY76Z2rM5mHXA, Mark Rutland

On Monday 09 March 2015 09:18:46 Eliad Peller wrote:
> On Sun, Mar 8, 2015 at 11:53 PM, Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org> wrote:
> > On Sunday 08 March 2015 13:13:13 Eliad Peller wrote:
> >>
> >> > I've looked up the what boards actually use this data and found that
> >> > all of them already support booting from DT: some omap2 boards using
> >> > arch/arm/mach-omap2/pdata-quirks.c to provide the data, and the
> >> > davinci 850evm. Can you make sure you add the correct data to all
> >> > of these dts files as part of your series and remove the
> >> > wl12xx_platform_data references?
> >>
> >> AFAICT, these board files add wl12xx platform data, while the new DT
> >> support is only for wl18xx.
> >>
> >
> > How can you tell the difference? What I see is that omap3pandora
> > (and nothing else) calls wl1251_set_platform_data(), while
> > da850-evm and all omap3/omap4 boards use wl12xx_set_platform_data().
> >
> > The latter seems to refer to all wl12xx and wl18xx variants except
> > for wl1251, based on my (very limited) understanding of that code.
> 
> right.
> i got mislead because legacy_init_wl12xx() is defined there only for
> CONFIG_WL12XX (and not for CONFIG_WL18XX).
> it looks like only "isee,omap3-igep0020-rev-f" and
> "isee,omap3-igep0020-rev-g" have pdata quirks for wl18xx (and thus
> initialize the pdata clocks to 0).

Ok.

> sorry for the trivial question, but what's the standard way to submit
> such patch? should i simply add a third patch to the patchset which
> removes the pdata quirk and adds the missing dts definition? i don't
> have such board, so i can only compile-test it.

Yes, I think that would be good. Depending on the complexity of the
patch, you can do it in multiple ways:

a) one patch to all the dts files, which also removes the
   legacy_init_wl12xx() infrastructure

b) one patch to add the .dts changes, a second patch to remove the
   code from pdata-quirks.c and a third to remove the functionality
   in the driver

c) one patch per board.

I'm fine with any of these, but the omap maintainers might have a
preference.

	Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v3 2/2] wl18xx: add basic device-tree support
  2015-03-09  8:50             ` Arnd Bergmann
@ 2015-03-09 15:13               ` Eliad Peller
  -1 siblings, 0 replies; 22+ messages in thread
From: Eliad Peller @ 2015-03-09 15:13 UTC (permalink / raw)
  To: Arnd Bergmann; +Cc: linux-wireless, devicetree, Mark Rutland

On Mon, Mar 9, 2015 at 10:50 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> On Monday 09 March 2015 09:18:46 Eliad Peller wrote:
>> On Sun, Mar 8, 2015 at 11:53 PM, Arnd Bergmann <arnd@arndb.de> wrote:
>> > On Sunday 08 March 2015 13:13:13 Eliad Peller wrote:
>> >>
>> >> > I've looked up the what boards actually use this data and found that
>> >> > all of them already support booting from DT: some omap2 boards using
>> >> > arch/arm/mach-omap2/pdata-quirks.c to provide the data, and the
>> >> > davinci 850evm. Can you make sure you add the correct data to all
>> >> > of these dts files as part of your series and remove the
>> >> > wl12xx_platform_data references?
>> >>
>> >> AFAICT, these board files add wl12xx platform data, while the new DT
>> >> support is only for wl18xx.
>> >>
>> >
>> > How can you tell the difference? What I see is that omap3pandora
>> > (and nothing else) calls wl1251_set_platform_data(), while
>> > da850-evm and all omap3/omap4 boards use wl12xx_set_platform_data().
>> >
>> > The latter seems to refer to all wl12xx and wl18xx variants except
>> > for wl1251, based on my (very limited) understanding of that code.
>>
>> right.
>> i got mislead because legacy_init_wl12xx() is defined there only for
>> CONFIG_WL12XX (and not for CONFIG_WL18XX).
>> it looks like only "isee,omap3-igep0020-rev-f" and
>> "isee,omap3-igep0020-rev-g" have pdata quirks for wl18xx (and thus
>> initialize the pdata clocks to 0).
>
> Ok.
>
>> sorry for the trivial question, but what's the standard way to submit
>> such patch? should i simply add a third patch to the patchset which
>> removes the pdata quirk and adds the missing dts definition? i don't
>> have such board, so i can only compile-test it.
>
> Yes, I think that would be good. Depending on the complexity of the
> patch, you can do it in multiple ways:
>
> a) one patch to all the dts files, which also removes the
>    legacy_init_wl12xx() infrastructure
>
> b) one patch to add the .dts changes, a second patch to remove the
>    code from pdata-quirks.c and a third to remove the functionality
>    in the driver
>
> c) one patch per board.
>
> I'm fine with any of these, but the omap maintainers might have a
> preference.
>
thanks. i'll go with a single patch then (unless the maintainers
prefer otherwise).

Eliad.

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v3 2/2] wl18xx: add basic device-tree support
@ 2015-03-09 15:13               ` Eliad Peller
  0 siblings, 0 replies; 22+ messages in thread
From: Eliad Peller @ 2015-03-09 15:13 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: linux-wireless-u79uwXL29TY76Z2rM5mHXA,
	devicetree-u79uwXL29TY76Z2rM5mHXA, Mark Rutland

On Mon, Mar 9, 2015 at 10:50 AM, Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org> wrote:
> On Monday 09 March 2015 09:18:46 Eliad Peller wrote:
>> On Sun, Mar 8, 2015 at 11:53 PM, Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org> wrote:
>> > On Sunday 08 March 2015 13:13:13 Eliad Peller wrote:
>> >>
>> >> > I've looked up the what boards actually use this data and found that
>> >> > all of them already support booting from DT: some omap2 boards using
>> >> > arch/arm/mach-omap2/pdata-quirks.c to provide the data, and the
>> >> > davinci 850evm. Can you make sure you add the correct data to all
>> >> > of these dts files as part of your series and remove the
>> >> > wl12xx_platform_data references?
>> >>
>> >> AFAICT, these board files add wl12xx platform data, while the new DT
>> >> support is only for wl18xx.
>> >>
>> >
>> > How can you tell the difference? What I see is that omap3pandora
>> > (and nothing else) calls wl1251_set_platform_data(), while
>> > da850-evm and all omap3/omap4 boards use wl12xx_set_platform_data().
>> >
>> > The latter seems to refer to all wl12xx and wl18xx variants except
>> > for wl1251, based on my (very limited) understanding of that code.
>>
>> right.
>> i got mislead because legacy_init_wl12xx() is defined there only for
>> CONFIG_WL12XX (and not for CONFIG_WL18XX).
>> it looks like only "isee,omap3-igep0020-rev-f" and
>> "isee,omap3-igep0020-rev-g" have pdata quirks for wl18xx (and thus
>> initialize the pdata clocks to 0).
>
> Ok.
>
>> sorry for the trivial question, but what's the standard way to submit
>> such patch? should i simply add a third patch to the patchset which
>> removes the pdata quirk and adds the missing dts definition? i don't
>> have such board, so i can only compile-test it.
>
> Yes, I think that would be good. Depending on the complexity of the
> patch, you can do it in multiple ways:
>
> a) one patch to all the dts files, which also removes the
>    legacy_init_wl12xx() infrastructure
>
> b) one patch to add the .dts changes, a second patch to remove the
>    code from pdata-quirks.c and a third to remove the functionality
>    in the driver
>
> c) one patch per board.
>
> I'm fine with any of these, but the omap maintainers might have a
> preference.
>
thanks. i'll go with a single patch then (unless the maintainers
prefer otherwise).

Eliad.
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2015-03-09 15:13 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-02-19 16:13 [PATCH v3 1/2] dt: bindings: add wl18xx wireless device Eliad Peller
2015-02-19 16:13 ` Eliad Peller
2015-02-19 16:13 ` [PATCH v3 2/2] wl18xx: add basic device-tree support Eliad Peller
2015-02-19 16:13   ` Eliad Peller
2015-02-27  8:26   ` Arnd Bergmann
2015-02-27  8:26     ` Arnd Bergmann
2015-03-08 11:13     ` Eliad Peller
2015-03-08 11:13       ` Eliad Peller
2015-03-08 21:53       ` Arnd Bergmann
2015-03-08 21:53         ` Arnd Bergmann
2015-03-09  7:18         ` Eliad Peller
2015-03-09  7:18           ` Eliad Peller
2015-03-09  8:50           ` Arnd Bergmann
2015-03-09  8:50             ` Arnd Bergmann
2015-03-09 15:13             ` Eliad Peller
2015-03-09 15:13               ` Eliad Peller
2015-02-27  7:35 ` [PATCH v3 1/2] dt: bindings: add wl18xx wireless device Luca Coelho
2015-02-27  7:35   ` Luca Coelho
2015-02-27  8:14 ` Arnd Bergmann
2015-02-27  8:14   ` Arnd Bergmann
2015-03-08 11:06   ` Eliad Peller
2015-03-08 11:06     ` Eliad Peller

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.