bgpio_init function set different data of the gpio chip, like the name. We want specific name for each bank so to get that not overwritten move all custom changes after the bgpio_init function call. Signed-off-by: Sergio Paracuellos <sergio.paracuellos@xxxxxxxxx> --- drivers/staging/mt7621-gpio/gpio-mt7621.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/staging/mt7621-gpio/gpio-mt7621.c b/drivers/staging/mt7621-gpio/gpio-mt7621.c index ccf2aa8..1b4588a 100644 --- a/drivers/staging/mt7621-gpio/gpio-mt7621.c +++ b/drivers/staging/mt7621-gpio/gpio-mt7621.c @@ -236,9 +236,6 @@ mediatek_gpio_bank_probe(struct platform_device *pdev, spin_lock_init(&rg->lock); rg->chip.of_node = node; rg->bank = bank; - rg->chip.of_gpio_n_cells = 2; - rg->chip.of_xlate = mediatek_gpio_xlate; - rg->chip.label = mediatek_gpio_bank_name(rg->bank); dat = gpio->gpio_membase + GPIO_REG_DATA + (rg->bank * GPIO_BANK_WIDE); set = gpio->gpio_membase + GPIO_REG_DSET + (rg->bank * GPIO_BANK_WIDE); @@ -252,6 +249,10 @@ mediatek_gpio_bank_probe(struct platform_device *pdev, return ret; } + rg->chip.of_gpio_n_cells = 2; + rg->chip.of_xlate = mediatek_gpio_xlate; + rg->chip.label = mediatek_gpio_bank_name(rg->bank); + ret = devm_gpiochip_add_data(&pdev->dev, &rg->chip, gpio); if (ret < 0) { dev_err(&pdev->dev, "Could not register gpio %d, ret=%d\n", -- 2.7.4 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel