[PATCH] ARM: shmobile: Stop using __raw_*() I/O accessors
Niklas Söderlund
niklas.soderlund at ragnatech.se
Wed Nov 18 06:58:25 EST 2020
Hi Geert,
Thanks for your work.
On 2020-11-17 15:24:47 +0100, Geert Uytterhoeven wrote:
> There is no reason to keep on using the __raw_{read,write}l() I/O
> accessors in Renesas ARM platform code. Switch to using the plain
> {read,write}l() I/O accessors, to have a chance that this works on
> big-endian.
>
> Suggested-by: Arnd Bergmann <arnd at kernel.org>
> Signed-off-by: Geert Uytterhoeven <geert+renesas at glider.be>
Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas at ragnatech.se>
> ---
> To be queued in renesas-devel for v5.11.
>
> arch/arm/mach-shmobile/platsmp-scu.c | 2 +-
> arch/arm/mach-shmobile/setup-r8a7778.c | 8 ++++----
> arch/arm/mach-shmobile/setup-r8a7779.c | 14 +++++++-------
> arch/arm/mach-shmobile/smp-r8a7779.c | 2 +-
> arch/arm/mach-shmobile/smp-sh73a0.c | 10 +++++-----
> 5 files changed, 18 insertions(+), 18 deletions(-)
>
> diff --git a/arch/arm/mach-shmobile/platsmp-scu.c b/arch/arm/mach-shmobile/platsmp-scu.c
> index fcfcef1d1ae4f81f..3849f71e6e12eba6 100644
> --- a/arch/arm/mach-shmobile/platsmp-scu.c
> +++ b/arch/arm/mach-shmobile/platsmp-scu.c
> @@ -64,7 +64,7 @@ static int shmobile_smp_scu_psr_core_disabled(int cpu)
> {
> unsigned long mask = SCU_PM_POWEROFF << (cpu * 8);
>
> - if ((__raw_readl(shmobile_scu_base + 8) & mask) == mask)
> + if ((readl(shmobile_scu_base + 8) & mask) == mask)
> return 1;
>
> return 0;
> diff --git a/arch/arm/mach-shmobile/setup-r8a7778.c b/arch/arm/mach-shmobile/setup-r8a7778.c
> index 819dbda47298ae88..02cda9cada4c4546 100644
> --- a/arch/arm/mach-shmobile/setup-r8a7778.c
> +++ b/arch/arm/mach-shmobile/setup-r8a7778.c
> @@ -31,12 +31,12 @@ static void __init r8a7778_init_irq_dt(void)
> irqchip_init();
>
> /* route all interrupts to ARM */
> - __raw_writel(0x73ffffff, base + INT2NTSR0);
> - __raw_writel(0xffffffff, base + INT2NTSR1);
> + writel(0x73ffffff, base + INT2NTSR0);
> + writel(0xffffffff, base + INT2NTSR1);
>
> /* unmask all known interrupts in INTCS2 */
> - __raw_writel(0x08330773, base + INT2SMSKCR0);
> - __raw_writel(0x00311110, base + INT2SMSKCR1);
> + writel(0x08330773, base + INT2SMSKCR0);
> + writel(0x00311110, base + INT2SMSKCR1);
>
> iounmap(base);
> }
> diff --git a/arch/arm/mach-shmobile/setup-r8a7779.c b/arch/arm/mach-shmobile/setup-r8a7779.c
> index 446d40b50b7b784b..b6e282116d664705 100644
> --- a/arch/arm/mach-shmobile/setup-r8a7779.c
> +++ b/arch/arm/mach-shmobile/setup-r8a7779.c
> @@ -34,15 +34,15 @@ static void __init r8a7779_init_irq_dt(void)
> irqchip_init();
>
> /* route all interrupts to ARM */
> - __raw_writel(0xffffffff, base + INT2NTSR0);
> - __raw_writel(0x3fffffff, base + INT2NTSR1);
> + writel(0xffffffff, base + INT2NTSR0);
> + writel(0x3fffffff, base + INT2NTSR1);
>
> /* unmask all known interrupts in INTCS2 */
> - __raw_writel(0xfffffff0, base + INT2SMSKCR0);
> - __raw_writel(0xfff7ffff, base + INT2SMSKCR1);
> - __raw_writel(0xfffbffdf, base + INT2SMSKCR2);
> - __raw_writel(0xbffffffc, base + INT2SMSKCR3);
> - __raw_writel(0x003fee3f, base + INT2SMSKCR4);
> + writel(0xfffffff0, base + INT2SMSKCR0);
> + writel(0xfff7ffff, base + INT2SMSKCR1);
> + writel(0xfffbffdf, base + INT2SMSKCR2);
> + writel(0xbffffffc, base + INT2SMSKCR3);
> + writel(0x003fee3f, base + INT2SMSKCR4);
>
> iounmap(base);
> }
> diff --git a/arch/arm/mach-shmobile/smp-r8a7779.c b/arch/arm/mach-shmobile/smp-r8a7779.c
> index 80fef14a47ba6b7e..51163854d9a14d17 100644
> --- a/arch/arm/mach-shmobile/smp-r8a7779.c
> +++ b/arch/arm/mach-shmobile/smp-r8a7779.c
> @@ -45,7 +45,7 @@ static void __init r8a7779_smp_prepare_cpus(unsigned int max_cpus)
> void __iomem *base = ioremap(HPBREG_BASE, 0x1000);
>
> /* Map the reset vector (in headsmp-scu.S, headsmp.S) */
> - __raw_writel(__pa(shmobile_boot_vector), base + AVECR);
> + writel(__pa(shmobile_boot_vector), base + AVECR);
>
> /* setup r8a7779 specific SCU bits */
> shmobile_smp_scu_prepare_cpus(R8A7779_SCU_BASE, max_cpus);
> diff --git a/arch/arm/mach-shmobile/smp-sh73a0.c b/arch/arm/mach-shmobile/smp-sh73a0.c
> index 916f6367bc282eb4..62f4d2501e174a78 100644
> --- a/arch/arm/mach-shmobile/smp-sh73a0.c
> +++ b/arch/arm/mach-shmobile/smp-sh73a0.c
> @@ -39,10 +39,10 @@ static int sh73a0_boot_secondary(unsigned int cpu, struct task_struct *idle)
> unsigned int lcpu = cpu_logical_map(cpu);
> void __iomem *cpg2 = ioremap(CPG_BASE2, PAGE_SIZE);
>
> - if (((__raw_readl(cpg2 + PSTR) >> (4 * lcpu)) & 3) == 3)
> - __raw_writel(1 << lcpu, cpg2 + WUPCR); /* wake up */
> + if (((readl(cpg2 + PSTR) >> (4 * lcpu)) & 3) == 3)
> + writel(1 << lcpu, cpg2 + WUPCR); /* wake up */
> else
> - __raw_writel(1 << lcpu, cpg2 + SRESCR); /* reset */
> + writel(1 << lcpu, cpg2 + SRESCR); /* reset */
> iounmap(cpg2);
> return 0;
> }
> @@ -53,8 +53,8 @@ static void __init sh73a0_smp_prepare_cpus(unsigned int max_cpus)
> void __iomem *sysc = ioremap(SYSC_BASE, PAGE_SIZE);
>
> /* Map the reset vector (in headsmp.S) */
> - __raw_writel(0, ap + APARMBAREA); /* 4k */
> - __raw_writel(__pa(shmobile_boot_vector), sysc + SBAR);
> + writel(0, ap + APARMBAREA); /* 4k */
> + writel(__pa(shmobile_boot_vector), sysc + SBAR);
> iounmap(sysc);
> iounmap(ap);
>
> --
> 2.25.1
>
--
Regards,
Niklas Söderlund
More information about the linux-arm-kernel
mailing list