Message ID | 1418051276-5476-3-git-send-email-ricardo.ribalda@gmail.com |
---|---|
State | Changes Requested |
Headers | show |
On Tue, Dec 9, 2014 at 12:07 AM, Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com> wrote: > This way we do not need to transverse the device tree manually and we > support hot plugged devices. Looks ok at first sight, but I think patch 3 should be merged into this one. They are really closely related. -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hello Alexandre Will merge them and resend. May I add your acked by to the merged 2/3? Thanks! On Wed, Dec 10, 2014 at 11:49 AM, Alexandre Courbot <gnurou@gmail.com> wrote: > On Tue, Dec 9, 2014 at 12:07 AM, Ricardo Ribalda Delgado > <ricardo.ribalda@gmail.com> wrote: >> This way we do not need to transverse the device tree manually and we >> support hot plugged devices. > > Looks ok at first sight, but I think patch 3 should be merged into > this one. They are really closely related.
On Wed, Dec 10, 2014 at 10:07 PM, Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com> wrote: > Hello Alexandre > > Will merge them and resend. May I add your acked by to the merged 2/3? Not yet, I'd like to review the merged patch to get a good picture of what it is doing. -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
I have just resend the whole patchet. I prefer 2 and 3 splited, so if you change your mind It is not a problem to split them again :) Regards! On Wed, Dec 10, 2014 at 2:09 PM, Alexandre Courbot <gnurou@gmail.com> wrote: > On Wed, Dec 10, 2014 at 10:07 PM, Ricardo Ribalda Delgado > <ricardo.ribalda@gmail.com> wrote: >> Hello Alexandre >> >> Will merge them and resend. May I add your acked by to the merged 2/3? > > Not yet, I'd like to review the merged patch to get a good picture of > what it is doing.
diff --git a/drivers/gpio/gpio-xilinx.c b/drivers/gpio/gpio-xilinx.c index 9483950..1199a31 100644 --- a/drivers/gpio/gpio-xilinx.c +++ b/drivers/gpio/gpio-xilinx.c @@ -174,16 +174,16 @@ static void xgpio_save_regs(struct of_mm_gpio_chip *mm_gc) /** * xgpio_of_probe - Probe method for the GPIO device. - * @np: pointer to device tree node * * This function probes the GPIO device in the device tree. It initializes the * driver data structure. It returns 0, if the driver is bound to the GPIO * device, or a negative value if there is an error. */ -static int xgpio_of_probe(struct device_node *np) +static int xgpio_probe(struct platform_device *pdev) { struct xgpio_instance *chip; int status = 0; + struct device_node *np = pdev->dev.of_node; const u32 *tree_info; u32 ngpio; @@ -210,6 +210,7 @@ static int xgpio_of_probe(struct device_node *np) spin_lock_init(&chip->gpio_lock); + chip->mmchip.gc.dev = &pdev->dev; chip->mmchip.gc.direction_input = xgpio_dir_in; chip->mmchip.gc.direction_output = xgpio_dir_out; chip->mmchip.gc.get = xgpio_get; @@ -255,6 +256,7 @@ static int xgpio_of_probe(struct device_node *np) spin_lock_init(&chip->gpio_lock); + chip->mmchip.gc.dev = &pdev->dev; chip->mmchip.gc.direction_input = xgpio_dir_in; chip->mmchip.gc.direction_output = xgpio_dir_out; chip->mmchip.gc.get = xgpio_get; @@ -286,19 +288,18 @@ static const struct of_device_id xgpio_of_match[] = { { /* end of list */ }, }; -static int __init xgpio_init(void) -{ - struct device_node *np; - - for_each_matching_node(np, xgpio_of_match) - xgpio_of_probe(np); +MODULE_DEVICE_TABLE(of, xgpio_of_match); - return 0; -} +static struct platform_driver xgpio_plat_driver = { + .probe = xgpio_probe, + .driver = { + .name = "gpio-xilinx", + .owner = THIS_MODULE, + .of_match_table = xgpio_of_match, + }, +}; -/* Make sure we get initialized before anyone else tries to use us */ -subsys_initcall(xgpio_init); -/* No exit call at the moment as we cannot unregister of GPIO chips */ +module_platform_driver(xgpio_plat_driver); MODULE_AUTHOR("Xilinx, Inc."); MODULE_DESCRIPTION("Xilinx GPIO driver");
This way we do not need to transverse the device tree manually and we support hot plugged devices. Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com> --- drivers/gpio/gpio-xilinx.c | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-)