Second Round of Renesas ARM Based SoC Cleanup for v4.4
Subsystems (6)
Hi Olof, Hi Kevin, Hi Arnd,
Please consider these second round of Renesas ARM based SoC cleanup for v4.4.
This pull request is based on the previous round of such requests, tagged as renesas-cleanup-for-v4.4, which you have already pulled.
The following changes since commit 04418c23a9411b85b8789eab5f4397bcbd62b7b4:
ARM: shmobile: Remove legacy clock support leftovers (2015-09-14 10:06:56 +0900)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas.git tags/renesas-cleanup2-for-v4.4
for you to fetch changes up to 1fd377b3fc1e071702e27b2f828e3abd8b31c74d:
ARM: shmobile: R-Mobile: add missing of_node_put (2015-10-12 09:15:29 +0900)
----------------------------------------------------------------
Second Round of Renesas ARM Based SoC Cleanup for v4.4
* Remove now unused legacy pm domain code
* Add missing of_node_put to pm-rmobile
* Corresct spelling of interrupt-names in renesas-memory-controller binding documentation
* Correct signdness of CPU id in shmobile apmu implementation
* Make some functions static as appropriate
----------------------------------------------------------------
Andrzej Hajda (1):
ARM: shmobile: apmu: correct type of CPU id
Geert Uytterhoeven (3):
ARM: shmobile: smp: Make shmobile_smp_apmu_cpu_shutdown() static
ARM: shmobile: r8a7778: Make r8a7778_init_irq_dt() static
ARM: shmobile: r8a7779: Remove legacy PM Domain remainings
Julia Lawall (1):
ARM: shmobile: R-Mobile: add missing of_node_put
Lee Jones (1):
ARM: shmobile: dt: Rename incorrect interrupt related binding
.../renesas-memory-controllers.txt | 6 +- arch/arm/mach-shmobile/platsmp-apmu.c | 4 +- arch/arm/mach-shmobile/pm-r8a7779.c | 99 ---------------------- arch/arm/mach-shmobile/pm-rmobile.c | 4 +- arch/arm/mach-shmobile/r8a7779.h | 6 -- arch/arm/mach-shmobile/setup-r8a7778.c | 3 +- 6 files changed, 10 insertions(+), 112 deletions(-)
PATCH 1/6 ARM: shmobile: smp: Make shmobile_smp_apmu_cpu_shutdown() static
From: Geert Uytterhoeven <[email protected]>
shmobile_smp_apmu_cpu_shutdown() is used inside platsmp-apmu.c only.
--- arch/arm/mach-shmobile/platsmp-apmu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
arch/arm/mach-shmobile/platsmp-apmu.c +1 -1
@@ -170,7 +170,7 @@ static inline void cpu_enter_lowpower_a15(void)dsb (); } -void shmobile_smp_apmu_cpu_shutdown (unsigned int cpu) +static void shmobile_smp_apmu_cpu_shutdown (unsigned int cpu) {/* Select next sleep mode using the APMU */
Signature · 1 line
2.1.4
PATCH 2/6 ARM: shmobile: r8a7778: Make r8a7778_init_irq_dt() static
In reply to Simon HormanFrom: Geert Uytterhoeven <[email protected]>
As of commit 4baadb9e05c68962 ("ARM: shmobile: r8a7778: remove obsolete setup code"), r8a7778_init_irq_dt() is no longer used outside setup-r8a7778.c.
--- arch/arm/mach-shmobile/setup-r8a7778.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
arch/arm/mach-shmobile/setup-r8a7778.c +2 -1
@@ -42,7 +42,8 @@ static void __init r8a7778_timer_init(void)#define INT2NTSR0 0x00018/* 0xfe700018 */ #define INT2NTSR1 0x0002c/* 0xfe70002c */ -void __init r8a7778_init_irq_dt (void ) + +static void __init r8a7778_init_irq_dt (void ) {void __iomem *base =ioremap_nocache (0xfe700000 ,0x00100000 );
Signature · 1 line
2.1.4
PATCH 3/6 ARM: shmobile: r8a7779: Remove legacy PM Domain remainings
In reply to Simon HormanFrom: Geert Uytterhoeven <[email protected]>
As of commit c99cd90d98a98aa1 ("ARM: shmobile: r8a7779: Remove legacy SoC code"), r8a7779_init_pm_domains() is no longer called.
Remove all related legacy PM Domain code.
--- arch/arm/mach-shmobile/pm-r8a7779.c | 99 ------------------------------------- arch/arm/mach-shmobile/r8a7779.h | 6 --- 2 files changed, 105 deletions(-)
arch/arm/mach-shmobile/pm-r8a7779.c +0 -99
@@ -9,20 +9,8 @@* for more details. */ -#include <linux/pm.h> -#include <linux/suspend.h> -#include <linux/err.h> -#include <linux/pm_clock.h> -#include <linux/pm_domain.h> -#include <linux/platform_device.h> -#include <linux/delay.h> -#include <linux/irq.h> -#include <linux/interrupt.h> -#include <linux/console.h> -#include <asm/io.h> -#include "common.h" #include "pm-rcar.h" #include "r8a7779.h"
@@ -30,17 +18,6 @@#define SYSCIER 0x0c#define SYSCIMR 0x10 -struct r8a7779_pm_domain { -struct generic_pm_domain genpd; -struct rcar_sysc_ch ch; -}; - -static inline -const struct rcar_sysc_ch *to_r8a7779_ch (struct generic_pm_domain *d) -{ - return &container_of(d, struct r8a7779_pm_domain, genpd)->ch; -} -#if defined(CONFIG_PM ) || defined(CONFIG_SMP )static void __init r8a7779_sysc_init (void )
@@ -58,82 +35,6 @@ static inline void r8a7779_sysc_init(void) {}#endif /* CONFIG_PM || CONFIG_SMP */ -#ifdef CONFIG_PM - -static int pd_power_down (struct generic_pm_domain *genpd) -{ -return rcar_sysc_power_down (to_r8a7779_ch (genpd)); -} - -static int pd_power_up (struct generic_pm_domain *genpd) -{ -return rcar_sysc_power_up (to_r8a7779_ch (genpd)); -} - -static bool pd_is_off (struct generic_pm_domain *genpd) -{ -return rcar_sysc_power_is_off (to_r8a7779_ch (genpd)); -} - -static bool pd_active_wakeup (struct device *dev) -{ -return true; -} - -static void r8a7779_init_pm_domain (struct r8a7779_pm_domain *r8a7779_pd) -{ -struct generic_pm_domain *genpd = &r8a7779_pd->genpd; - -pm_genpd_init (genpd,NULL , false); - genpd->dev_ops.active_wakeup = pd_active_wakeup; - genpd->power_off = pd_power_down; - genpd->power_on = pd_power_up; - -if (pd_is_off (&r8a7779_pd->genpd)) -pd_power_up (&r8a7779_pd->genpd); -} - -static struct r8a7779_pm_domain r8a7779_pm_domains[] = { - { - .genpd.name ="SH4A" , - .ch = { - .chan_offs =0x80 ,/* PWRSR1 .. PWRER1 */ - .isr_bit =16 ,/* SH4A */ - }, - }, - { - .genpd.name ="SGX" , - .ch = { - .chan_offs =0xc0 ,/* PWRSR2 .. PWRER2 */ - .isr_bit =20 ,/* SGX */ - }, - }, - { - .genpd.name ="VDP1" , - .ch = { - .chan_offs =0x100 ,/* PWRSR3 .. PWRER3 */ - .isr_bit =21 ,/* VDP */ - }, - }, - { - .genpd.name ="IMPX3" , - .ch = { - .chan_offs =0x140 ,/* PWRSR4 .. PWRER4 */ - .isr_bit =24 ,/* IMP */ - }, - }, -}; - -void __init r8a7779_init_pm_domains (void ) -{ -int j; - -for (j =0 ; j <ARRAY_SIZE (r8a7779_pm_domains); j++) -r8a7779_init_pm_domain (&r8a7779_pm_domains[j]); -} - -#endif /* CONFIG_PM */ -void __init r8a7779_pm_init (void ) {static int once;
arch/arm/mach-shmobile/r8a7779.h +0 -6
@@ -3,12 +3,6 @@extern void r8a7779_pm_init (void ); -#ifdef CONFIG_PM -extern void __init r8a7779_init_pm_domains (void ); -#else -static inline void r8a7779_init_pm_domains (void ) {} -#endif /* CONFIG_PM */ -extern struct smp_operations r8a7779_smp_ops;#endif /* __ASM_R8A7779_H__ */
Signature · 1 line
2.1.4
PATCH 4/6 ARM: shmobile: apmu: correct type of CPU id
In reply to Simon HormanFrom: Andrzej Hajda <[email protected]>
CPU id can be negative, so it cannot be assigned to unsigned variable.
The problem has been detected using proposed semantic patch scripts/coccinelle/tests/unsigned_lesser_than_zero.cocci [1].
[1]: http://permalink.gmane.org/gmane.linux.kernel/2038576
--- arch/arm/mach-shmobile/platsmp-apmu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
arch/arm/mach-shmobile/platsmp-apmu.c +1 -1
@@ -88,7 +88,7 @@ static void apmu_init_cpu(struct resource *res, int cpu, int bit)static void apmu_parse_cfg (void (*fn)(struct resource *res,int cpu,int bit),struct rcar_apmu_config *apmu_config,int num) { -u32 id; +int id;int k;int bit, index;bool is_allowed;
Signature · 1 line
2.1.4
PATCH 5/6 ARM: shmobile: dt: Rename incorrect interrupt related binding
In reply to Simon HormanFrom: Lee Jones <[email protected]>
interrupts-names => interrupt-names
Other line changes are re-aligning.
--- .../bindings/memory-controllers/renesas-memory-controllers.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
Documentation/devicetree/bindings/memory-controllers/renesas-memory-controllers.txt +3 -3
@@ -24,9 +24,9 @@ Required properties: Optional properties: - interrupts: Must contain a list of interrupt specifiers for memory controller interrupts, if available. - - interrupts-names: Must contain a list of interrupt names corresponding to - the interrupts in the interrupts property, if available. - Valid interrupt names are: + - interrupt-names: Must contain a list of interrupt names corresponding to + the interrupts in the interrupts property, if available. + Valid interrupt names are: - "sec" (secure interrupt) - "temp" (normal (temperature) interrupt) - power-domains: Must contain a reference to the PM domain that the memory
Signature · 1 line
2.1.4
PATCH 5/6 ARM: shmobile: dt: Rename incorrect interrupt related binding
Quoted 11 lines · Simon Horman
From: Lee Jones <[email protected]>
interrupts-names => interrupt-names
Other line changes are re-aligning.
Signed-off-by Lee Jones <[email protected]>Signed-off-by Simon Horman <[email protected]>--- .../bindings/memory-controllers/renesas-memory-controllers.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
Thanks for resending this Simon.
Quoted 17 lines
Documentation/devicetree/bindings/memory-controllers/renesas-memory-controllers.txt +3
-3@@ -24,9 +24,9 @@ Required properties: Optional properties: - interrupts: Must contain a list of interrupt specifiers for memory controller interrupts, if available. - - interrupts-names: Must contain a list of interrupt names corresponding to - the interrupts in the interrupts property, if available. - Valid interrupt names are: + - interrupt-names: Must contain a list of interrupt names corresponding to + the interrupts in the interrupts property, if available. + Valid interrupt names are: - "sec" (secure interrupt) - "temp" (normal (temperature) interrupt) - power-domains: Must contain a reference to the PM domain that the memory
Signature · 4 lines
Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org ? Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog
PATCH 6/6 ARM: shmobile: R-Mobile: add missing of_node_put
In reply to Simon HormanFrom: Julia Lawall <[email protected]>
for_each_child_of_node performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put.
The semantic patch that fixes this problem is as follows
(http://coccinelle.lip6.fr):
// <smpl>
@@
expression root,e;
local idexpression child;
@@
for_each_child_of_node(root, child) {
... when != of_node_put(child)
when != e = child
(
return child;
|
+ of_node_put(child);
? return ...;
)
...
}
// </smpl>
--- arch/arm/mach-shmobile/pm-rmobile.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
arch/arm/mach-shmobile/pm-rmobile.c +3 -1
@@ -342,8 +342,10 @@ static int __init rmobile_add_pm_domains(void __iomem *base, } pd =kzalloc (sizeof (*pd),GFP_KERNEL ); -if (!pd) +if (!pd) { +of_node_put (np);return -ENOMEM ; + } pd->genpd.name = np->name; pd->base = base;
Signature · 1 line
2.1.4
Olof Johansson
AppliedQuoted 13 lines · Simon Horman
Hi Olof, Hi Kevin, Hi Arnd,
Please consider these second round of Renesas ARM based SoC cleanup for v4.4.
This pull request is based on the previous round of such requests, tagged as renesas-cleanup-for-v4.4, which you have already pulled.
The following changes since commit
04418c23a9411b85b8789eab5f4397bcbd62b7b4:ARM: shmobile: Remove legacy clock support leftovers (2015-09-14 10:06:56 +0900)
Quoted 7 lines
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas.gittags/renesas-cleanup2-for-v4.4for you to fetch changes up to
1fd377b3fc1e071702e27b2f828e3abd8b31c74d:ARM: shmobile: R-Mobile: add missing
of_node_put(2015-10-12 09:15:29 +0900)
Merged, thanks!
-Olof