* [PATCH 1/7] ARM: mxc: fix gpio-ranges for VF610
@ 2013-06-13 20:59 Stephen Warren
[not found] ` <1371157199-7272-1-git-send-email-swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
0 siblings, 1 reply; 12+ messages in thread
From: Stephen Warren @ 2013-06-13 20:59 UTC (permalink / raw)
To: Linus Walleij, Shawn Guo
Cc: Stephen Warren, Shiraz Hashim,
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ, Rob Herring,
Jingchang Lu, Haojian Zhuang, linux-gpio-u79uwXL29TY76Z2rM5mHXA,
Grant Likely, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
From: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
The gpio-ranges properties in vf610.dtsi were written according to an
older version of the GPIO bindings. Unfortunately, these were changed
incompatibly in commit 86853c8 "gpio: add gpio offset in gpio range
cells property". This patch adds the missing required extra cell in each
gpio-ranges property.
Signed-off-by: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
---
This should be immediately applied to the tree which added vf610.dtsi.
---
arch/arm/boot/dts/vf610.dtsi | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/arch/arm/boot/dts/vf610.dtsi b/arch/arm/boot/dts/vf610.dtsi
index 659d845..e1eb7da 100644
--- a/arch/arm/boot/dts/vf610.dtsi
+++ b/arch/arm/boot/dts/vf610.dtsi
@@ -162,7 +162,7 @@
iomuxc: iomuxc@40048000 {
compatible = "fsl,vf610-iomuxc";
reg = <0x40048000 0x1000>;
- #gpio-range-cells = <2>;
+ #gpio-range-cells = <3>;
/* functions and groups pins */
@@ -343,7 +343,7 @@
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
- gpio-ranges = <&iomuxc 0 32>;
+ gpio-ranges = <&iomuxc 0 0 32>;
};
gpio2: gpio@4004a000 {
@@ -354,7 +354,7 @@
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
- gpio-ranges = <&iomuxc 32 32>;
+ gpio-ranges = <&iomuxc 0 32 32>;
};
gpio3: gpio@4004b000 {
@@ -365,7 +365,7 @@
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
- gpio-ranges = <&iomuxc 64 32>;
+ gpio-ranges = <&iomuxc 0 64 32>;
};
gpio4: gpio@4004c000 {
@@ -376,7 +376,7 @@
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
- gpio-ranges = <&iomuxc 96 32>;
+ gpio-ranges = <&iomuxc 0 96 32>;
};
gpio5: gpio@4004d000 {
@@ -387,7 +387,7 @@
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
- gpio-ranges = <&iomuxc 128 7>;
+ gpio-ranges = <&iomuxc 0 128 7>;
};
anatop@40050000 {
--
1.8.1.5
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 2/7] gpio: clean up gpio-ranges documentation
[not found] ` <1371157199-7272-1-git-send-email-swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
@ 2013-06-13 20:59 ` Stephen Warren
[not found] ` <1371157199-7272-2-git-send-email-swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-06-13 20:59 ` [PATCH 3/7] of: move documentation of of_parse_phandle_with_args Stephen Warren
` (5 subsequent siblings)
6 siblings, 1 reply; 12+ messages in thread
From: Stephen Warren @ 2013-06-13 20:59 UTC (permalink / raw)
To: Linus Walleij, Shawn Guo
Cc: Stephen Warren, Shiraz Hashim,
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ, Rob Herring,
Jingchang Lu, Haojian Zhuang, linux-gpio-u79uwXL29TY76Z2rM5mHXA,
Grant Likely, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
From: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
This change makes documentation of the the gpio-ranges property shorter
and more succinct, more consistent with the style of the rest of the
document, and not mention Linux-specifics such as the API
pinctrl_request_gpio(); DT binding documents should be OS independant
where at all possible.
This change also removes any mention of the #gpio-range-cells property.
Such properties are useful when one node references a second node, and
that second node dictates the format of the reference. However, that is
not the case here; the definition of gpio-ranges itself always dictates
its format entirely, and hence the value #gpio-range-cells must always
be 3, and hence there is no point requiring any referenced node to
include this property.
Signed-off-by: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
---
Patches 2-6 need to be applied in the same branch, since they all build
upon each-other.
---
Documentation/devicetree/bindings/gpio/gpio.txt | 48 ++++++++++++-------------
1 file changed, 23 insertions(+), 25 deletions(-)
diff --git a/Documentation/devicetree/bindings/gpio/gpio.txt b/Documentation/devicetree/bindings/gpio/gpio.txt
index d933af3..b262378 100644
--- a/Documentation/devicetree/bindings/gpio/gpio.txt
+++ b/Documentation/devicetree/bindings/gpio/gpio.txt
@@ -75,23 +75,29 @@ Example of two SOC GPIO banks defined as gpio-controller nodes:
gpio-controller;
};
-2.1) gpio-controller and pinctrl subsystem
-------------------------------------------
+2.1) gpio- and pin-controller interaction
+-----------------------------------------
-gpio-controller on a SOC might be tightly coupled with the pinctrl
-subsystem, in the sense that the pins can be used by other functions
-together with optional gpio feature.
+Some or all of the GPIOs provided by a GPIO controller may be routed to pins
+on the package via a pin controller. This allows muxing those pins between
+GPIO and other functions.
-While the pin allocation is totally managed by the pin ctrl subsystem,
-gpio (under gpiolib) is still maintained by gpio drivers. It may happen
-that different pin ranges in a SoC is managed by different gpio drivers.
+It is useful to represent which GPIOs correspond to which pins on which pin
+controllers. The gpio-ranges property described below represents this, and
+contains information strucutres as follows:
-This makes it logical to let gpio drivers announce their pin ranges to
-the pin ctrl subsystem and call 'pinctrl_request_gpio' in order to
-request the corresponding pin before any gpio usage.
+ gpio-range-list ::= <single-gpio-range> [gpio-range-list]
+ single-gpio-range ::=
+ <pinctrl-phandle> <gpio-base> <pinctrl-base> <count>
+ gpio-phandle : phandle to pin controller node.
+ gpio-base : Base GPIO ID in the GPIO controller
+ pinctrl-base : Base pinctrl pin ID in the pin controller
+ count : The number of GPIOs/pins in this range
-For this, the gpio controller can use a pinctrl phandle and pins to
-announce the pinrange to the pin ctrl subsystem. For example,
+The "pin controller node" mentioned above must conform to the bindings
+described in ../pinctrl/pinctrl-bindings.txt.
+
+Example:
qe_pio_e: gpio-controller@1460 {
#gpio-cells = <2>;
@@ -99,16 +105,8 @@ announce the pinrange to the pin ctrl subsystem. For example,
reg = <0x1460 0x18>;
gpio-controller;
gpio-ranges = <&pinctrl1 0 20 10>, <&pinctrl2 10 50 20>;
+ };
- }
-
-where,
- &pinctrl1 and &pinctrl2 is the phandle to the pinctrl DT node.
-
- Next values specify the base pin and number of pins for the range
- handled by 'qe_pio_e' gpio. In the given example from base pin 20 to
- pin 29 under pinctrl1 with gpio offset 0 and pin 50 to pin 69 under
- pinctrl2 with gpio offset 10 is handled by this gpio controller.
-
-The pinctrl node must have "#gpio-range-cells" property to show number of
-arguments to pass with phandle from gpio controllers node.
+Here, a single GPIO controller has GPIOs 0..9 routed to pin controller
+pinctrl1's pins 20..29, and GPIOs 10..19 routed to pin controller pinctrl2's
+pins 50..59.
--
1.8.1.5
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 3/7] of: move documentation of of_parse_phandle_with_args
[not found] ` <1371157199-7272-1-git-send-email-swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-06-13 20:59 ` [PATCH 2/7] gpio: clean up gpio-ranges documentation Stephen Warren
@ 2013-06-13 20:59 ` Stephen Warren
2013-06-13 20:59 ` [PATCH 4/7] of: introduce of_parse_phandle_with_fixed_args Stephen Warren
` (4 subsequent siblings)
6 siblings, 0 replies; 12+ messages in thread
From: Stephen Warren @ 2013-06-13 20:59 UTC (permalink / raw)
To: Linus Walleij, Shawn Guo
Cc: Stephen Warren, Shiraz Hashim,
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ, Rob Herring,
Jingchang Lu, Haojian Zhuang, linux-gpio-u79uwXL29TY76Z2rM5mHXA,
Grant Likely, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
From: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
Commit bd69f73 "of: Create function for counting number of phandles in
a property" renamed of_parse_phandle_with_args(), and created a wrapper
function that implemented the original name. However, the documentation
of the original function was not moved, leaving it apparently documenting
the newly renamed function.
Move the documentation so that it is adjacent to the function it
documents.
Signed-off-by: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
---
drivers/of/base.c | 64 +++++++++++++++++++++++++++----------------------------
1 file changed, 32 insertions(+), 32 deletions(-)
diff --git a/drivers/of/base.c b/drivers/of/base.c
index f53b992..f0b51e8 100644
--- a/drivers/of/base.c
+++ b/drivers/of/base.c
@@ -1101,38 +1101,6 @@ struct device_node *of_parse_phandle(const struct device_node *np,
}
EXPORT_SYMBOL(of_parse_phandle);
-/**
- * of_parse_phandle_with_args() - Find a node pointed by phandle in a list
- * @np: pointer to a device tree node containing a list
- * @list_name: property name that contains a list
- * @cells_name: property name that specifies phandles' arguments count
- * @index: index of a phandle to parse out
- * @out_args: optional pointer to output arguments structure (will be filled)
- *
- * This function is useful to parse lists of phandles and their arguments.
- * Returns 0 on success and fills out_args, on error returns appropriate
- * errno value.
- *
- * Caller is responsible to call of_node_put() on the returned out_args->node
- * pointer.
- *
- * Example:
- *
- * phandle1: node1 {
- * #list-cells = <2>;
- * }
- *
- * phandle2: node2 {
- * #list-cells = <1>;
- * }
- *
- * node3 {
- * list = <&phandle1 1 2 &phandle2 3>;
- * }
- *
- * To get a device_node of the `node2' node you may call this:
- * of_parse_phandle_with_args(node3, "list", "#list-cells", 1, &args);
- */
static int __of_parse_phandle_with_args(const struct device_node *np,
const char *list_name,
const char *cells_name, int index,
@@ -1235,6 +1203,38 @@ static int __of_parse_phandle_with_args(const struct device_node *np,
return rc;
}
+/**
+ * of_parse_phandle_with_args() - Find a node pointed by phandle in a list
+ * @np: pointer to a device tree node containing a list
+ * @list_name: property name that contains a list
+ * @cells_name: property name that specifies phandles' arguments count
+ * @index: index of a phandle to parse out
+ * @out_args: optional pointer to output arguments structure (will be filled)
+ *
+ * This function is useful to parse lists of phandles and their arguments.
+ * Returns 0 on success and fills out_args, on error returns appropriate
+ * errno value.
+ *
+ * Caller is responsible to call of_node_put() on the returned out_args->node
+ * pointer.
+ *
+ * Example:
+ *
+ * phandle1: node1 {
+ * #list-cells = <2>;
+ * }
+ *
+ * phandle2: node2 {
+ * #list-cells = <1>;
+ * }
+ *
+ * node3 {
+ * list = <&phandle1 1 2 &phandle2 3>;
+ * }
+ *
+ * To get a device_node of the `node2' node you may call this:
+ * of_parse_phandle_with_args(node3, "list", "#list-cells", 1, &args);
+ */
int of_parse_phandle_with_args(const struct device_node *np, const char *list_name,
const char *cells_name, int index,
struct of_phandle_args *out_args)
--
1.8.1.5
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 4/7] of: introduce of_parse_phandle_with_fixed_args
[not found] ` <1371157199-7272-1-git-send-email-swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-06-13 20:59 ` [PATCH 2/7] gpio: clean up gpio-ranges documentation Stephen Warren
2013-06-13 20:59 ` [PATCH 3/7] of: move documentation of of_parse_phandle_with_args Stephen Warren
@ 2013-06-13 20:59 ` Stephen Warren
[not found] ` <1371157199-7272-4-git-send-email-swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-06-13 20:59 ` [PATCH 5/7] gpio: implement gpio-ranges binding document fix Stephen Warren
` (3 subsequent siblings)
6 siblings, 1 reply; 12+ messages in thread
From: Stephen Warren @ 2013-06-13 20:59 UTC (permalink / raw)
To: Linus Walleij, Shawn Guo
Cc: Stephen Warren, Shiraz Hashim,
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ, Rob Herring,
Jingchang Lu, Haojian Zhuang, linux-gpio-u79uwXL29TY76Z2rM5mHXA,
Grant Likely, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
From: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
This is identical to of_parse_phandle_with_args(), except that the
number of argument cells is fixed, rather than being parsed out of the
node referenced by each phandle.
Signed-off-by: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
---
drivers/of/base.c | 66 ++++++++++++++++++++++++++++++++++++++++++++++--------
include/linux/of.h | 10 +++++++++
2 files changed, 67 insertions(+), 9 deletions(-)
diff --git a/drivers/of/base.c b/drivers/of/base.c
index f0b51e8..90a3d65 100644
--- a/drivers/of/base.c
+++ b/drivers/of/base.c
@@ -1103,7 +1103,8 @@ EXPORT_SYMBOL(of_parse_phandle);
static int __of_parse_phandle_with_args(const struct device_node *np,
const char *list_name,
- const char *cells_name, int index,
+ const char *cells_name,
+ int cells_count, int index,
struct of_phandle_args *out_args)
{
const __be32 *list, *list_end;
@@ -1139,12 +1140,16 @@ static int __of_parse_phandle_with_args(const struct device_node *np,
np->full_name);
goto err;
}
- if (of_property_read_u32(node, cells_name, &count)) {
- pr_err("%s: could not get %s for %s\n",
- np->full_name, cells_name,
- node->full_name);
- goto err;
- }
+
+ if (cells_name) {
+ if (of_property_read_u32(node, cells_name, &count)) {
+ pr_err("%s: could not get %s for %s\n",
+ np->full_name, cells_name,
+ node->full_name);
+ goto err;
+ }
+ } else
+ count = cells_count;
/*
* Make sure that the arguments actually fit in the
@@ -1241,11 +1246,53 @@ int of_parse_phandle_with_args(const struct device_node *np, const char *list_na
{
if (index < 0)
return -EINVAL;
- return __of_parse_phandle_with_args(np, list_name, cells_name, index, out_args);
+ return __of_parse_phandle_with_args(np, list_name, cells_name, 0,
+ index, out_args);
}
EXPORT_SYMBOL(of_parse_phandle_with_args);
/**
+ * of_parse_phandle_with_fixed_args() - Find a node pointed by phandle in a list
+ * @np: pointer to a device tree node containing a list
+ * @list_name: property name that contains a list
+ * @cells_count: number of argument cells following the phandle
+ * @index: index of a phandle to parse out
+ * @out_args: optional pointer to output arguments structure (will be filled)
+ *
+ * This function is useful to parse lists of phandles and their arguments.
+ * Returns 0 on success and fills out_args, on error returns appropriate
+ * errno value.
+ *
+ * Caller is responsible to call of_node_put() on the returned out_args->node
+ * pointer.
+ *
+ * Example:
+ *
+ * phandle1: node1 {
+ * }
+ *
+ * phandle2: node2 {
+ * }
+ *
+ * node3 {
+ * list = <&phandle1 0 2 &phandle2 2 3>;
+ * }
+ *
+ * To get a device_node of the `node2' node you may call this:
+ * of_parse_phandle_with_fixed_args(node3, "list", 2, 1, &args);
+ */
+int of_parse_phandle_with_fixed_args(const struct device_node *np,
+ const char *list_name, int cells_count,
+ int index, struct of_phandle_args *out_args)
+{
+ if (index < 0)
+ return -EINVAL;
+ return __of_parse_phandle_with_args(np, list_name, NULL, cells_count,
+ index, out_args);
+}
+EXPORT_SYMBOL(of_parse_phandle_with_fixed_args);
+
+/**
* of_count_phandle_with_args() - Find the number of phandles references in a property
* @np: pointer to a device tree node containing a list
* @list_name: property name that contains a list
@@ -1263,7 +1310,8 @@ EXPORT_SYMBOL(of_parse_phandle_with_args);
int of_count_phandle_with_args(const struct device_node *np, const char *list_name,
const char *cells_name)
{
- return __of_parse_phandle_with_args(np, list_name, cells_name, -1, NULL);
+ return __of_parse_phandle_with_args(np, list_name, cells_name, 0, -1,
+ NULL);
}
EXPORT_SYMBOL(of_count_phandle_with_args);
diff --git a/include/linux/of.h b/include/linux/of.h
index 1fd08ca..0c457f5 100644
--- a/include/linux/of.h
+++ b/include/linux/of.h
@@ -280,6 +280,9 @@ extern struct device_node *of_parse_phandle(const struct device_node *np,
extern int of_parse_phandle_with_args(const struct device_node *np,
const char *list_name, const char *cells_name, int index,
struct of_phandle_args *out_args);
+extern int of_parse_phandle_with_fixed_args(const struct device_node *np,
+ const char *list_name, int cells_count, int index,
+ struct of_phandle_args *out_args);
extern int of_count_phandle_with_args(const struct device_node *np,
const char *list_name, const char *cells_name);
@@ -488,6 +491,13 @@ static inline int of_parse_phandle_with_args(struct device_node *np,
return -ENOSYS;
}
+static inline int of_parse_phandle_with_fixed_args(const struct device_node *np,
+ const char *list_name, int cells_count, int index,
+ struct of_phandle_args *out_args)
+{
+ return -ENOSYS;
+}
+
static inline int of_count_phandle_with_args(struct device_node *np,
const char *list_name,
const char *cells_name)
--
1.8.1.5
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 5/7] gpio: implement gpio-ranges binding document fix
[not found] ` <1371157199-7272-1-git-send-email-swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
` (2 preceding siblings ...)
2013-06-13 20:59 ` [PATCH 4/7] of: introduce of_parse_phandle_with_fixed_args Stephen Warren
@ 2013-06-13 20:59 ` Stephen Warren
2013-06-13 20:59 ` [PATCH 6/7] ARM: spear: remove #gpio-ranges-cells property Stephen Warren
` (2 subsequent siblings)
6 siblings, 0 replies; 12+ messages in thread
From: Stephen Warren @ 2013-06-13 20:59 UTC (permalink / raw)
To: Linus Walleij, Shawn Guo
Cc: Stephen Warren, Shiraz Hashim,
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ, Rob Herring,
Jingchang Lu, Haojian Zhuang, linux-gpio-u79uwXL29TY76Z2rM5mHXA,
Grant Likely, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
From: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
Use the new of_parse_phandle_with_fixed_args() to implement the
corrected gpio-ranges DT property definition.
Signed-off-by: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
---
drivers/gpio/gpiolib-of.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/gpio/gpiolib-of.c b/drivers/gpio/gpiolib-of.c
index 665f953..48cda3c 100644
--- a/drivers/gpio/gpiolib-of.c
+++ b/drivers/gpio/gpiolib-of.c
@@ -194,8 +194,8 @@ static void of_gpiochip_add_pin_range(struct gpio_chip *chip)
return;
for (;; index++) {
- ret = of_parse_phandle_with_args(np, "gpio-ranges",
- "#gpio-range-cells", index, &pinspec);
+ ret = of_parse_phandle_with_fixed_args(np, "gpio-ranges", 3,
+ index, &pinspec);
if (ret)
break;
--
1.8.1.5
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 6/7] ARM: spear: remove #gpio-ranges-cells property
[not found] ` <1371157199-7272-1-git-send-email-swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
` (3 preceding siblings ...)
2013-06-13 20:59 ` [PATCH 5/7] gpio: implement gpio-ranges binding document fix Stephen Warren
@ 2013-06-13 20:59 ` Stephen Warren
[not found] ` <1371157199-7272-6-git-send-email-swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-06-13 20:59 ` [PATCH 7/7] ARM: mxc: " Stephen Warren
2013-06-14 12:21 ` [PATCH 1/7] ARM: mxc: fix gpio-ranges for VF610 Shawn Guo
6 siblings, 1 reply; 12+ messages in thread
From: Stephen Warren @ 2013-06-13 20:59 UTC (permalink / raw)
To: Linus Walleij, Shawn Guo
Cc: Stephen Warren, Shiraz Hashim,
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ, Rob Herring,
Jingchang Lu, Haojian Zhuang, linux-gpio-u79uwXL29TY76Z2rM5mHXA,
Grant Likely, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
From: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
This property is no longer required by the GPIO binding. Remove it.
Signed-off-by: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
---
This should presumably be applied along with the previous changes
---
arch/arm/boot/dts/spear1310.dtsi | 1 -
arch/arm/boot/dts/spear1340.dtsi | 1 -
arch/arm/boot/dts/spear310.dtsi | 1 -
arch/arm/boot/dts/spear320.dtsi | 2 --
4 files changed, 5 deletions(-)
diff --git a/arch/arm/boot/dts/spear1310.dtsi b/arch/arm/boot/dts/spear1310.dtsi
index 122ae94..90e99b5 100644
--- a/arch/arm/boot/dts/spear1310.dtsi
+++ b/arch/arm/boot/dts/spear1310.dtsi
@@ -89,7 +89,6 @@
pinmux: pinmux@e0700000 {
compatible = "st,spear1310-pinmux";
reg = <0xe0700000 0x1000>;
- #gpio-range-cells = <3>;
};
apb {
diff --git a/arch/arm/boot/dts/spear1340.dtsi b/arch/arm/boot/dts/spear1340.dtsi
index 54d128d..5003013 100644
--- a/arch/arm/boot/dts/spear1340.dtsi
+++ b/arch/arm/boot/dts/spear1340.dtsi
@@ -63,7 +63,6 @@
pinmux: pinmux@e0700000 {
compatible = "st,spear1340-pinmux";
reg = <0xe0700000 0x1000>;
- #gpio-range-cells = <3>;
};
pwm: pwm@e0180000 {
diff --git a/arch/arm/boot/dts/spear310.dtsi b/arch/arm/boot/dts/spear310.dtsi
index 9537208..1e1318e 100644
--- a/arch/arm/boot/dts/spear310.dtsi
+++ b/arch/arm/boot/dts/spear310.dtsi
@@ -25,7 +25,6 @@
pinmux: pinmux@b4000000 {
compatible = "st,spear310-pinmux";
reg = <0xb4000000 0x1000>;
- #gpio-range-cells = <3>;
};
fsmc: flash@44000000 {
diff --git a/arch/arm/boot/dts/spear320.dtsi b/arch/arm/boot/dts/spear320.dtsi
index ffea342..f630d0c 100644
--- a/arch/arm/boot/dts/spear320.dtsi
+++ b/arch/arm/boot/dts/spear320.dtsi
@@ -1,4 +1,3 @@
-/*
* DTS file for SPEAr320 SoC
*
* Copyright 2012 Viresh Kumar <viresh.linux-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@@ -24,7 +23,6 @@
pinmux: pinmux@b3000000 {
compatible = "st,spear320-pinmux";
reg = <0xb3000000 0x1000>;
- #gpio-range-cells = <3>;
};
clcd@90000000 {
--
1.8.1.5
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 7/7] ARM: mxc: remove #gpio-ranges-cells property
[not found] ` <1371157199-7272-1-git-send-email-swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
` (4 preceding siblings ...)
2013-06-13 20:59 ` [PATCH 6/7] ARM: spear: remove #gpio-ranges-cells property Stephen Warren
@ 2013-06-13 20:59 ` Stephen Warren
2013-06-14 12:21 ` [PATCH 1/7] ARM: mxc: fix gpio-ranges for VF610 Shawn Guo
6 siblings, 0 replies; 12+ messages in thread
From: Stephen Warren @ 2013-06-13 20:59 UTC (permalink / raw)
To: Linus Walleij, Shawn Guo
Cc: Stephen Warren, Shiraz Hashim,
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ, Rob Herring,
Jingchang Lu, Haojian Zhuang, linux-gpio-u79uwXL29TY76Z2rM5mHXA,
Grant Likely, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
From: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
This property is no longer required by the GPIO binding. Remove it.
Signed-off-by: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
---
Assuming the previous patches are accepted, I assume this should be
applied or squashed into the branch where vf610.dtsi was added.
---
arch/arm/boot/dts/vf610.dtsi | 1 -
1 file changed, 1 deletion(-)
diff --git a/arch/arm/boot/dts/vf610.dtsi b/arch/arm/boot/dts/vf610.dtsi
index e1eb7da..8577780 100644
--- a/arch/arm/boot/dts/vf610.dtsi
+++ b/arch/arm/boot/dts/vf610.dtsi
@@ -162,7 +162,6 @@
iomuxc: iomuxc@40048000 {
compatible = "fsl,vf610-iomuxc";
reg = <0x40048000 0x1000>;
- #gpio-range-cells = <3>;
/* functions and groups pins */
--
1.8.1.5
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH 6/7] ARM: spear: remove #gpio-ranges-cells property
[not found] ` <1371157199-7272-6-git-send-email-swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
@ 2013-06-14 3:59 ` Viresh Kumar
0 siblings, 0 replies; 12+ messages in thread
From: Viresh Kumar @ 2013-06-14 3:59 UTC (permalink / raw)
To: Stephen Warren
Cc: Stephen Warren, linux-gpio-u79uwXL29TY76Z2rM5mHXA, Rob Herring,
Shiraz Hashim, Haojian Zhuang, Jingchang Lu,
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Grant Likely
On Fri, Jun 14, 2013 at 2:29 AM, Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org> wrote:
> From: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
>
> This property is no longer required by the GPIO binding. Remove it.
>
> Signed-off-by: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
> ---
> This should presumably be applied along with the previous changes
> ---
> arch/arm/boot/dts/spear1310.dtsi | 1 -
> arch/arm/boot/dts/spear1340.dtsi | 1 -
> arch/arm/boot/dts/spear310.dtsi | 1 -
> arch/arm/boot/dts/spear320.dtsi | 2 --
> 4 files changed, 5 deletions(-)
Acked-by: Viresh Kumar <viresh.kumar-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 1/7] ARM: mxc: fix gpio-ranges for VF610
[not found] ` <1371157199-7272-1-git-send-email-swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
` (5 preceding siblings ...)
2013-06-13 20:59 ` [PATCH 7/7] ARM: mxc: " Stephen Warren
@ 2013-06-14 12:21 ` Shawn Guo
6 siblings, 0 replies; 12+ messages in thread
From: Shawn Guo @ 2013-06-14 12:21 UTC (permalink / raw)
To: Stephen Warren
Cc: Stephen Warren, Shiraz Hashim, Rob Herring, Jingchang Lu,
Haojian Zhuang, linux-gpio-u79uwXL29TY76Z2rM5mHXA, Grant Likely,
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
On Thu, Jun 13, 2013 at 02:59:53PM -0600, Stephen Warren wrote:
> From: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
>
> The gpio-ranges properties in vf610.dtsi were written according to an
> older version of the GPIO bindings. Unfortunately, these were changed
> incompatibly in commit 86853c8 "gpio: add gpio offset in gpio range
> cells property". This patch adds the missing required extra cell in each
> gpio-ranges property.
>
> Signed-off-by: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
Applied, thanks.
Shawn
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 2/7] gpio: clean up gpio-ranges documentation
[not found] ` <1371157199-7272-2-git-send-email-swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
@ 2013-06-16 12:43 ` Linus Walleij
0 siblings, 0 replies; 12+ messages in thread
From: Linus Walleij @ 2013-06-16 12:43 UTC (permalink / raw)
To: Stephen Warren
Cc: Stephen Warren, Shiraz Hashim,
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org,
Rob Herring, Jingchang Lu, Haojian Zhuang,
linux-gpio-u79uwXL29TY76Z2rM5mHXA, Grant Likely,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
On Thu, Jun 13, 2013 at 10:59 PM, Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org> wrote:
> From: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
>
> This change makes documentation of the the gpio-ranges property shorter
> and more succinct, more consistent with the style of the rest of the
> document, and not mention Linux-specifics such as the API
> pinctrl_request_gpio(); DT binding documents should be OS independant
> where at all possible.
>
> This change also removes any mention of the #gpio-range-cells property.
> Such properties are useful when one node references a second node, and
> that second node dictates the format of the reference. However, that is
> not the case here; the definition of gpio-ranges itself always dictates
> its format entirely, and hence the value #gpio-range-cells must always
> be 3, and hence there is no point requiring any referenced node to
> include this property.
>
> Signed-off-by: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
> ---
> Patches 2-6 need to be applied in the same branch, since they all build
> upon each-other.
Very nice. If I can just get the OF maintainers to ACK the OF
patches I can carry this stuff in pinctrl or gpio alike.
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 4/7] of: introduce of_parse_phandle_with_fixed_args
[not found] ` <1371157199-7272-4-git-send-email-swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
@ 2013-06-21 22:44 ` Stephen Warren
[not found] ` <51C4D75C.9060007-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
0 siblings, 1 reply; 12+ messages in thread
From: Stephen Warren @ 2013-06-21 22:44 UTC (permalink / raw)
To: Linus Walleij, Shawn Guo
Cc: Stephen Warren, linux-gpio-u79uwXL29TY76Z2rM5mHXA,
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ, Rob Herring,
Shiraz Hashim, Haojian Zhuang, Jingchang Lu,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Grant Likely
On 06/13/2013 02:59 PM, Stephen Warren wrote:
> From: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
>
> This is identical to of_parse_phandle_with_args(), except that the
> number of argument cells is fixed, rather than being parsed out of the
> node referenced by each phandle.
Rob, Grant, are you OK with these two DT patches? LinusW would like an
ack so he can take the series, which implements gpio-ranges property
parsing cleanup, through the GPIO tree. Thanks.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 4/7] of: introduce of_parse_phandle_with_fixed_args
[not found] ` <51C4D75C.9060007-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
@ 2013-06-24 12:20 ` Linus Walleij
0 siblings, 0 replies; 12+ messages in thread
From: Linus Walleij @ 2013-06-24 12:20 UTC (permalink / raw)
To: Stephen Warren, Rob Herring, Grant Likely
Cc: Stephen Warren, linux-gpio-u79uwXL29TY76Z2rM5mHXA,
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org,
Shiraz Hashim, Haojian Zhuang, Jingchang Lu,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
On Sat, Jun 22, 2013 at 12:44 AM, Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org> wrote:
> On 06/13/2013 02:59 PM, Stephen Warren wrote:
>> From: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
>>
>> This is identical to of_parse_phandle_with_args(), except that the
>> number of argument cells is fixed, rather than being parsed out of the
>> node referenced by each phandle.
>
> Rob, Grant, are you OK with these two DT patches? LinusW would like an
> ack so he can take the series, which implements gpio-ranges property
> parsing cleanup, through the GPIO tree. Thanks.
Yeah ping on this, it's a real nice cleanup.
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2013-06-24 12:20 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-06-13 20:59 [PATCH 1/7] ARM: mxc: fix gpio-ranges for VF610 Stephen Warren
[not found] ` <1371157199-7272-1-git-send-email-swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-06-13 20:59 ` [PATCH 2/7] gpio: clean up gpio-ranges documentation Stephen Warren
[not found] ` <1371157199-7272-2-git-send-email-swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-06-16 12:43 ` Linus Walleij
2013-06-13 20:59 ` [PATCH 3/7] of: move documentation of of_parse_phandle_with_args Stephen Warren
2013-06-13 20:59 ` [PATCH 4/7] of: introduce of_parse_phandle_with_fixed_args Stephen Warren
[not found] ` <1371157199-7272-4-git-send-email-swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-06-21 22:44 ` Stephen Warren
[not found] ` <51C4D75C.9060007-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-06-24 12:20 ` Linus Walleij
2013-06-13 20:59 ` [PATCH 5/7] gpio: implement gpio-ranges binding document fix Stephen Warren
2013-06-13 20:59 ` [PATCH 6/7] ARM: spear: remove #gpio-ranges-cells property Stephen Warren
[not found] ` <1371157199-7272-6-git-send-email-swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-06-14 3:59 ` Viresh Kumar
2013-06-13 20:59 ` [PATCH 7/7] ARM: mxc: " Stephen Warren
2013-06-14 12:21 ` [PATCH 1/7] ARM: mxc: fix gpio-ranges for VF610 Shawn Guo
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).