Re: [PATCH V3 4/4] gpio: tegra: Add support for gpio debounce

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Monday 25 April 2016 10:25 AM, Alexandre Courbot wrote:
On Wed, Apr 20, 2016 at 10:30 PM, Laxman Dewangan <ldewangan@xxxxxxxxxx> wrote:
                      bank->int_lvl[p] = tegra_gpio_readl(tgi,
@@ -550,6 +598,9 @@ static int tegra_gpio_probe(struct platform_device *pdev)

         platform_set_drvdata(pdev, tgi);

+       if (!config->debounce_supported)
+               tgi->gc->set_debounce = NULL;
This last line is equivalent to doing

      tegra_gpio_chip.set_debounce = NULL

Which means that after that no one can reinstanciate this driver and
use debounce. Granted, this does not happen in real life, but the
purpose of the previous patch that removes all static variables is
supposedly to make this scenario possible. I think you can easily fix
this though: make tgi->gc a non-pointer member, do tgi->gc =
tegra_gpio_chip to copy the initial data, and then set
tgi->gc.set_debounce to NULL if needed.
As there is only single instance of the tegra gpio driver, I avoided the 
copy of the tegra_gpio_chip.
I am not expecting multiple instance of this driver and hence should be 
fine. When multiple instances are needed, it can be just use as:
But let me make this as you suggested.


tegra_gpio_chip can then be made constant, and maybe even __initdata?
I have not seen the usage of __initdata now a days. I think it is removed from most of places.
Will use the const.

--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [ARM Kernel]     [Linux ARM]     [Linux ARM MSM]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux