mirror of https://gitee.com/openkylin/linux.git
gpio: tegra: Use NOIRQ phase for suspend/resume
All GPIO interrupts are disabled during of the NOIRQ suspend/resume phase, thus there is no need to manually disable the interrupts. This patch doesn't fix any problem, this is just a minor clean-up. Signed-off-by: Dmitry Osipenko <digetx@gmail.com> Reviewed-by: Thierry Reding <treding@nvidia.com> Tested-by: Thierry Reding <treding@nvidia.com> Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
This commit is contained in:
parent
f56d979cc5
commit
9ccaf106c2
|
@ -416,11 +416,8 @@ static void tegra_gpio_irq_handler(struct irq_desc *desc)
|
||||||
static int tegra_gpio_resume(struct device *dev)
|
static int tegra_gpio_resume(struct device *dev)
|
||||||
{
|
{
|
||||||
struct tegra_gpio_info *tgi = dev_get_drvdata(dev);
|
struct tegra_gpio_info *tgi = dev_get_drvdata(dev);
|
||||||
unsigned long flags;
|
|
||||||
unsigned int b, p;
|
unsigned int b, p;
|
||||||
|
|
||||||
local_irq_save(flags);
|
|
||||||
|
|
||||||
for (b = 0; b < tgi->bank_count; b++) {
|
for (b = 0; b < tgi->bank_count; b++) {
|
||||||
struct tegra_gpio_bank *bank = &tgi->bank_info[b];
|
struct tegra_gpio_bank *bank = &tgi->bank_info[b];
|
||||||
|
|
||||||
|
@ -448,17 +445,14 @@ static int tegra_gpio_resume(struct device *dev)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
local_irq_restore(flags);
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int tegra_gpio_suspend(struct device *dev)
|
static int tegra_gpio_suspend(struct device *dev)
|
||||||
{
|
{
|
||||||
struct tegra_gpio_info *tgi = dev_get_drvdata(dev);
|
struct tegra_gpio_info *tgi = dev_get_drvdata(dev);
|
||||||
unsigned long flags;
|
|
||||||
unsigned int b, p;
|
unsigned int b, p;
|
||||||
|
|
||||||
local_irq_save(flags);
|
|
||||||
for (b = 0; b < tgi->bank_count; b++) {
|
for (b = 0; b < tgi->bank_count; b++) {
|
||||||
struct tegra_gpio_bank *bank = &tgi->bank_info[b];
|
struct tegra_gpio_bank *bank = &tgi->bank_info[b];
|
||||||
|
|
||||||
|
@ -488,7 +482,7 @@ static int tegra_gpio_suspend(struct device *dev)
|
||||||
GPIO_INT_ENB(tgi, gpio));
|
GPIO_INT_ENB(tgi, gpio));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
local_irq_restore(flags);
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -562,7 +556,7 @@ static inline void tegra_gpio_debuginit(struct tegra_gpio_info *tgi)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static const struct dev_pm_ops tegra_gpio_pm_ops = {
|
static const struct dev_pm_ops tegra_gpio_pm_ops = {
|
||||||
SET_SYSTEM_SLEEP_PM_OPS(tegra_gpio_suspend, tegra_gpio_resume)
|
SET_NOIRQ_SYSTEM_SLEEP_PM_OPS(tegra_gpio_suspend, tegra_gpio_resume)
|
||||||
};
|
};
|
||||||
|
|
||||||
static int tegra_gpio_probe(struct platform_device *pdev)
|
static int tegra_gpio_probe(struct platform_device *pdev)
|
||||||
|
|
Loading…
Reference in New Issue