Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9aa2b26b authored by Olof Johansson's avatar Olof Johansson
Browse files

Merge tag 'renesas-cleanup2-for-v4.4' of...

Merge tag 'renesas-cleanup2-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/cleanup

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

* tag 'renesas-cleanup2-for-v4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas

:
  ARM: shmobile: R-Mobile: add missing of_node_put
  ARM: shmobile: dt: Rename incorrect interrupt related binding
  ARM: shmobile: apmu: correct type of CPU id
  ARM: shmobile: r8a7779: Remove legacy PM Domain remainings
  ARM: shmobile: r8a7778: Make r8a7778_init_irq_dt() static
  ARM: shmobile: smp: Make shmobile_smp_apmu_cpu_shutdown() static

Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents 5f1e3c91 1fd377b3
Loading
Loading
Loading
Loading
+3 −3
Original line number Original line Diff line number Diff line
@@ -24,7 +24,7 @@ Required properties:
Optional properties:
Optional properties:
  - interrupts: Must contain a list of interrupt specifiers for memory
  - interrupts: Must contain a list of interrupt specifiers for memory
		controller interrupts, if available.
		controller interrupts, if available.
  - interrupts-names: Must contain a list of interrupt names corresponding to
  - interrupt-names: Must contain a list of interrupt names corresponding to
		     the interrupts in the interrupts property, if available.
		     the interrupts in the interrupts property, if available.
		     Valid interrupt names are:
		     Valid interrupt names are:
			- "sec" (secure interrupt)
			- "sec" (secure interrupt)
+2 −2
Original line number Original line Diff line number Diff line
@@ -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),
static void apmu_parse_cfg(void (*fn)(struct resource *res, int cpu, int bit),
			   struct rcar_apmu_config *apmu_config, int num)
			   struct rcar_apmu_config *apmu_config, int num)
{
{
	u32 id;
	int id;
	int k;
	int k;
	int bit, index;
	int bit, index;
	bool is_allowed;
	bool is_allowed;
@@ -170,7 +170,7 @@ static inline void cpu_enter_lowpower_a15(void)
	dsb();
	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 */
	/* Select next sleep mode using the APMU */
+0 −99
Original line number Original line Diff line number Diff line
@@ -9,20 +9,8 @@
 * for more details.
 * 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 <asm/io.h>


#include "common.h"
#include "pm-rcar.h"
#include "pm-rcar.h"
#include "r8a7779.h"
#include "r8a7779.h"


@@ -30,17 +18,6 @@
#define SYSCIER 0x0c
#define SYSCIER 0x0c
#define SYSCIMR 0x10
#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)
#if defined(CONFIG_PM) || defined(CONFIG_SMP)


static void __init r8a7779_sysc_init(void)
static void __init r8a7779_sysc_init(void)
@@ -58,82 +35,6 @@ static inline void r8a7779_sysc_init(void) {}


#endif /* CONFIG_PM || CONFIG_SMP */
#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)
void __init r8a7779_pm_init(void)
{
{
	static int once;
	static int once;
+3 −1
Original line number Original line Diff line number Diff line
@@ -342,8 +342,10 @@ static int __init rmobile_add_pm_domains(void __iomem *base,
		}
		}


		pd = kzalloc(sizeof(*pd), GFP_KERNEL);
		pd = kzalloc(sizeof(*pd), GFP_KERNEL);
		if (!pd)
		if (!pd) {
			of_node_put(np);
			return -ENOMEM;
			return -ENOMEM;
		}


		pd->genpd.name = np->name;
		pd->genpd.name = np->name;
		pd->base = base;
		pd->base = base;
+0 −6
Original line number Original line Diff line number Diff line
@@ -3,12 +3,6 @@


extern void r8a7779_pm_init(void);
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;
extern struct smp_operations r8a7779_smp_ops;


#endif /* __ASM_R8A7779_H__ */
#endif /* __ASM_R8A7779_H__ */
Loading