linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] Add DT support for netxbig LEDs
@ 2015-02-23 15:04 Simon Guinot
  2015-02-23 15:04 ` [PATCH 1/3] leds: netxbig: add device tree binding Simon Guinot
                   ` (3 more replies)
  0 siblings, 4 replies; 13+ messages in thread
From: Simon Guinot @ 2015-02-23 15:04 UTC (permalink / raw)
  To: linux-arm-kernel

Hello,

This patch series adds DT support for the LEDs found on the Kirkwood-based
LaCie boards 2Big and 5Big Network v2.

Simon

Simon Guinot (3):
  leds: netxbig: add device tree binding
  ARM: Kirkwood: add LED DT entries for netxbig boards
  ARM: mvebu: remove static LED setup for netxbig boards

 .../devicetree/bindings/gpio/netxbig-gpio-ext.txt  |  22 ++
 .../devicetree/bindings/leds/leds-netxbig.txt      |  90 ++++++++
 arch/arm/boot/dts/kirkwood-net5big.dts             |  60 +++++
 arch/arm/boot/dts/kirkwood-netxbig.dtsi            |  80 +++++++
 arch/arm/mach-mvebu/Kconfig                        |   7 -
 arch/arm/mach-mvebu/Makefile                       |   1 -
 arch/arm/mach-mvebu/board.h                        |  21 --
 arch/arm/mach-mvebu/kirkwood.c                     |   4 -
 arch/arm/mach-mvebu/netxbig.c                      | 191 ----------------
 drivers/leds/leds-netxbig.c                        | 244 +++++++++++++++++++--
 include/dt-bindings/leds/leds-netxbig.h            |  18 ++
 11 files changed, 493 insertions(+), 245 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/gpio/netxbig-gpio-ext.txt
 create mode 100644 Documentation/devicetree/bindings/leds/leds-netxbig.txt
 delete mode 100644 arch/arm/mach-mvebu/board.h
 delete mode 100644 arch/arm/mach-mvebu/netxbig.c
 create mode 100644 include/dt-bindings/leds/leds-netxbig.h

-- 
2.1.1

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

* [PATCH 1/3] leds: netxbig: add device tree binding
  2015-02-23 15:04 [PATCH 0/3] Add DT support for netxbig LEDs Simon Guinot
@ 2015-02-23 15:04 ` Simon Guinot
  2015-02-23 15:04 ` [PATCH 2/3] ARM: Kirkwood: add LED DT entries for netxbig boards Simon Guinot
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 13+ messages in thread
From: Simon Guinot @ 2015-02-23 15:04 UTC (permalink / raw)
  To: linux-arm-kernel

This patch adds device tree support for the netxbig LEDs.

This also introduces a additionnal DT binding for the GPIO extension bus
(netxbig-gpio-ext) used to configure the LEDs. Since this bus could also
be used to control other devices, then it seems more suitable to have it
in a separate DT binding.

Signed-off-by: Simon Guinot <simon.guinot@sequanux.org>
---
 .../devicetree/bindings/gpio/netxbig-gpio-ext.txt  |  22 ++
 .../devicetree/bindings/leds/leds-netxbig.txt      |  90 ++++++++
 drivers/leds/leds-netxbig.c                        | 244 +++++++++++++++++++--
 include/dt-bindings/leds/leds-netxbig.h            |  18 ++
 4 files changed, 353 insertions(+), 21 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/gpio/netxbig-gpio-ext.txt
 create mode 100644 Documentation/devicetree/bindings/leds/leds-netxbig.txt
 create mode 100644 include/dt-bindings/leds/leds-netxbig.h

diff --git a/Documentation/devicetree/bindings/gpio/netxbig-gpio-ext.txt b/Documentation/devicetree/bindings/gpio/netxbig-gpio-ext.txt
new file mode 100644
index 000000000000..e4fb2fe11086
--- /dev/null
+++ b/Documentation/devicetree/bindings/gpio/netxbig-gpio-ext.txt
@@ -0,0 +1,22 @@
+Binding for the GPIO extension bus found on some LaCie/Seagate boards
+(Example: 2Big/5Big Network v2, 2Big NAS).
+
+Required properties:
+- compatible: "lacie,netxbig-gpio-ext".
+- addr-gpios: GPIOs representing the address register.
+- data-gpios: GPIOs representing the data register.
+- enable-gpio: GPIO used to enable the new configuration (address, data).
+
+Example:
+
+netxbig_gpio_ext: netxbig-gpio-ext {
+	compatible = "lacie,netxbig-gpio-ext";
+
+	addr-gpios = <&gpio1 15 GPIO_ACTIVE_HIGH
+		      &gpio1 16 GPIO_ACTIVE_HIGH
+		      &gpio1 17 GPIO_ACTIVE_HIGH>;
+	data-gpios = <&gpio1 12 GPIO_ACTIVE_HIGH
+		      &gpio1 13 GPIO_ACTIVE_HIGH
+		      &gpio1 14 GPIO_ACTIVE_HIGH>;
+	enable-gpio = <&gpio0 29 GPIO_ACTIVE_HIGH>;
+};
diff --git a/Documentation/devicetree/bindings/leds/leds-netxbig.txt b/Documentation/devicetree/bindings/leds/leds-netxbig.txt
new file mode 100644
index 000000000000..a4e64c697c65
--- /dev/null
+++ b/Documentation/devicetree/bindings/leds/leds-netxbig.txt
@@ -0,0 +1,90 @@
+Binding for the CPLD LEDs (GPIO extension bus) found on some LaCie/Seagate
+boards (Example: 2Big/5Big Network v2, 2Big NAS).
+
+Required properties:
+- compatible: "lacie,netxbig-leds".
+- gpio-ext: Phandle for the gpio-ext bus.
+- timers: Timer array. Each timer entry is represented by three integers:
+  Mode (gpio-ext bus), delay_on and delay_off.
+
+Each LED is represented as a sub-node of the netxbig-leds device.
+
+Required sub-node properties:
+- mode-addr: Mode register address on gpio-ext bus.
+- mode-val: Mode to value mapping. Each entry is represented by two integers:
+  A mode and the corresponding value on the gpio-ext bus.
+- bright-addr: Brightness register address on gpio-ext bus.
+- bright-max: Maximum brightness value.
+
+Optional sub-node properties:
+- label: Name for this LED. If omitted, the label is taken from the node name.
+- linux,default-trigger: Trigger assigned to the LED.
+
+Example:
+
+netxbig-leds {
+	compatible = "lacie,netxbig-leds";
+
+	gpio-ext = &gpio_ext;
+
+	timers = <NETXBIG_LED_TIMER1 500 500
+		  NETXBIG_LED_TIMER2 500 1000>;
+
+	blue-power {
+		label = "netxbig:blue:power";
+		mode-addr = <0>;
+		mode-val = <NETXBIG_LED_OFF 0
+			    NETXBIG_LED_ON 1
+			    NETXBIG_LED_TIMER1 3
+			    NETXBIG_LED_TIMER2 7>;
+		bright-addr = <1>;
+		bright-max = <7>;
+	};
+	red-power {
+		label = "netxbig:red:power";
+		mode-addr = <0>;
+		mode-val = <NETXBIG_LED_OFF 0
+			    NETXBIG_LED_ON 2
+			    NETXBIG_LED_TIMER1 4>;
+		bright-addr = <1>;
+		bright-max = <7>;
+	};
+	blue-sata0 {
+		label = "netxbig:blue:sata0";
+		mode-addr = <3>;
+		mode-val = <NETXBIG_LED_OFF 0
+			    NETXBIG_LED_ON 7
+			    NETXBIG_LED_SATA 1
+			    NETXBIG_LED_TIMER1 3>;
+		bright-addr = <2>;
+		bright-max = <7>;
+	};
+	red-sata0 {
+		label = "netxbig:red:sata0";
+		mode-addr = <3>;
+		mode-val = <NETXBIG_LED_OFF 0
+			    NETXBIG_LED_ON 2
+			    NETXBIG_LED_TIMER1 4>;
+		bright-addr = <2>;
+		bright-max = <7>;
+	};
+	blue-sata1 {
+		label = "netxbig:blue:sata1";
+		mode-addr = <4>;
+		mode-val = <NETXBIG_LED_OFF 0
+			    NETXBIG_LED_ON 7
+			    NETXBIG_LED_SATA 1
+			    NETXBIG_LED_TIMER1 3>;
+		bright-addr = <2>;
+		bright-max = <7>;
+	};
+	red-sata1 {
+		label = "netxbig:red:sata1";
+		mode-addr = <4>;
+		mode-val = <NETXBIG_LED_OFF 0
+			    NETXBIG_LED_ON 2
+			    NETXBIG_LED_TIMER1 4>;
+		bright-addr = <2>;
+		bright-max = <7>;
+	};
+};
diff --git a/drivers/leds/leds-netxbig.c b/drivers/leds/leds-netxbig.c
index 25e419752a7b..028686f2b1e8 100644
--- a/drivers/leds/leds-netxbig.c
+++ b/drivers/leds/leds-netxbig.c
@@ -26,6 +26,7 @@
 #include <linux/spinlock.h>
 #include <linux/platform_device.h>
 #include <linux/gpio.h>
+#include <linux/of_gpio.h>
 #include <linux/leds.h>
 #include <linux/platform_data/leds-kirkwood-netxbig.h>
 
@@ -140,6 +141,11 @@ struct netxbig_led_data {
 	spinlock_t		lock;
 };
 
+struct netxbig_led_priv {
+	struct netxbig_led_platform_data *pdata;
+	struct netxbig_led_data leds_data[];
+};
+
 static int netxbig_led_get_timer_mode(enum netxbig_led_mode *mode,
 				      unsigned long delay_on,
 				      unsigned long delay_off,
@@ -304,12 +310,12 @@ static void delete_netxbig_led(struct netxbig_led_data *led_dat)
 	led_classdev_unregister(&led_dat->cdev);
 }
 
-static int
-create_netxbig_led(struct platform_device *pdev,
-		   struct netxbig_led_data *led_dat,
-		   const struct netxbig_led *template)
+static int create_netxbig_led(struct platform_device *pdev, int led,
+			      struct netxbig_led_priv *priv)
 {
-	struct netxbig_led_platform_data *pdata = dev_get_platdata(&pdev->dev);
+	struct netxbig_led_platform_data *pdata = priv->pdata;
+	struct netxbig_led_data *led_dat = &priv->leds_data[led];
+	const struct netxbig_led *template = &priv->pdata->leds[led];
 
 	spin_lock_init(&led_dat->lock);
 	led_dat->gpio_ext = pdata->gpio_ext;
@@ -346,38 +352,235 @@ create_netxbig_led(struct platform_device *pdev,
 	return led_classdev_register(&pdev->dev, &led_dat->cdev);
 }
 
+#ifdef CONFIG_OF_GPIO
+static int gpio_ext_get_of_pdata(struct device *dev, struct device_node *np,
+				 struct netxbig_gpio_ext *gpio_ext)
+{
+	int *addr, *data;
+	int num_addr, num_data;
+	int ret;
+	int i;
+
+	ret = of_gpio_named_count(np, "addr-gpios");
+	if (ret < 0)
+		return ret;
+	num_addr = ret;
+	addr = devm_kzalloc(dev, num_addr * sizeof(unsigned int), GFP_KERNEL);
+	if (!addr)
+		return -ENOMEM;
+
+	for (i = 0; i < num_addr; i++) {
+		ret = of_get_named_gpio(np, "addr-gpios", i);
+		if (ret < 0)
+			return ret;
+		addr[i] = ret;
+	}
+	gpio_ext->addr = addr;
+	gpio_ext->num_addr = num_addr;
+
+	ret = of_gpio_named_count(np, "data-gpios");
+	if (ret < 0)
+		return ret;
+	num_data = ret;
+	data = devm_kzalloc(dev, num_data * sizeof(unsigned int), GFP_KERNEL);
+	if (!data)
+		return -ENOMEM;
+
+	for (i = 0; i < num_data; i++) {
+		ret = of_get_named_gpio(np, "data-gpios", i);
+		if (ret < 0)
+			return ret;
+		data[i] = ret;
+	}
+	gpio_ext->data = data;
+	gpio_ext->num_data = num_data;
+
+	ret = of_get_named_gpio(np, "enable-gpio", 0);
+	if (ret < 0)
+		return ret;
+	gpio_ext->enable = ret;
+
+	return 0;
+}
+
+static int netxbig_leds_get_of_pdata(struct device *dev,
+				     struct netxbig_led_platform_data *pdata)
+{
+	struct device_node *np = dev->of_node;
+	struct device_node *gpio_ext_np;
+	struct device_node *child;
+	struct netxbig_gpio_ext *gpio_ext;
+	struct netxbig_led_timer *timers;
+	struct netxbig_led *leds, *led;
+	int num_timers;
+	int num_leds = 0;
+	int ret;
+	int i;
+
+	/* GPIO extension */
+	gpio_ext_np = of_parse_phandle(np, "gpio-ext", 0);
+	if (!gpio_ext_np)
+		return -EINVAL;
+
+	gpio_ext = devm_kzalloc(dev, sizeof(struct netxbig_gpio_ext),
+				GFP_KERNEL);
+	if (!gpio_ext)
+		return -ENOMEM;
+	ret = gpio_ext_get_of_pdata(dev, gpio_ext_np, gpio_ext);
+	if (ret)
+		return ret;
+	of_node_put(gpio_ext_np);
+	pdata->gpio_ext = gpio_ext;
+
+	/* Timers (optional) */
+	ret = of_property_count_u32_elems(np, "timers");
+	if (ret > 0) {
+		if (ret % 3)
+			return -EINVAL;
+		num_timers = ret / 3;
+		timers = devm_kzalloc(dev,
+				num_timers * sizeof(struct netxbig_led_timer),
+				GFP_KERNEL);
+		if (!timers)
+			return -ENOMEM;
+		for (i = 0; i < num_timers; i++) {
+			of_property_read_u32_index(np, "timers", 3 * i,
+						&timers[i].mode);
+			of_property_read_u32_index(np, "timers", 3 * i + 1,
+						(u32 *) &timers[i].delay_on);
+			of_property_read_u32_index(np, "timers", 3 * i + 2,
+						(u32 *) &timers[i].delay_off);
+		}
+		pdata->timer = timers;
+		pdata->num_timer = num_timers;
+	}
+
+	/* LEDs */
+	num_leds = of_get_child_count(np);
+	if (!num_leds)
+		return -ENODEV;
+
+	leds = devm_kzalloc(dev, num_leds * sizeof(struct netxbig_led),
+			    GFP_KERNEL);
+	if (!leds)
+		return -ENOMEM;
+
+	led = leds;
+	for_each_child_of_node(np, child) {
+		const char *string;
+		int *mode_val;
+		int num_modes;
+
+		if (!of_property_read_string(child, "label", &string))
+			led->name = string;
+		else
+			led->name = child->name;
+
+		if (!of_property_read_string(child,
+					     "linux,default-trigger", &string))
+			led->default_trigger = string;
+
+		if (of_property_read_u32(child, "mode-addr",
+					 &led->mode_addr))
+			return -EINVAL;
+
+		if (of_property_read_u32(child, "bright-addr",
+					 &led->bright_addr))
+			return -EINVAL;
+
+		mode_val = devm_kzalloc(dev,
+					NETXBIG_LED_MODE_NUM * sizeof(int),
+					GFP_KERNEL);
+		if (!mode_val)
+			return -ENOMEM;
+
+		for (i = 0; i < NETXBIG_LED_MODE_NUM; i++)
+			mode_val[i] = NETXBIG_LED_INVALID_MODE;
+
+		ret = of_property_count_u32_elems(child, "mode-val");
+		if (ret < 0 || ret % 2)
+			return -EINVAL;
+		num_modes = ret / 2;
+		if (num_modes > NETXBIG_LED_MODE_NUM)
+			return -EINVAL;
+
+		for (i = 0; i < num_modes; i++) {
+			int mode;
+			int val;
+
+			of_property_read_u32_index(child,
+						   "mode-val", 2 * i, &mode);
+			of_property_read_u32_index(child,
+						   "mode-val", 2 * i + 1, &val);
+			if (mode > NETXBIG_LED_MODE_NUM)
+				return -EINVAL;
+			mode_val[mode] = val;
+		}
+		led->mode_val = mode_val;
+
+		led++;
+	}
+
+	pdata->leds = leds;
+	pdata->num_leds = num_leds;
+
+	return 0;
+}
+
+static const struct of_device_id of_netxbig_leds_match[] = {
+	{ .compatible = "lacie,netxbig-leds", },
+	{},
+};
+#else
+static int netxbig_leds_get_of_pdata(struct device *dev,
+				     struct netxbig_led_platform_data *pdata)
+{
+	return -ENODEV;
+}
+#endif /* CONFIG_OF_GPIO */
+
 static int netxbig_led_probe(struct platform_device *pdev)
 {
 	struct netxbig_led_platform_data *pdata = dev_get_platdata(&pdev->dev);
-	struct netxbig_led_data *leds_data;
+	struct netxbig_led_priv *priv;
 	int i;
 	int ret;
 
-	if (!pdata)
-		return -EINVAL;
+	if (!pdata) {
+		pdata = devm_kzalloc(&pdev->dev,
+				     sizeof(struct netxbig_led_platform_data),
+				     GFP_KERNEL);
+		if (!pdata)
+			return -ENOMEM;
+		ret = netxbig_leds_get_of_pdata(&pdev->dev, pdata);
+		if (ret)
+			return ret;
+	}
 
-	leds_data = devm_kzalloc(&pdev->dev,
-		sizeof(struct netxbig_led_data) * pdata->num_leds, GFP_KERNEL);
-	if (!leds_data)
+	priv = devm_kzalloc(&pdev->dev,
+			    sizeof(struct netxbig_led_priv) +
+			    pdata->num_leds * sizeof(struct netxbig_led_data),
+			    GFP_KERNEL);
+	if (!priv)
 		return -ENOMEM;
+	priv->pdata = pdata;
 
 	ret = gpio_ext_init(pdata->gpio_ext);
 	if (ret < 0)
 		return ret;
 
 	for (i = 0; i < pdata->num_leds; i++) {
-		ret = create_netxbig_led(pdev, &leds_data[i], &pdata->leds[i]);
+		ret = create_netxbig_led(pdev, i, priv);
 		if (ret < 0)
 			goto err_free_leds;
 	}
-
-	platform_set_drvdata(pdev, leds_data);
+	platform_set_drvdata(pdev, priv);
 
 	return 0;
 
 err_free_leds:
 	for (i = i - 1; i >= 0; i--)
-		delete_netxbig_led(&leds_data[i]);
+		delete_netxbig_led(&priv->leds_data[i]);
 
 	gpio_ext_free(pdata->gpio_ext);
 	return ret;
@@ -385,14 +588,12 @@ err_free_leds:
 
 static int netxbig_led_remove(struct platform_device *pdev)
 {
-	struct netxbig_led_platform_data *pdata = dev_get_platdata(&pdev->dev);
-	struct netxbig_led_data *leds_data;
+	struct netxbig_led_priv *priv = platform_get_drvdata(pdev);
+	struct netxbig_led_platform_data *pdata = priv->pdata;
 	int i;
 
-	leds_data = platform_get_drvdata(pdev);
-
 	for (i = 0; i < pdata->num_leds; i++)
-		delete_netxbig_led(&leds_data[i]);
+		delete_netxbig_led(&priv->leds_data[i]);
 
 	gpio_ext_free(pdata->gpio_ext);
 
@@ -403,7 +604,8 @@ static struct platform_driver netxbig_led_driver = {
 	.probe		= netxbig_led_probe,
 	.remove		= netxbig_led_remove,
 	.driver		= {
-		.name	= "leds-netxbig",
+		.name		= "leds-netxbig",
+		.of_match_table	= of_match_ptr(of_netxbig_leds_match),
 	},
 };
 
diff --git a/include/dt-bindings/leds/leds-netxbig.h b/include/dt-bindings/leds/leds-netxbig.h
new file mode 100644
index 000000000000..92658b0310b2
--- /dev/null
+++ b/include/dt-bindings/leds/leds-netxbig.h
@@ -0,0 +1,18 @@
+/*
+ * This header provides constants for netxbig LED bindings.
+ *
+ * This file is licensed under the terms of the GNU General Public
+ * License version 2.  This program is licensed "as is" without any
+ * warranty of any kind, whether express or implied.
+ */
+
+#ifndef _DT_BINDINGS_LEDS_NETXBIG_H
+#define _DT_BINDINGS_LEDS_NETXBIG_H
+
+#define NETXBIG_LED_OFF		0
+#define NETXBIG_LED_ON		1
+#define NETXBIG_LED_SATA	2
+#define NETXBIG_LED_TIMER1	3
+#define NETXBIG_LED_TIMER2	4
+
+#endif /* _DT_BINDINGS_LEDS_NETXBIG_H */
-- 
2.1.1

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

* [PATCH 2/3] ARM: Kirkwood: add LED DT entries for netxbig boards
  2015-02-23 15:04 [PATCH 0/3] Add DT support for netxbig LEDs Simon Guinot
  2015-02-23 15:04 ` [PATCH 1/3] leds: netxbig: add device tree binding Simon Guinot
@ 2015-02-23 15:04 ` Simon Guinot
  2015-02-23 15:04 ` [PATCH 3/3] ARM: mvebu: remove static LED setup " Simon Guinot
  2015-03-09  9:41 ` [PATCH 0/3] Add DT support for netxbig LEDs Simon Guinot
  3 siblings, 0 replies; 13+ messages in thread
From: Simon Guinot @ 2015-02-23 15:04 UTC (permalink / raw)
  To: linux-arm-kernel

This patch adds DT entries for the LEDs found on the Kirkwood-based
LaCie boards 2Big and 5Big Network v2.

Signed-off-by: Simon Guinot <simon.guinot@sequanux.org>
---
 arch/arm/boot/dts/kirkwood-net5big.dts  | 60 +++++++++++++++++++++++++
 arch/arm/boot/dts/kirkwood-netxbig.dtsi | 80 +++++++++++++++++++++++++++++++++
 2 files changed, 140 insertions(+)

diff --git a/arch/arm/boot/dts/kirkwood-net5big.dts b/arch/arm/boot/dts/kirkwood-net5big.dts
index 36155b749d9f..3cc5e469df06 100644
--- a/arch/arm/boot/dts/kirkwood-net5big.dts
+++ b/arch/arm/boot/dts/kirkwood-net5big.dts
@@ -86,6 +86,66 @@
 			 clock-frequency = <32768>;
 	       };
 	};
+
+	netxbig-leds {
+		blue-sata2 {
+			label = "netxbig:blue:sata2";
+			mode-addr = <5>;
+			mode-val = <NETXBIG_LED_OFF 0
+				    NETXBIG_LED_ON 7
+				    NETXBIG_LED_SATA 1
+				    NETXBIG_LED_TIMER1 3>;
+			bright-addr = <2>;
+			bright-max = <7>;
+		};
+		red-sata2 {
+			label = "netxbig:red:sata2";
+			mode-addr = <5>;
+			mode-val = <NETXBIG_LED_OFF 0
+				    NETXBIG_LED_ON 2
+				    NETXBIG_LED_TIMER1 4>;
+			bright-addr = <2>;
+			bright-max = <7>;
+		};
+		blue-sata3 {
+			label = "netxbig:blue:sata3";
+			mode-addr = <6>;
+			mode-val = <NETXBIG_LED_OFF 0
+				    NETXBIG_LED_ON 7
+				    NETXBIG_LED_SATA 1
+				    NETXBIG_LED_TIMER1 3>;
+			bright-addr = <2>;
+			bright-max = <7>;
+		};
+		red-sata3 {
+			label = "netxbig:red:sata3";
+			mode-addr = <6>;
+			mode-val = <NETXBIG_LED_OFF 0
+				    NETXBIG_LED_ON 2
+				    NETXBIG_LED_TIMER1 4>;
+			bright-addr = <2>;
+			bright-max = <7>;
+		};
+		blue-sata4 {
+			label = "netxbig:blue:sata4";
+			mode-addr = <7>;
+			mode-val = <NETXBIG_LED_OFF 0
+				    NETXBIG_LED_ON 7
+				    NETXBIG_LED_SATA 1
+				    NETXBIG_LED_TIMER1 3>;
+			bright-addr = <2>;
+			bright-max = <7>;
+		};
+		red-sata4 {
+			label = "netxbig:red:sata4";
+			mode-addr = <7>;
+			mode-val = <NETXBIG_LED_OFF 0
+				    NETXBIG_LED_ON 2
+				    NETXBIG_LED_TIMER1 4>;
+			bright-addr = <2>;
+			bright-max = <7>;
+		};
+	};
 };
 
 &mdio {
diff --git a/arch/arm/boot/dts/kirkwood-netxbig.dtsi b/arch/arm/boot/dts/kirkwood-netxbig.dtsi
index b0cfb7cd30b9..5e7ed1c7e1b2 100644
--- a/arch/arm/boot/dts/kirkwood-netxbig.dtsi
+++ b/arch/arm/boot/dts/kirkwood-netxbig.dtsi
@@ -13,6 +13,7 @@
  * warranty of any kind, whether express or implied.
 */
 
+#include <dt-bindings/leds/leds-netxbig.h>
 #include "kirkwood.dtsi"
 #include "kirkwood-6281.dtsi"
 
@@ -105,6 +106,85 @@
 			gpio = <&gpio0 16 GPIO_ACTIVE_HIGH>;
 		};
 	};
+
+	netxbig_gpio_ext: netxbig-gpio-ext {
+		compatible = "lacie,netxbig-gpio-ext";
+
+		addr-gpios = <&gpio1 15 GPIO_ACTIVE_HIGH
+			      &gpio1 16 GPIO_ACTIVE_HIGH
+			      &gpio1 17 GPIO_ACTIVE_HIGH>;
+		data-gpios = <&gpio1 12 GPIO_ACTIVE_HIGH
+			      &gpio1 13 GPIO_ACTIVE_HIGH
+			      &gpio1 14 GPIO_ACTIVE_HIGH>;
+		enable-gpio = <&gpio0 29 GPIO_ACTIVE_HIGH>;
+	};
+
+	netxbig-leds {
+		compatible = "lacie,netxbig-leds";
+
+		gpio-ext = <&netxbig_gpio_ext>;
+
+		timers = <NETXBIG_LED_TIMER1 500 500
+			  NETXBIG_LED_TIMER2 500 1000>;
+
+		blue-power {
+			label = "netxbig:blue:power";
+			mode-addr = <0>;
+			mode-val = <NETXBIG_LED_OFF 0
+				    NETXBIG_LED_ON 1
+				    NETXBIG_LED_TIMER1 3
+				    NETXBIG_LED_TIMER2 7>;
+			bright-addr = <1>;
+			bright-max = <7>;
+		};
+		red-power {
+			label = "netxbig:red:power";
+			mode-addr = <0>;
+			mode-val = <NETXBIG_LED_OFF 0
+				    NETXBIG_LED_ON 2
+				    NETXBIG_LED_TIMER1 4>;
+			bright-addr = <1>;
+			bright-max = <7>;
+		};
+		blue-sata0 {
+			label = "netxbig:blue:sata0";
+			mode-addr = <3>;
+			mode-val = <NETXBIG_LED_OFF 0
+				    NETXBIG_LED_ON 7
+				    NETXBIG_LED_SATA 1
+				    NETXBIG_LED_TIMER1 3>;
+			bright-addr = <2>;
+			bright-max = <7>;
+		};
+		red-sata0 {
+			label = "netxbig:red:sata0";
+			mode-addr = <3>;
+			mode-val = <NETXBIG_LED_OFF 0
+				    NETXBIG_LED_ON 2
+				    NETXBIG_LED_TIMER1 4>;
+			bright-addr = <2>;
+			bright-max = <7>;
+		};
+		blue-sata1 {
+			label = "netxbig:blue:sata1";
+			mode-addr = <4>;
+			mode-val = <NETXBIG_LED_OFF 0
+				    NETXBIG_LED_ON 7
+				    NETXBIG_LED_SATA 1
+				    NETXBIG_LED_TIMER1 3>;
+			bright-addr = <2>;
+			bright-max = <7>;
+		};
+		red-sata1 {
+			label = "netxbig:red:sata1";
+			mode-addr = <4>;
+			mode-val = <NETXBIG_LED_OFF 0
+				    NETXBIG_LED_ON 2
+				    NETXBIG_LED_TIMER1 4>;
+			bright-addr = <2>;
+			bright-max = <7>;
+		};
+	};
 };
 
 &mdio {
-- 
2.1.1

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

* [PATCH 3/3] ARM: mvebu: remove static LED setup for netxbig boards
  2015-02-23 15:04 [PATCH 0/3] Add DT support for netxbig LEDs Simon Guinot
  2015-02-23 15:04 ` [PATCH 1/3] leds: netxbig: add device tree binding Simon Guinot
  2015-02-23 15:04 ` [PATCH 2/3] ARM: Kirkwood: add LED DT entries for netxbig boards Simon Guinot
@ 2015-02-23 15:04 ` Simon Guinot
  2015-03-09  9:41 ` [PATCH 0/3] Add DT support for netxbig LEDs Simon Guinot
  3 siblings, 0 replies; 13+ messages in thread
From: Simon Guinot @ 2015-02-23 15:04 UTC (permalink / raw)
  To: linux-arm-kernel

Since DT support is now available for the LEDs found on the LaCie
netxbig boards (Kirkwood-based), then the old-fashion netxbig board
setup file is no longer needed. This patch removes this file.

Signed-off-by: Simon Guinot <simon.guinot@sequanux.org>
---
 arch/arm/mach-mvebu/Kconfig    |   7 --
 arch/arm/mach-mvebu/Makefile   |   1 -
 arch/arm/mach-mvebu/board.h    |  21 -----
 arch/arm/mach-mvebu/kirkwood.c |   4 -
 arch/arm/mach-mvebu/netxbig.c  | 191 -----------------------------------------
 5 files changed, 224 deletions(-)
 delete mode 100644 arch/arm/mach-mvebu/board.h
 delete mode 100644 arch/arm/mach-mvebu/netxbig.c

diff --git a/arch/arm/mach-mvebu/Kconfig b/arch/arm/mach-mvebu/Kconfig
index c1e4567a5ab3..e58020bc80c0 100644
--- a/arch/arm/mach-mvebu/Kconfig
+++ b/arch/arm/mach-mvebu/Kconfig
@@ -102,11 +102,4 @@ config MACH_KIRKWOOD
 	  Say 'Y' here if you want your kernel to support boards based
 	  on the Marvell Kirkwood device tree.
 
-config MACH_NETXBIG
-	bool "LaCie 2Big and 5Big Network v2"
-	depends on MACH_KIRKWOOD
-	help
-	  Say 'Y' here if you want your kernel to support the
-	  LaCie 2Big and 5Big Network v2
-
 endif
diff --git a/arch/arm/mach-mvebu/Makefile b/arch/arm/mach-mvebu/Makefile
index b4f01497ce0b..ecf9e0c3b107 100644
--- a/arch/arm/mach-mvebu/Makefile
+++ b/arch/arm/mach-mvebu/Makefile
@@ -13,4 +13,3 @@ endif
 
 obj-$(CONFIG_MACH_DOVE)		 += dove.o
 obj-$(CONFIG_MACH_KIRKWOOD)	 += kirkwood.o kirkwood-pm.o
-obj-$(CONFIG_MACH_NETXBIG)	 += netxbig.o
diff --git a/arch/arm/mach-mvebu/board.h b/arch/arm/mach-mvebu/board.h
deleted file mode 100644
index 98e32cc2ef3d..000000000000
--- a/arch/arm/mach-mvebu/board.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Board functions for Marvell System On Chip
- *
- * Copyright (C) 2014
- *
- * Andrew Lunn <andrew@lunn.ch>
- *
- * This file is licensed under the terms of the GNU General Public
- * License version 2.  This program is licensed "as is" without any
- * warranty of any kind, whether express or implied.
- */
-
-#ifndef __ARCH_MVEBU_BOARD_H
-#define __ARCH_MVEBU_BOARD_H
-
-#ifdef CONFIG_MACH_NETXBIG
-void netxbig_init(void);
-#else
-static inline void netxbig_init(void) {};
-#endif
-#endif
diff --git a/arch/arm/mach-mvebu/kirkwood.c b/arch/arm/mach-mvebu/kirkwood.c
index 6b5310828eb2..e81b33dc57d8 100644
--- a/arch/arm/mach-mvebu/kirkwood.c
+++ b/arch/arm/mach-mvebu/kirkwood.c
@@ -25,7 +25,6 @@
 #include "kirkwood.h"
 #include "kirkwood-pm.h"
 #include "common.h"
-#include "board.h"
 
 static struct resource kirkwood_cpufreq_resources[] = {
 	[0] = {
@@ -180,9 +179,6 @@ static void __init kirkwood_dt_init(void)
 	kirkwood_pm_init();
 	kirkwood_dt_eth_fixup();
 
-	if (of_machine_is_compatible("lacie,netxbig"))
-		netxbig_init();
-
 	of_platform_populate(NULL, of_default_bus_match_table, auxdata, NULL);
 }
 
diff --git a/arch/arm/mach-mvebu/netxbig.c b/arch/arm/mach-mvebu/netxbig.c
deleted file mode 100644
index 94b11b6585a4..000000000000
--- a/arch/arm/mach-mvebu/netxbig.c
+++ /dev/null
@@ -1,191 +0,0 @@
-/*
- * arch/arm/mach-mvbu/board-netxbig.c
- *
- * LaCie 2Big and 5Big Network v2 board setup
- *
- * Copyright (C) 2010 Simon Guinot <sguinot@lacie.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-
-#include <linux/kernel.h>
-#include <linux/of.h>
-#include <linux/platform_device.h>
-#include <linux/platform_data/leds-kirkwood-netxbig.h>
-#include "common.h"
-
-/*****************************************************************************
- * GPIO extension LEDs
- ****************************************************************************/
-
-/*
- * The LEDs are controlled by a CPLD and can be configured through a GPIO
- * extension bus:
- *
- * - address register : bit [0-2] -> GPIO [47-49]
- * - data register    : bit [0-2] -> GPIO [44-46]
- * - enable register  : GPIO 29
- */
-
-static int netxbig_v2_gpio_ext_addr[] = { 47, 48, 49 };
-static int netxbig_v2_gpio_ext_data[] = { 44, 45, 46 };
-
-static struct netxbig_gpio_ext netxbig_v2_gpio_ext = {
-	.addr		= netxbig_v2_gpio_ext_addr,
-	.num_addr	= ARRAY_SIZE(netxbig_v2_gpio_ext_addr),
-	.data		= netxbig_v2_gpio_ext_data,
-	.num_data	= ARRAY_SIZE(netxbig_v2_gpio_ext_data),
-	.enable		= 29,
-};
-
-/*
- * Address register selection:
- *
- * addr | register
- * ----------------------------
- *   0  | front LED
- *   1  | front LED brightness
- *   2  | SATA LED brightness
- *   3  | SATA0 LED
- *   4  | SATA1 LED
- *   5  | SATA2 LED
- *   6  | SATA3 LED
- *   7  | SATA4 LED
- *
- * Data register configuration:
- *
- * data | LED brightness
- * -------------------------------------------------
- *   0  | min (off)
- *   -  | -
- *   7  | max
- *
- * data | front LED mode
- * -------------------------------------------------
- *   0  | fix off
- *   1  | fix blue on
- *   2  | fix red on
- *   3  | blink blue on=1 sec and blue off=1 sec
- *   4  | blink red on=1 sec and red off=1 sec
- *   5  | blink blue on=2.5 sec and red on=0.5 sec
- *   6  | blink blue on=1 sec and red on=1 sec
- *   7  | blink blue on=0.5 sec and blue off=2.5 sec
- *
- * data | SATA LED mode
- * -------------------------------------------------
- *   0  | fix off
- *   1  | SATA activity blink
- *   2  | fix red on
- *   3  | blink blue on=1 sec and blue off=1 sec
- *   4  | blink red on=1 sec and red off=1 sec
- *   5  | blink blue on=2.5 sec and red on=0.5 sec
- *   6  | blink blue on=1 sec and red on=1 sec
- *   7  | fix blue on
- */
-
-static int netxbig_v2_red_mled[NETXBIG_LED_MODE_NUM] = {
-	[NETXBIG_LED_OFF]	= 0,
-	[NETXBIG_LED_ON]	= 2,
-	[NETXBIG_LED_SATA]	= NETXBIG_LED_INVALID_MODE,
-	[NETXBIG_LED_TIMER1]	= 4,
-	[NETXBIG_LED_TIMER2]	= NETXBIG_LED_INVALID_MODE,
-};
-
-static int netxbig_v2_blue_pwr_mled[NETXBIG_LED_MODE_NUM] = {
-	[NETXBIG_LED_OFF]	= 0,
-	[NETXBIG_LED_ON]	= 1,
-	[NETXBIG_LED_SATA]	= NETXBIG_LED_INVALID_MODE,
-	[NETXBIG_LED_TIMER1]	= 3,
-	[NETXBIG_LED_TIMER2]	= 7,
-};
-
-static int netxbig_v2_blue_sata_mled[NETXBIG_LED_MODE_NUM] = {
-	[NETXBIG_LED_OFF]	= 0,
-	[NETXBIG_LED_ON]	= 7,
-	[NETXBIG_LED_SATA]	= 1,
-	[NETXBIG_LED_TIMER1]	= 3,
-	[NETXBIG_LED_TIMER2]	= NETXBIG_LED_INVALID_MODE,
-};
-
-static struct netxbig_led_timer netxbig_v2_led_timer[] = {
-	[0] = {
-		.delay_on	= 500,
-		.delay_off	= 500,
-		.mode		= NETXBIG_LED_TIMER1,
-	},
-	[1] = {
-		.delay_on	= 500,
-		.delay_off	= 1000,
-		.mode		= NETXBIG_LED_TIMER2,
-	},
-};
-
-#define NETXBIG_LED(_name, maddr, mval, baddr)			\
-	{ .name		= _name,				\
-	  .mode_addr	= maddr,				\
-	  .mode_val	= mval,					\
-	  .bright_addr	= baddr }
-
-static struct netxbig_led net2big_v2_leds_ctrl[] = {
-	NETXBIG_LED("net2big-v2:blue:power", 0, netxbig_v2_blue_pwr_mled,  1),
-	NETXBIG_LED("net2big-v2:red:power",  0, netxbig_v2_red_mled,       1),
-	NETXBIG_LED("net2big-v2:blue:sata0", 3, netxbig_v2_blue_sata_mled, 2),
-	NETXBIG_LED("net2big-v2:red:sata0",  3, netxbig_v2_red_mled,       2),
-	NETXBIG_LED("net2big-v2:blue:sata1", 4, netxbig_v2_blue_sata_mled, 2),
-	NETXBIG_LED("net2big-v2:red:sata1",  4, netxbig_v2_red_mled,       2),
-};
-
-static struct netxbig_led_platform_data net2big_v2_leds_data = {
-	.gpio_ext	= &netxbig_v2_gpio_ext,
-	.timer		= netxbig_v2_led_timer,
-	.num_timer	= ARRAY_SIZE(netxbig_v2_led_timer),
-	.leds		= net2big_v2_leds_ctrl,
-	.num_leds	= ARRAY_SIZE(net2big_v2_leds_ctrl),
-};
-
-static struct netxbig_led net5big_v2_leds_ctrl[] = {
-	NETXBIG_LED("net5big-v2:blue:power", 0, netxbig_v2_blue_pwr_mled,  1),
-	NETXBIG_LED("net5big-v2:red:power",  0, netxbig_v2_red_mled,       1),
-	NETXBIG_LED("net5big-v2:blue:sata0", 3, netxbig_v2_blue_sata_mled, 2),
-	NETXBIG_LED("net5big-v2:red:sata0",  3, netxbig_v2_red_mled,       2),
-	NETXBIG_LED("net5big-v2:blue:sata1", 4, netxbig_v2_blue_sata_mled, 2),
-	NETXBIG_LED("net5big-v2:red:sata1",  4, netxbig_v2_red_mled,       2),
-	NETXBIG_LED("net5big-v2:blue:sata2", 5, netxbig_v2_blue_sata_mled, 2),
-	NETXBIG_LED("net5big-v2:red:sata2",  5, netxbig_v2_red_mled,       2),
-	NETXBIG_LED("net5big-v2:blue:sata3", 6, netxbig_v2_blue_sata_mled, 2),
-	NETXBIG_LED("net5big-v2:red:sata3",  6, netxbig_v2_red_mled,       2),
-	NETXBIG_LED("net5big-v2:blue:sata4", 7, netxbig_v2_blue_sata_mled, 2),
-	NETXBIG_LED("net5big-v2:red:sata4",  7, netxbig_v2_red_mled,       2),
-};
-
-static struct netxbig_led_platform_data net5big_v2_leds_data = {
-	.gpio_ext	= &netxbig_v2_gpio_ext,
-	.timer		= netxbig_v2_led_timer,
-	.num_timer	= ARRAY_SIZE(netxbig_v2_led_timer),
-	.leds		= net5big_v2_leds_ctrl,
-	.num_leds	= ARRAY_SIZE(net5big_v2_leds_ctrl),
-};
-
-static struct platform_device netxbig_v2_leds = {
-	.name		= "leds-netxbig",
-	.id		= -1,
-	.dev		= {
-		.platform_data	= &net2big_v2_leds_data,
-	},
-};
-
-void __init netxbig_init(void)
-{
-
-	if (of_machine_is_compatible("lacie,net5big_v2"))
-		netxbig_v2_leds.dev.platform_data = &net5big_v2_leds_data;
-	platform_device_register(&netxbig_v2_leds);
-}
-- 
2.1.1

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

* [PATCH 0/3] Add DT support for netxbig LEDs
  2015-02-23 15:04 [PATCH 0/3] Add DT support for netxbig LEDs Simon Guinot
                   ` (2 preceding siblings ...)
  2015-02-23 15:04 ` [PATCH 3/3] ARM: mvebu: remove static LED setup " Simon Guinot
@ 2015-03-09  9:41 ` Simon Guinot
  2015-03-16 16:01   ` Gregory CLEMENT
  2015-03-23 10:31   ` Simon Guinot
  3 siblings, 2 replies; 13+ messages in thread
From: Simon Guinot @ 2015-03-09  9:41 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Feb 23, 2015 at 04:04:18PM +0100, Simon Guinot wrote:
> Hello,
> 
> This patch series adds DT support for the LEDs found on the Kirkwood-based
> LaCie boards 2Big and 5Big Network v2.
> 
> Simon
> 
> Simon Guinot (3):
>   leds: netxbig: add device tree binding
>   ARM: Kirkwood: add LED DT entries for netxbig boards
>   ARM: mvebu: remove static LED setup for netxbig boards

Hi Brian,

Please, consider merging the first patch of this serie.

Thanks in advance.

Simon

> 
>  .../devicetree/bindings/gpio/netxbig-gpio-ext.txt  |  22 ++
>  .../devicetree/bindings/leds/leds-netxbig.txt      |  90 ++++++++
>  arch/arm/boot/dts/kirkwood-net5big.dts             |  60 +++++
>  arch/arm/boot/dts/kirkwood-netxbig.dtsi            |  80 +++++++
>  arch/arm/mach-mvebu/Kconfig                        |   7 -
>  arch/arm/mach-mvebu/Makefile                       |   1 -
>  arch/arm/mach-mvebu/board.h                        |  21 --
>  arch/arm/mach-mvebu/kirkwood.c                     |   4 -
>  arch/arm/mach-mvebu/netxbig.c                      | 191 ----------------
>  drivers/leds/leds-netxbig.c                        | 244 +++++++++++++++++++--
>  include/dt-bindings/leds/leds-netxbig.h            |  18 ++
>  11 files changed, 493 insertions(+), 245 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/gpio/netxbig-gpio-ext.txt
>  create mode 100644 Documentation/devicetree/bindings/leds/leds-netxbig.txt
>  delete mode 100644 arch/arm/mach-mvebu/board.h
>  delete mode 100644 arch/arm/mach-mvebu/netxbig.c
>  create mode 100644 include/dt-bindings/leds/leds-netxbig.h
> 
> -- 
> 2.1.1
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20150309/49836f37/attachment.sig>

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

* [PATCH 0/3] Add DT support for netxbig LEDs
  2015-03-09  9:41 ` [PATCH 0/3] Add DT support for netxbig LEDs Simon Guinot
@ 2015-03-16 16:01   ` Gregory CLEMENT
  2015-03-30  8:30     ` Simon Guinot
  2015-03-23 10:31   ` Simon Guinot
  1 sibling, 1 reply; 13+ messages in thread
From: Gregory CLEMENT @ 2015-03-16 16:01 UTC (permalink / raw)
  To: linux-arm-kernel

Hi all,

On 09/03/2015 10:41, Simon Guinot wrote:
> On Mon, Feb 23, 2015 at 04:04:18PM +0100, Simon Guinot wrote:
>> Hello,
>>
>> This patch series adds DT support for the LEDs found on the Kirkwood-based
>> LaCie boards 2Big and 5Big Network v2.
>>
>> Simon
>>
>> Simon Guinot (3):
>>   leds: netxbig: add device tree binding
>>   ARM: Kirkwood: add LED DT entries for netxbig boards
>>   ARM: mvebu: remove static LED setup for netxbig boards
> 
> Hi Brian,
> 
> Please, consider merging the first patch of this serie.

Brian,

here again let me know when this patch will be merged, and I will
also need a stable tag as patch 2 depends on this one.

Andrew, Jason,

patch 2 and 3 looks OK for me. What is your opinion about it?


Thanks,

Gregory




> 
> Thanks in advance.
> 
> Simon
> 
>>
>>  .../devicetree/bindings/gpio/netxbig-gpio-ext.txt  |  22 ++
>>  .../devicetree/bindings/leds/leds-netxbig.txt      |  90 ++++++++
>>  arch/arm/boot/dts/kirkwood-net5big.dts             |  60 +++++
>>  arch/arm/boot/dts/kirkwood-netxbig.dtsi            |  80 +++++++
>>  arch/arm/mach-mvebu/Kconfig                        |   7 -
>>  arch/arm/mach-mvebu/Makefile                       |   1 -
>>  arch/arm/mach-mvebu/board.h                        |  21 --
>>  arch/arm/mach-mvebu/kirkwood.c                     |   4 -
>>  arch/arm/mach-mvebu/netxbig.c                      | 191 ----------------
>>  drivers/leds/leds-netxbig.c                        | 244 +++++++++++++++++++--
>>  include/dt-bindings/leds/leds-netxbig.h            |  18 ++
>>  11 files changed, 493 insertions(+), 245 deletions(-)
>>  create mode 100644 Documentation/devicetree/bindings/gpio/netxbig-gpio-ext.txt
>>  create mode 100644 Documentation/devicetree/bindings/leds/leds-netxbig.txt
>>  delete mode 100644 arch/arm/mach-mvebu/board.h
>>  delete mode 100644 arch/arm/mach-mvebu/netxbig.c
>>  create mode 100644 include/dt-bindings/leds/leds-netxbig.h
>>
>> -- 
>> 2.1.1
>>
>>
>> _______________________________________________
>> linux-arm-kernel mailing list
>> linux-arm-kernel at lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>>
>>
>> _______________________________________________
>> linux-arm-kernel mailing list
>> linux-arm-kernel at lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel


-- 
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

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

* [PATCH 0/3] Add DT support for netxbig LEDs
  2015-03-09  9:41 ` [PATCH 0/3] Add DT support for netxbig LEDs Simon Guinot
  2015-03-16 16:01   ` Gregory CLEMENT
@ 2015-03-23 10:31   ` Simon Guinot
  1 sibling, 0 replies; 13+ messages in thread
From: Simon Guinot @ 2015-03-23 10:31 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Mar 09, 2015 at 10:41:08AM +0100, Simon Guinot wrote:
> On Mon, Feb 23, 2015 at 04:04:18PM +0100, Simon Guinot wrote:
> > Hello,
> > 
> > This patch series adds DT support for the LEDs found on the Kirkwood-based
> > LaCie boards 2Big and 5Big Network v2.
> > 
> > Simon
> > 
> > Simon Guinot (3):
> >   leds: netxbig: add device tree binding
> >   ARM: Kirkwood: add LED DT entries for netxbig boards
> >   ARM: mvebu: remove static LED setup for netxbig boards
> 
> Hi Brian,
> 
> Please, consider merging the first patch of this serie.

Hi Brian,

It would be nice to have this patches for the incoming release.
Please, consider picking them.

Thanks,

Simon

> > 
> >  .../devicetree/bindings/gpio/netxbig-gpio-ext.txt  |  22 ++
> >  .../devicetree/bindings/leds/leds-netxbig.txt      |  90 ++++++++
> >  arch/arm/boot/dts/kirkwood-net5big.dts             |  60 +++++
> >  arch/arm/boot/dts/kirkwood-netxbig.dtsi            |  80 +++++++
> >  arch/arm/mach-mvebu/Kconfig                        |   7 -
> >  arch/arm/mach-mvebu/Makefile                       |   1 -
> >  arch/arm/mach-mvebu/board.h                        |  21 --
> >  arch/arm/mach-mvebu/kirkwood.c                     |   4 -
> >  arch/arm/mach-mvebu/netxbig.c                      | 191 ----------------
> >  drivers/leds/leds-netxbig.c                        | 244 +++++++++++++++++++--
> >  include/dt-bindings/leds/leds-netxbig.h            |  18 ++
> >  11 files changed, 493 insertions(+), 245 deletions(-)
> >  create mode 100644 Documentation/devicetree/bindings/gpio/netxbig-gpio-ext.txt
> >  create mode 100644 Documentation/devicetree/bindings/leds/leds-netxbig.txt
> >  delete mode 100644 arch/arm/mach-mvebu/board.h
> >  delete mode 100644 arch/arm/mach-mvebu/netxbig.c
> >  create mode 100644 include/dt-bindings/leds/leds-netxbig.h
> > 
> > -- 
> > 2.1.1
> > 
> > 
> > _______________________________________________
> > linux-arm-kernel mailing list
> > linux-arm-kernel at lists.infradead.org
> > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel



> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20150323/20637eec/attachment-0001.sig>

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

* [PATCH 0/3] Add DT support for netxbig LEDs
  2015-03-16 16:01   ` Gregory CLEMENT
@ 2015-03-30  8:30     ` Simon Guinot
  2015-03-30 12:30       ` Andrew Lunn
  0 siblings, 1 reply; 13+ messages in thread
From: Simon Guinot @ 2015-03-30  8:30 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Mar 16, 2015 at 05:01:10PM +0100, Gregory CLEMENT wrote:
> Hi all,
> 
> On 09/03/2015 10:41, Simon Guinot wrote:
> > On Mon, Feb 23, 2015 at 04:04:18PM +0100, Simon Guinot wrote:
> >> Hello,
> >>
> >> This patch series adds DT support for the LEDs found on the Kirkwood-based
> >> LaCie boards 2Big and 5Big Network v2.
> >>
> >> Simon
> >>
> >> Simon Guinot (3):
> >>   leds: netxbig: add device tree binding
> >>   ARM: Kirkwood: add LED DT entries for netxbig boards
> >>   ARM: mvebu: remove static LED setup for netxbig boards
> > 
> > Hi Brian,
> > 
> > Please, consider merging the first patch of this serie.
> 
> Brian,
> 
> here again let me know when this patch will be merged, and I will
> also need a stable tag as patch 2 depends on this one.
> 
> Andrew, Jason,
> 
> patch 2 and 3 looks OK for me. What is your opinion about it?

Hi Gregory, Andrew and Jason,

This patch set seems stuck. I believe that Bryan is probably too busy to
handle it...

Is that possible to merge it via the mvebu tree ? Since only some LaCie
boards are impacted, I think it could make sense.

Thanks,

Simon

> >>
> >>  .../devicetree/bindings/gpio/netxbig-gpio-ext.txt  |  22 ++
> >>  .../devicetree/bindings/leds/leds-netxbig.txt      |  90 ++++++++
> >>  arch/arm/boot/dts/kirkwood-net5big.dts             |  60 +++++
> >>  arch/arm/boot/dts/kirkwood-netxbig.dtsi            |  80 +++++++
> >>  arch/arm/mach-mvebu/Kconfig                        |   7 -
> >>  arch/arm/mach-mvebu/Makefile                       |   1 -
> >>  arch/arm/mach-mvebu/board.h                        |  21 --
> >>  arch/arm/mach-mvebu/kirkwood.c                     |   4 -
> >>  arch/arm/mach-mvebu/netxbig.c                      | 191 ----------------
> >>  drivers/leds/leds-netxbig.c                        | 244 +++++++++++++++++++--
> >>  include/dt-bindings/leds/leds-netxbig.h            |  18 ++
> >>  11 files changed, 493 insertions(+), 245 deletions(-)
> >>  create mode 100644 Documentation/devicetree/bindings/gpio/netxbig-gpio-ext.txt
> >>  create mode 100644 Documentation/devicetree/bindings/leds/leds-netxbig.txt
> >>  delete mode 100644 arch/arm/mach-mvebu/board.h
> >>  delete mode 100644 arch/arm/mach-mvebu/netxbig.c
> >>  create mode 100644 include/dt-bindings/leds/leds-netxbig.h
> >>
> >> -- 
> >> 2.1.1
> >>
> >>
> >> _______________________________________________
> >> linux-arm-kernel mailing list
> >> linux-arm-kernel at lists.infradead.org
> >> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
> >>
> >>
> >> _______________________________________________
> >> linux-arm-kernel mailing list
> >> linux-arm-kernel at lists.infradead.org
> >> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
> 
> 
> -- 
> Gregory Clement, Free Electrons
> Kernel, drivers, real-time and embedded Linux
> development, consulting, training and support.
> http://free-electrons.com
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20150330/5fa03b80/attachment.sig>

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

* [PATCH 0/3] Add DT support for netxbig LEDs
  2015-03-30  8:30     ` Simon Guinot
@ 2015-03-30 12:30       ` Andrew Lunn
  2015-03-30 13:22         ` Jason Cooper
  0 siblings, 1 reply; 13+ messages in thread
From: Andrew Lunn @ 2015-03-30 12:30 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Mar 30, 2015 at 10:30:40AM +0200, Simon Guinot wrote:
> On Mon, Mar 16, 2015 at 05:01:10PM +0100, Gregory CLEMENT wrote:
> > Hi all,
> > 
> > On 09/03/2015 10:41, Simon Guinot wrote:
> > > On Mon, Feb 23, 2015 at 04:04:18PM +0100, Simon Guinot wrote:
> > >> Hello,
> > >>
> > >> This patch series adds DT support for the LEDs found on the Kirkwood-based
> > >> LaCie boards 2Big and 5Big Network v2.
> > >>
> > >> Simon
> > >>
> > >> Simon Guinot (3):
> > >>   leds: netxbig: add device tree binding
> > >>   ARM: Kirkwood: add LED DT entries for netxbig boards
> > >>   ARM: mvebu: remove static LED setup for netxbig boards
> > > 
> > > Hi Brian,
> > > 
> > > Please, consider merging the first patch of this serie.
> > 
> > Brian,
> > 
> > here again let me know when this patch will be merged, and I will
> > also need a stable tag as patch 2 depends on this one.
> > 
> > Andrew, Jason,
> > 
> > patch 2 and 3 looks OK for me. What is your opinion about it?
> 
> Hi Gregory, Andrew and Jason,
> 
> This patch set seems stuck. I believe that Bryan is probably too busy to
> handle it...
> 
> Is that possible to merge it via the mvebu tree ? Since only some LaCie
> boards are impacted, I think it could make sense.

Hi Simon

Hard one. I also have a driver stuck in led limbo.

Last time we took a fix via mvebu, it all went messy at the last
minute. We made it very clear to Bryon we planned to take a patch via
mvebu, we had queued it via mvebu, we had sent a pull request to
arm-soc, all with no reply from Bryon. Only at the last minute did he
jump in, pull it himself and send it to Linus. That caused Olof all
sorts of problems with his tree.

To stop that happening again, i think we need an Acked-by from Bryan.

   Andrew

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

* [PATCH 0/3] Add DT support for netxbig LEDs
  2015-03-30 12:30       ` Andrew Lunn
@ 2015-03-30 13:22         ` Jason Cooper
  2015-03-30 13:29           ` Gregory CLEMENT
  0 siblings, 1 reply; 13+ messages in thread
From: Jason Cooper @ 2015-03-30 13:22 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Mar 30, 2015 at 02:30:08PM +0200, Andrew Lunn wrote:
> On Mon, Mar 30, 2015 at 10:30:40AM +0200, Simon Guinot wrote:
> > On Mon, Mar 16, 2015 at 05:01:10PM +0100, Gregory CLEMENT wrote:
> > > Hi all,
> > > 
> > > On 09/03/2015 10:41, Simon Guinot wrote:
> > > > On Mon, Feb 23, 2015 at 04:04:18PM +0100, Simon Guinot wrote:
> > > >> Hello,
> > > >>
> > > >> This patch series adds DT support for the LEDs found on the Kirkwood-based
> > > >> LaCie boards 2Big and 5Big Network v2.
> > > >>
> > > >> Simon
> > > >>
> > > >> Simon Guinot (3):
> > > >>   leds: netxbig: add device tree binding
> > > >>   ARM: Kirkwood: add LED DT entries for netxbig boards
> > > >>   ARM: mvebu: remove static LED setup for netxbig boards
> > > > 
> > > > Hi Brian,
> > > > 
> > > > Please, consider merging the first patch of this serie.
> > > 
> > > Brian,
> > > 
> > > here again let me know when this patch will be merged, and I will
> > > also need a stable tag as patch 2 depends on this one.
> > > 
> > > Andrew, Jason,
> > > 
> > > patch 2 and 3 looks OK for me. What is your opinion about it?
> > 
> > Hi Gregory, Andrew and Jason,
> > 
> > This patch set seems stuck. I believe that Bryan is probably too busy to
> > handle it...
> > 
> > Is that possible to merge it via the mvebu tree ? Since only some LaCie
> > boards are impacted, I think it could make sense.
> 
> Hi Simon
> 
> Hard one. I also have a driver stuck in led limbo.
> 
> Last time we took a fix via mvebu, it all went messy at the last
> minute. We made it very clear to Bryon we planned to take a patch via
> mvebu, we had queued it via mvebu, we had sent a pull request to
> arm-soc, all with no reply from Bryon. Only at the last minute did he
> jump in, pull it himself and send it to Linus. That caused Olof all
> sorts of problems with his tree.

It's also good to keep in mind the workflow of driver maintainers who push
directly to Linus.  They send PRs during the merge window, and don't
necessarily spend too much time in -next.  Which means, if they have good
filters running on lkml, they just sit down a week or so before the merge
window and apply everything they have pending.

For those of us who are feeding arm-soc, and are accustomed to getting things
in early, this can be nerve-wracking.

Brian has demonstrated that he does pick things up and get them merged.  We
just need to make sure that what he picks up is well tested and reviewed when
he gets to it.  Since there won't be time for another revision before the merge
window.  But hey, that's what -rc's are for.  :-P

> To stop that happening again, i think we need an Acked-by from Bryan.

I agree.

thx,

Jason.

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

* [PATCH 0/3] Add DT support for netxbig LEDs
  2015-03-30 13:22         ` Jason Cooper
@ 2015-03-30 13:29           ` Gregory CLEMENT
  2015-03-30 13:46             ` Jason Cooper
  0 siblings, 1 reply; 13+ messages in thread
From: Gregory CLEMENT @ 2015-03-30 13:29 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Simon,
[...]

>>> Hi Gregory, Andrew and Jason,
>>>
>>> This patch set seems stuck. I believe that Bryan is probably too busy to
>>> handle it...
>>>
>>> Is that possible to merge it via the mvebu tree ? Since only some LaCie
>>> boards are impacted, I think it could make sense.
>>
>> Hi Simon
>>
>> Hard one. I also have a driver stuck in led limbo.
>>
>> Last time we took a fix via mvebu, it all went messy at the last
>> minute. We made it very clear to Bryon we planned to take a patch via
>> mvebu, we had queued it via mvebu, we had sent a pull request to
>> arm-soc, all with no reply from Bryon. Only at the last minute did he
>> jump in, pull it himself and send it to Linus. That caused Olof all
>> sorts of problems with his tree.
> 
> It's also good to keep in mind the workflow of driver maintainers who push
> directly to Linus.  They send PRs during the merge window, and don't
> necessarily spend too much time in -next.  Which means, if they have good
> filters running on lkml, they just sit down a week or so before the merge
> window and apply everything they have pending.
> 
> For those of us who are feeding arm-soc, and are accustomed to getting things
> in early, this can be nerve-wracking.
> 
> Brian has demonstrated that he does pick things up and get them merged.  We
> just need to make sure that what he picks up is well tested and reviewed when
> he gets to it.  Since there won't be time for another revision before the merge
> window.  But hey, that's what -rc's are for.  :-P
> 

At least what I can do is creating a led branch and merged it in the mvebu/for-next
branch. It will allow us to be more confident for the merge window.

Thanks,

Gregory


>> To stop that happening again, i think we need an Acked-by from Bryan.
> 
> I agree.





> 
> thx,
> 
> Jason.
> 


-- 
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

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

* [PATCH 0/3] Add DT support for netxbig LEDs
  2015-03-30 13:29           ` Gregory CLEMENT
@ 2015-03-30 13:46             ` Jason Cooper
  2015-03-30 14:20               ` Gregory CLEMENT
  0 siblings, 1 reply; 13+ messages in thread
From: Jason Cooper @ 2015-03-30 13:46 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Mar 30, 2015 at 03:29:41PM +0200, Gregory CLEMENT wrote:
> Hi Simon,
> [...]
> 
> >>> Hi Gregory, Andrew and Jason,
> >>>
> >>> This patch set seems stuck. I believe that Bryan is probably too busy to
> >>> handle it...
> >>>
> >>> Is that possible to merge it via the mvebu tree ? Since only some LaCie
> >>> boards are impacted, I think it could make sense.
> >>
> >> Hi Simon
> >>
> >> Hard one. I also have a driver stuck in led limbo.
> >>
> >> Last time we took a fix via mvebu, it all went messy at the last
> >> minute. We made it very clear to Bryon we planned to take a patch via
> >> mvebu, we had queued it via mvebu, we had sent a pull request to
> >> arm-soc, all with no reply from Bryon. Only at the last minute did he
> >> jump in, pull it himself and send it to Linus. That caused Olof all
> >> sorts of problems with his tree.
> > 
> > It's also good to keep in mind the workflow of driver maintainers who push
> > directly to Linus.  They send PRs during the merge window, and don't
> > necessarily spend too much time in -next.  Which means, if they have good
> > filters running on lkml, they just sit down a week or so before the merge
> > window and apply everything they have pending.
> > 
> > For those of us who are feeding arm-soc, and are accustomed to getting things
> > in early, this can be nerve-wracking.
> > 
> > Brian has demonstrated that he does pick things up and get them merged.  We
> > just need to make sure that what he picks up is well tested and reviewed when
> > he gets to it.  Since there won't be time for another revision before the merge
> > window.  But hey, that's what -rc's are for.  :-P
> > 
> 
> At least what I can do is creating a led branch and merged it in the mvebu/for-next
> branch. It will allow us to be more confident for the merge window.

How would we know when to remove it?  We have no reliable communication with Brian.

thx,

Jason.

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

* [PATCH 0/3] Add DT support for netxbig LEDs
  2015-03-30 13:46             ` Jason Cooper
@ 2015-03-30 14:20               ` Gregory CLEMENT
  0 siblings, 0 replies; 13+ messages in thread
From: Gregory CLEMENT @ 2015-03-30 14:20 UTC (permalink / raw)
  To: linux-arm-kernel

On 30/03/2015 15:46, Jason Cooper wrote:
> On Mon, Mar 30, 2015 at 03:29:41PM +0200, Gregory CLEMENT wrote:
>> Hi Simon,
>> [...]
>>
>>>>> Hi Gregory, Andrew and Jason,
>>>>>
>>>>> This patch set seems stuck. I believe that Bryan is probably too busy to
>>>>> handle it...
>>>>>
>>>>> Is that possible to merge it via the mvebu tree ? Since only some LaCie
>>>>> boards are impacted, I think it could make sense.
>>>>
>>>> Hi Simon
>>>>
>>>> Hard one. I also have a driver stuck in led limbo.
>>>>
>>>> Last time we took a fix via mvebu, it all went messy at the last
>>>> minute. We made it very clear to Bryon we planned to take a patch via
>>>> mvebu, we had queued it via mvebu, we had sent a pull request to
>>>> arm-soc, all with no reply from Bryon. Only at the last minute did he
>>>> jump in, pull it himself and send it to Linus. That caused Olof all
>>>> sorts of problems with his tree.
>>>
>>> It's also good to keep in mind the workflow of driver maintainers who push
>>> directly to Linus.  They send PRs during the merge window, and don't
>>> necessarily spend too much time in -next.  Which means, if they have good
>>> filters running on lkml, they just sit down a week or so before the merge
>>> window and apply everything they have pending.
>>>
>>> For those of us who are feeding arm-soc, and are accustomed to getting things
>>> in early, this can be nerve-wracking.
>>>
>>> Brian has demonstrated that he does pick things up and get them merged.  We
>>> just need to make sure that what he picks up is well tested and reviewed when
>>> he gets to it.  Since there won't be time for another revision before the merge
>>> window.  But hey, that's what -rc's are for.  :-P
>>>
>>
>> At least what I can do is creating a led branch and merged it in the mvebu/for-next
>> branch. It will allow us to be more confident for the merge window.
> 
> How would we know when to remove it?  We have no reliable communication with Brian.

We will remove it when we will received an acked-by from him.

The purpose of it was to be able to do a pull request as soon as we know
that either Bryan will take it or let us take the full series.

In the mean time if Bryan also applied the patch in is leds/for-next branch
it should not be a problem as the patch will be the same.

Thanks,

Gregory

> 
> thx,
> 
> Jason.
> 


-- 
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

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

end of thread, other threads:[~2015-03-30 14:20 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-02-23 15:04 [PATCH 0/3] Add DT support for netxbig LEDs Simon Guinot
2015-02-23 15:04 ` [PATCH 1/3] leds: netxbig: add device tree binding Simon Guinot
2015-02-23 15:04 ` [PATCH 2/3] ARM: Kirkwood: add LED DT entries for netxbig boards Simon Guinot
2015-02-23 15:04 ` [PATCH 3/3] ARM: mvebu: remove static LED setup " Simon Guinot
2015-03-09  9:41 ` [PATCH 0/3] Add DT support for netxbig LEDs Simon Guinot
2015-03-16 16:01   ` Gregory CLEMENT
2015-03-30  8:30     ` Simon Guinot
2015-03-30 12:30       ` Andrew Lunn
2015-03-30 13:22         ` Jason Cooper
2015-03-30 13:29           ` Gregory CLEMENT
2015-03-30 13:46             ` Jason Cooper
2015-03-30 14:20               ` Gregory CLEMENT
2015-03-23 10:31   ` Simon Guinot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).