From: Grygorii Strashko
While working on suspend-to-disk functionality on TI dra7-evm (DRA7xx SoC)
i've found that the most common problem I have to dial with is absence
of corresponding PM callbacks in drivers and, in particular, noirq callbacks.
So, I've fixed one driver first
commit 6248015d68
From: Grygorii Strashko
The same approach is used as for the existing SET_SYSTEM_SLEEP_PM_OPS,
but for noirq callbacks.
New SET_NOIRQ_SYSTEM_SLEEP_PM_OPS, defined for CONFIG_PM_SLEEP, will
point ->suspend_noirq, ->freeze_noirq and ->poweroff_noirq to the same
function. Vice versa happens for ->r
From: Grygorii Strashko
Add missed callbacks needed for proper supporting of suspend-to-disk
by using recently introduced macro SET_NOIRQ_SYSTEM_SLEEP_PM_OPS.
Cc: Tony Lindgren
Cc: Nishanth Menon
Cc: Kevin Hilman
Cc: Santosh Shilimkar
Signed-off-by: Grygorii Strashko
---
drivers/bus/omap_l
From: Grygorii Strashko
Use recently introduced macro SET_NOIRQ_SYSTEM_SLEEP_PM_OPS to
set up PM callbacks. This also fixes missed assignment of
.poweroff_noirq() callback.
Cc: Tony Lindgren
Cc: Nishanth Menon
Cc: Kevin Hilman
Cc: Santosh Shilimkar
Signed-off-by: Grygorii Strashko
---
arch
From: Grygorii Strashko
The PM_RESTORE_PREPARE is not handled now in mmc_pm_notify(),
as result mmc_rescan() could be scheduled and executed at
late hibernation restore stages when MMC device is suspended
already - which, in turn, will lead to system crash on TI dra7-evm board:
WARNING: CPU: 0 P
From: Grygorii Strashko
Convert omap_gpio_is_input() to use GPIO offset instead of mask and,
in such way, make code simpler and remove few lines of code.
Tested-by: Tony Lindgren
Tested-by: Aaro Koskinen
Acked-by: Santosh Shilimkar
Acked-by: Javier Martinez Canillas
Signed-off-by: Grygorii S
From: Grygorii Strashko
Convert debounce functions to use GPIO offset instead of system
GPIO numbers. This allows to drop unneeded conversations between
system GPIO <-> GPIO offset which are done in many places and
many times.
It is safe to do now because:
- gpiolib always passes GPIO offset to G
From: Grygorii Strashko
Now OMAP GPIO driver prepared for omap_irq_to_gpio() removing.
Do it ;)
Tested-by: Tony Lindgren
Tested-by: Aaro Koskinen
Acked-by: Santosh Shilimkar
Acked-by: Javier Martinez Canillas
Signed-off-by: Grygorii Strashko
---
drivers/gpio/gpio-omap.c | 17 +-
From: Grygorii Strashko
Convert GPIO IRQ functions to use GPIO offset instead of system
GPIO numbers. This allows to drop unneeded conversations between
system GPIO <-> GPIO offset which are done in many places and
many times.
It is safe to do now because:
- gpiolib always passes GPIO offset to G
From: Grygorii Strashko
Both functions omap_set_gpio_dataout_reg() and
omap_set_gpio_dataout_mask() accept GPIO offset
as 'gpio' input parameter, so rename it to 'offset' and
drop usage of GPIO_BIT() macro.
Tested-by: Tony Lindgren
Tested-by: Aaro Koskinen
Acked-by: Santosh Shilimkar
Acked-by
From: Grygorii Strashko
The 'gpio' parameter isn't needed any more as it
duplicates 'offset' parameter, so drop it.
Tested-by: Tony Lindgren
Tested-by: Aaro Koskinen
Acked-by: Santosh Shilimkar
Acked-by: Javier Martinez Canillas
Signed-off-by: Grygorii Strashko
---
drivers/gpio/gpio-omap.c
From: Grygorii Strashko
Now OMAP GPIO driver prepared for GPIO_BIT() macro removing.
Do it ;)
Tested-by: Tony Lindgren
Tested-by: Aaro Koskinen
Acked-by: Santosh Shilimkar
Acked-by: Javier Martinez Canillas
Signed-off-by: Grygorii Strashko
---
drivers/gpio/gpio-omap.c | 1 -
1 file changed
From: Grygorii Strashko
Now OMAP GPIO driver prepared for GPIO_INDEX() macro removing.
Do It ;)
Tested-by: Tony Lindgren
Tested-by: Aaro Koskinen
Acked-by: Santosh Shilimkar
Acked-by: Javier Martinez Canillas
Signed-off-by: Grygorii Strashko
---
drivers/gpio/gpio-omap.c | 9 -
1 fi
From: Grygorii Strashko
Now in TI OMAP GPIO driver there are a lot of places where
System GPIO number calculated and then converted to GPIO offset.
What is worse is that in many place such conversation performed twice
or even three times. But actually, we don't need to do that at all, because
- g
From: Grygorii Strashko
The 'gpio' parameter isn't needed any more as it
duplicates 'offset' parameter, so drop it.
Signed-off-by: Grygorii Strashko
---
drivers/gpio/gpio-omap.c | 12 +---
1 file changed, 5 insertions(+), 7 deletions(-)
diff --git a/drivers/gpio/gpio-omap.c b/drivers/
From: Grygorii Strashko
Convert omap_gpio_is_input() to use GPIO offset instead of mask and,
in such way, make code simpler and remove few lines of code.
Signed-off-by: Grygorii Strashko
---
drivers/gpio/gpio-omap.c | 10 --
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a
From: Grygorii Strashko
Now OMAP GPIO driver prepared for GPIO_INDEX() macro removing.
Do It ;)
Signed-off-by: Grygorii Strashko
---
drivers/gpio/gpio-omap.c | 9 -
1 file changed, 9 deletions(-)
diff --git a/drivers/gpio/gpio-omap.c b/drivers/gpio/gpio-omap.c
index 615e950..cd1d5bf 1
From: Grygorii Strashko
Both functions omap_set_gpio_dataout_reg() and
omap_set_gpio_dataout_mask() accept GPIO offset
as 'gpio' input parameter, so rename it to 'offset' and
drop usage of GPIO_BIT() macro.
Signed-off-by: Grygorii Strashko
---
drivers/gpio/gpio-omap.c | 10 +-
1 file c
From: Grygorii Strashko
Now OMAP GPIO driver prepared for GPIO_BIT() macro removing.
Do it ;)
Signed-off-by: Grygorii Strashko
---
drivers/gpio/gpio-omap.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/gpio/gpio-omap.c b/drivers/gpio/gpio-omap.c
index b39faa8..
From: Grygorii Strashko
Now OMAP GPIO driver prepared for omap_irq_to_gpio() removing.
Do it ;)
Signed-off-by: Grygorii Strashko
---
drivers/gpio/gpio-omap.c | 17 +
1 file changed, 5 insertions(+), 12 deletions(-)
diff --git a/drivers/gpio/gpio-omap.c b/drivers/gpio/gpio-omap
From: Grygorii Strashko
Convert debounce functions to use GPIO offset instead of system
GPIO numbers. This allows to drop unneeded conversations between
system GPIO <-> GPIO offset which are done in many places and
many times.
It is safe to do now because:
- gpiolib always passes GPIO offset to G
From: Grygorii Strashko
Convert GPIO IRQ functions to use GPIO offset instead of system
GPIO numbers. This allows to drop unneeded conversations between
system GPIO <-> GPIO offset which are done in many places and
many times.
It is safe to do now because:
- gpiolib always passes GPIO offset to G
From: Grygorii Strashko
Now in TI OMAP GPIO driver there are a lot of places where
System GPIO number calculated and then converted to GPIO offset.
What is worse is that in many place such conversation performed twice
or even three times. But actually, we don't need to do that at all, because
- g
From: Grygorii Strashko
GPIOLib core implemnts irqchip->irq_request/release_resources callbacks
internally and these callbacks already contain clalls of
gpiochip_lock/unlock_as_irq().
Hence, remove unnecessary call of gpiochip_unlock_as_irq() from
omap_gpio_irq_shutdown().
Signed-off-by: Grygor
From: Grygorii Strashko
Now there are two points related to Runtime PM usage:
1) bank state doesn't need to be checked in places where
Rintime PM is used, bacause Runtime PM maintains its
own usage counter:
if (!BANK_USED(bank))
pm_runtime_get_sync(bank->dev);
so, it's safe t
From: Russ Dill
Setting a dev_pm_ops suspend/resume pair but not a set of
hibernation functions means those pm functions will not be
called upon hibernation.
Fix this by using SET_SYSTEM_SLEEP_PM_OPS, which appropriately
assigns the suspend and hibernation handlers and move
omap_hsmmc_x callbacks
From: Grygorii Strashko
Setting a dev_pm_ops suspend/resume pair but not a set of
hibernation functions means those pm functions will not be
called upon hibernation.
Fix this by using SIMPLE_DEV_PM_OPS, which appropriately
assigns the suspend and hibernation handlers and move
cpsw_suspend/resume
From: Grygorii Strashko
Setting a dev_pm_ops suspend_late/resume_early pair but not a
set of hibernation functions means those pm functions will
not be called upon hibernation.
Fix this by using SET_LATE_SYSTEM_SLEEP_PM_OPS, which appropriately
assigns the suspend and hibernation handlers and mov
From: Grygorii Strashko
Setting a dev_pm_ops resume callback but not a set of
hibernation handler means that pm function will not be
called upon hibernation.
Fix this by using SIMPLE_DEV_PM_OPS, which appropriately
assigns the suspend and hibernation handlers and move
omap_dmm_resume under CONFIG
From: Grygorii Strashko
Add handling of missed events in omap_dss_pm_notif which are
needed to support hibernation (suspend to disk).
Signed-off-by: Grygorii Strashko
---
drivers/video/fbdev/omap2/dss/core.c | 4
1 file changed, 4 insertions(+)
diff --git a/drivers/video/fbdev/omap2/dss/
From: Grygorii Strashko
Add missed callback needed for supporting suspend-to-disk (hibernation) mode.
Signed-off-by: Grygorii Strashko
---
arch/arm/mach-omap2/omap_device.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/arch/arm/mach-omap2/omap_device.c
b/arch/arm/mach-omap2/omap_devi
From: Grygorii Strashko
Fix following build warning if CONFIG_PM_SLEEP is not set:
drivers/thermal/ti-soc-thermal/ti-bandgap.c:1478:12: warning:
'ti_bandgap_suspend' defined but not used [-Wunused-function]
static int ti_bandgap_suspend(struct device *dev)
^
drivers/thermal/ti-soc-
From: Grygorii Strashko
Now DRA7xx pcie1/2 hwmods define PRCM configuration as following:
.clkctrl_offs = DRA7XX_CM_PCIE_CLKSTCTRL_OFFSET,
.rstctrl_offs = DRA7XX_RM_L3INIT_RSTCTRL_OFFSET,
.modulemode = MODULEMODE_SWCTRL,
which is completely wrong because DRA7XX_CM_PCIE_CLKSTCTRL_OFFSET
is
33 matches
Mail list logo