Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1690524

Re: [PATCH 1/4] gpio: davinci: Use devm_gpiochip_add_data in place of gpiochip_add_data

From Keerthy <j-keerthy@ti.com>
Newsgroups linux.kernel
Subject Re: [PATCH 1/4] gpio: davinci: Use devm_gpiochip_add_data in place of gpiochip_add_data
Date 2017-07-18 19:50 +0200
Message-ID <u4ENb-5q1-9@gated-at.bofh.it> (permalink)
References <u4yoq-1lh-25@gated-at.bofh.it> <u4yos-1lh-63@gated-at.bofh.it> <u4E0N-4S6-1@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw



On Tuesday 18 July 2017 10:20 PM, Suman Anna wrote:
> Hi Keerthy,
> 
> On 07/18/2017 05:57 AM, Keerthy wrote:
>> Use the devm version of gpiochip_add_data and pass on the
>> return value. Reset the static variables to 0 before returning.
>>
>> Signed-off-by: Keerthy <j-keerthy@ti.com>
>> ---
>>  drivers/gpio/gpio-davinci.c | 10 ++++++++--
>>  1 file changed, 8 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/gpio/gpio-davinci.c b/drivers/gpio/gpio-davinci.c
>> index 65cb359..2c88054 100644
>> --- a/drivers/gpio/gpio-davinci.c
>> +++ b/drivers/gpio/gpio-davinci.c
>> @@ -166,7 +166,7 @@ static int davinci_gpio_get(struct gpio_chip *chip, unsigned offset)
>>  static int davinci_gpio_probe(struct platform_device *pdev)
>>  {
>>  	static int ctrl_num, bank_base;
>> -	int gpio, bank;
>> +	int gpio, bank, ret = 0;
>>  	unsigned ngpio, nbank;
>>  	struct davinci_gpio_controller *chips;
>>  	struct davinci_gpio_platform_data *pdata;
>> @@ -232,7 +232,13 @@ static int davinci_gpio_probe(struct platform_device *pdev)
>>  	for (gpio = 0, bank = 0; gpio < ngpio; gpio += 32, bank++)
>>  		chips->regs[bank] = gpio_base + offset_array[bank];
>>  
>> -	gpiochip_add_data(&chips->chip, chips);
>> +	ret = devm_gpiochip_add_data(dev, &chips->chip, chips);
>> +	if (ret) {
>> +		ctrl_num = 0;
>> +		bank_base = 0;
> 
> Hmm, this doesn't look right to me. These variables are defined as
> static, and you are resetting them unconditionally. This should be an
> issue when you have multiple devices and one of them fails.

Agreed. With multiple instances this can reset the successful count also.

Upon failure in any iteration, the following should take care of those
static variables:

/* Revert the static variable increments */
        ctrl_num--;
        bank_base -= ngpio;

Thanks for the quick review!

Reagrds,
Keerthy

> 
> regards
> Suman
> 
>> +		return ret;
>> +	}
>> +
>>  	platform_set_drvdata(pdev, chips);
>>  	davinci_gpio_irq_setup(pdev);
>>  	return 0;
>>
> 

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 0/4] gpio: davinci: Add keystone-k2g support and few clean ups Keerthy <j-keerthy@ti.com> - 2017-07-18 13:00 +0200
  [PATCH 4/4] ARM: dts: keystone-k2g-evm: Add gpio nodes Keerthy <j-keerthy@ti.com> - 2017-07-18 13:00 +0200
    Re: [PATCH 4/4] ARM: dts: keystone-k2g-evm: Add gpio nodes Suman Anna <s-anna@ti.com> - 2017-07-18 21:20 +0200
      Re: [PATCH 4/4] ARM: dts: keystone-k2g-evm: Add gpio nodes Keerthy <j-keerthy@ti.com> - 2017-07-19 06:10 +0200
  [PATCH 1/4] gpio: davinci: Use devm_gpiochip_add_data in place of gpiochip_add_data Keerthy <j-keerthy@ti.com> - 2017-07-18 13:00 +0200
    Re: [PATCH 1/4] gpio: davinci: Use devm_gpiochip_add_data in place of  gpiochip_add_data Suman Anna <s-anna@ti.com> - 2017-07-18 19:00 +0200
      Re: [PATCH 1/4] gpio: davinci: Use devm_gpiochip_add_data in place of  gpiochip_add_data Keerthy <j-keerthy@ti.com> - 2017-07-18 19:50 +0200
    Re: [PATCH 1/4] gpio: davinci: Use devm_gpiochip_add_data in place  of gpiochip_add_data Johan Hovold <johan@kernel.org> - 2017-07-19 11:40 +0200
      Re: [PATCH 1/4] gpio: davinci: Use devm_gpiochip_add_data in place of  gpiochip_add_data Keerthy <j-keerthy@ti.com> - 2017-07-19 12:00 +0200
  [PATCH 2/4] gpio: davinci: Handle the return value of davinci_gpio_irq_setup function Keerthy <j-keerthy@ti.com> - 2017-07-18 13:00 +0200
    Re: [PATCH 2/4] gpio: davinci: Handle the return value of  davinci_gpio_irq_setup function Suman Anna <s-anna@ti.com> - 2017-07-18 19:00 +0200
      Re: [PATCH 2/4] gpio: davinci: Handle the return value of  davinci_gpio_irq_setup function Keerthy <j-keerthy@ti.com> - 2017-07-18 19:50 +0200
    Re: [PATCH 2/4] gpio: davinci: Handle the return value of  davinci_gpio_irq_setup function Johan Hovold <johan@kernel.org> - 2017-07-19 13:20 +0200
      Re: [PATCH 2/4] gpio: davinci: Handle the return value of  davinci_gpio_irq_setup function Keerthy <j-keerthy@ti.com> - 2017-07-20 08:50 +0200
        Re: [PATCH 2/4] gpio: davinci: Handle the return value of  davinci_gpio_irq_setup function Keerthy <j-keerthy@ti.com> - 2017-07-20 11:20 +0200
          Re: [PATCH 2/4] gpio: davinci: Handle the return value of  davinci_gpio_irq_setup function Johan Hovold <johan@kernel.org> - 2017-07-20 12:00 +0200
            Re: [PATCH 2/4] gpio: davinci: Handle the return value of  davinci_gpio_irq_setup function Keerthy <j-keerthy@ti.com> - 2017-07-20 12:10 +0200
              Re: [PATCH 2/4] gpio: davinci: Handle the return value of  davinci_gpio_irq_setup function Johan Hovold <johan@kernel.org> - 2017-07-20 12:10 +0200
                Re: [PATCH 2/4] gpio: davinci: Handle the return value of  davinci_gpio_irq_setup function Keerthy <j-keerthy@ti.com> - 2017-07-20 12:20 +0200
                Re: [PATCH 2/4] gpio: davinci: Handle the return value of  davinci_gpio_irq_setup function Grygorii Strashko <grygorii.strashko@ti.com> - 2017-07-20 23:40 +0200
                Re: [PATCH 2/4] gpio: davinci: Handle the return value of  davinci_gpio_irq_setup function Keerthy <j-keerthy@ti.com> - 2017-07-21 06:00 +0200
                Re: [PATCH 2/4] gpio: davinci: Handle the return value of  davinci_gpio_irq_setup function Johan Hovold <johan@kernel.org> - 2017-07-21 09:50 +0200
  [PATCH 3/4] gpio: davinci: Add a separate compatible for keystone-k2g soc Keerthy <j-keerthy@ti.com> - 2017-07-18 13:10 +0200
    Re: [PATCH 3/4] gpio: davinci: Add a separate compatible for  keystone-k2g soc Sekhar Nori <nsekhar@ti.com> - 2017-07-18 13:40 +0200
      Re: [PATCH 3/4] gpio: davinci: Add a separate compatible for  keystone-k2g soc Keerthy <j-keerthy@ti.com> - 2017-07-18 19:50 +0200
    Re: [PATCH 3/4] gpio: davinci: Add a separate compatible for  keystone-k2g soc Rob Herring <robh@kernel.org> - 2017-07-24 20:30 +0200
      Re: [PATCH 3/4] gpio: davinci: Add a separate compatible for  keystone-k2g soc Keerthy <j-keerthy@ti.com> - 2017-07-25 05:30 +0200

csiph-web