Re: [PATCH v7 1/3] gpio: dwapb: remove name from dwapb_port_property

From: Jiang Qiu
Date: Thu Apr 07 2016 - 07:46:20 EST


Hi Andy,

Thanks for your reply. See my comments inline.

Thanks
Jiang

å 2016/4/6 20:57, Andy Shevchenko åé:
> On Wed, Apr 6, 2016 at 10:07 AM, qiujiang <qiujiang@xxxxxxxxxx> wrote:
>> This patch removed the name property from dwapb_port_property.
>> The name property is redundant because we can get those info
>> from dwapb_gpio dev and pp->idx property.
>
> Where idx is used in such replacements?
Actually, it is not used so far. As Alan mentioned, the only additional
info from the pp->name against dev is the port index. I present here to
prevent anyone from missing it.

If it is inappropriate, I will remove it.

>
>> --- a/drivers/gpio/gpio-dwapb.c
>> +++ b/drivers/gpio/gpio-dwapb.c
>> @@ -409,8 +409,7 @@ static int dwapb_gpio_add_port(struct dwapb_gpio *gpio,
>> err = bgpio_init(&port->gc, gpio->dev, 4, dat, set, NULL, dirout,
>> NULL, false);
>> if (err) {
>> - dev_err(gpio->dev, "failed to init gpio chip for %s\n",
>> - pp->name);
>> + dev_err(gpio->dev, "failed to init gpio chip\n");
>
> Do we have any port index here available (expected value I suppose)?

The 3rd parameter 'offs' can be used, I will add it.
>
>> @@ -429,8 +428,7 @@ static int dwapb_gpio_add_port(struct dwapb_gpio *gpio,
>>
>> err = gpiochip_add_data(&port->gc, port);
>> if (err)
>> - dev_err(gpio->dev, "failed to register gpiochip for %s\n",
>> - pp->name);
>> + dev_err(gpio->dev, "failed to register gpiochip\n");
>
> Ditto.
>
>
>> @@ -499,15 +498,12 @@ dwapb_gpio_get_pdata_of(struct device *dev)
>> if (pp->idx == 0 &&
>> of_property_read_bool(port_np, "interrupt-controller")) {
>> pp->irq = irq_of_parse_and_map(port_np, 0);
>> - if (!pp->irq) {
>> - dev_warn(dev, "no irq for bank %s\n",
>> - port_np->full_name);
>> - }
>> + if (!pp->irq)
>> + dev_warn(dev, "no irq for this bank\n");
>
> pp->idx here?
>
> dev_warn(dev, "no irq for port%d\n", pp->idx);

Here, pp->idx should always be zero, means portA, because only portA can be a
interrupt controller as dwapb gpio IP defined. So, I omited it.

>
>> --- a/drivers/mfd/intel_quark_i2c_gpio.c
>> +++ b/drivers/mfd/intel_quark_i2c_gpio.c
>> @@ -220,7 +220,6 @@ static int intel_quark_gpio_setup(struct pci_dev *pdev, struct mfd_cell *cell)
>>
>> /* Set the properties for portA */
>> pdata->properties->node = NULL;
>> - pdata->properties->name = "intel-quark-x1000-gpio-portA";
>> pdata->properties->idx = 0;
>> pdata->properties->ngpio = INTEL_QUARK_MFD_NGPIO;
>> pdata->properties->gpio_base = INTEL_QUARK_MFD_GPIO_BASE;
>
> For Quark part:
> Acked-by: Andy Shevchenko <andy.shevchenko@xxxxxxxxx>
>