[PATCH 004/182] gpio: generic: factor into gpio_chip struct

Michael Welling mwelling at ieee.org
Wed Dec 9 15:08:52 PST 2015


On Wed, Dec 09, 2015 at 02:12:40PM +0100, Linus Walleij wrote:
...
> @@ -55,16 +54,16 @@ static int moxart_gpio_probe(struct platform_device *pdev)
>  		return ret;
>  	}
>  
> -	bgc->gc.label = "moxart-gpio";
> -	bgc->gc.request = gpiochip_generic_request;
> -	bgc->gc.free = gpiochip_generic_free;
> -	bgc->data = bgc->read_reg(bgc->reg_set);
> -	bgc->gc.base = 0;
> -	bgc->gc.ngpio = 32;
> -	bgc->gc.parent = dev;
> -	bgc->gc.owner = THIS_MODULE;
> +	gc->label = "moxart-gpio";
> +	gc->request = gpiochip_generic_request;
> +	gc->free = gpiochip_generic_free;
> +	gc->bgpio_data = bgc->read_reg(bgc->reg_set);
> +	gc->base = 0;
> +	gc->ngpio = 32;
> +	gc->parent = dev;
> +	gc->owner = THIS_MODULE;
>  
> -	ret = gpiochip_add(&bgc->gc);
> +	ret = gpiochip_add_data(gc, NULL);
>  	if (ret) {

gpiochip_add is still mentioned in the dev_err below.

>  		dev_err(dev, "%s: gpiochip_add failed\n",
>  			dev->of_node->full_name);
...

> @@ -226,14 +225,14 @@ static int sdv_gpio_probe(struct pci_dev *pdev,
>  		writel(mux_val, sd->gpio_pub_base + GPMUXCTL);
>  	}
>  
> -	ret = bgpio_init(&sd->bgpio, &pdev->dev, 4,
> +	ret = bgpio_init(&sd->chip, &pdev->dev, 4,
>  			sd->gpio_pub_base + GPINR, sd->gpio_pub_base + GPOUTR,
>  			NULL, sd->gpio_pub_base + GPOER, NULL, 0);
>  	if (ret)
>  		goto unmap;
> -	sd->bgpio.gc.ngpio = SDV_NUM_PUB_GPIOS;
> +	sd->chip.ngpio = SDV_NUM_PUB_GPIOS;
>  
> -	ret = gpiochip_add(&sd->bgpio.gc);
> +	ret = gpiochip_add_data(&sd->chip, sd);
>  	if (ret < 0) {

Also still mentioned here in the dev_err.

>  		dev_err(&pdev->dev, "gpiochip_add() failed.\n");
>  		goto unmap;
...
 
> @@ -201,8 +201,8 @@ static int vexpress_sysreg_probe(struct platform_device *pdev)
>  		return -ENOMEM;
>  	bgpio_init(mmc_gpio_chip, &pdev->dev, 0x4, base + SYS_MCI,
>  			NULL, NULL, NULL, NULL, 0);

Was going to complain about this one not switching to _data but it was
addressed in a follow up patch.

> -	mmc_gpio_chip->gc.ngpio = 2;
> -	gpiochip_add(&mmc_gpio_chip->gc);
> +	mmc_gpio_chip->ngpio = 2;
> +	gpiochip_add(mmc_gpio_chip);



More information about the linux-arm-kernel mailing list