| From 60a225735b974232b7b1e0dcce1f2812af26c09d Mon Sep 17 00:00:00 2001 |
| From: Michal Simek <michal.simek@xilinx.com> |
| Date: Mon, 3 Jun 2013 14:31:16 +0200 |
| Subject: GPIO: xilinx: Simplify driver probe function |
| |
| Simplification is done by using OF helper function |
| which increase readability of code and remove |
| (if (var) var = be32_to_cpup;) assignment. |
| |
| Signed-off-by: Michal Simek <michal.simek@xilinx.com> |
| Signed-off-by: Linus Walleij <linus.walleij@linaro.org> |
| (cherry picked from commit 6f8bf50031a68f533ae7eba3d3277c38ee7806f5) |
| Signed-off-by: Daniel Sangorrin <daniel.sangorrin@toshiba.co.jp> |
| Signed-off-by: Yoshitake Kobayashi <yoshitake.kobayashi@toshiba.co.jp> |
| --- |
| drivers/gpio/gpio-xilinx.c | 24 ++++++++++-------------- |
| 1 file changed, 10 insertions(+), 14 deletions(-) |
| |
| diff --git a/drivers/gpio/gpio-xilinx.c b/drivers/gpio/gpio-xilinx.c |
| index 9ae7aa8ca48a..2aad53497a63 100644 |
| --- a/drivers/gpio/gpio-xilinx.c |
| +++ b/drivers/gpio/gpio-xilinx.c |
| @@ -170,24 +170,20 @@ static int xgpio_of_probe(struct device_node *np) |
| return -ENOMEM; |
| |
| /* Update GPIO state shadow register with default value */ |
| - tree_info = of_get_property(np, "xlnx,dout-default", NULL); |
| - if (tree_info) |
| - chip->gpio_state = be32_to_cpup(tree_info); |
| + of_property_read_u32(np, "xlnx,dout-default", &chip->gpio_state); |
| + |
| + /* By default, all pins are inputs */ |
| + chip->gpio_dir = 0xFFFFFFFF; |
| |
| /* Update GPIO direction shadow register with default value */ |
| - chip->gpio_dir = 0xFFFFFFFF; /* By default, all pins are inputs */ |
| - tree_info = of_get_property(np, "xlnx,tri-default", NULL); |
| - if (tree_info) |
| - chip->gpio_dir = be32_to_cpup(tree_info); |
| + of_property_read_u32(np, "xlnx,tri-default", &chip->gpio_dir); |
| + |
| + /* By default assume full GPIO controller */ |
| + chip->mmchip.gc.ngpio = 32; |
| |
| /* Check device node and parent device node for device width */ |
| - chip->mmchip.gc.ngpio = 32; /* By default assume full GPIO controller */ |
| - tree_info = of_get_property(np, "xlnx,gpio-width", NULL); |
| - if (!tree_info) |
| - tree_info = of_get_property(np->parent, |
| - "xlnx,gpio-width", NULL); |
| - if (tree_info) |
| - chip->mmchip.gc.ngpio = be32_to_cpup(tree_info); |
| + of_property_read_u32(np, "xlnx,gpio-width", |
| + (u32 *)&chip->mmchip.gc.ngpio); |
| |
| spin_lock_init(&chip->gpio_lock); |
| |
| -- |
| 1.8.5.rc3 |
| |