From: linux@arm.linux.org.uk (Russell King - ARM Linux)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH] EDAC: Cleanup atomic_scrub mess
Date: Thu, 28 May 2015 13:34:49 +0100 [thread overview]
Message-ID: <20150528123448.GA2067@n2100.arm.linux.org.uk> (raw)
In-Reply-To: <20150521181157.GF3689@pd.tnic>
On Thu, May 21, 2015 at 08:11:57PM +0200, Borislav Petkov wrote:
> From: Borislav Petkov <bp@suse.de>
>
> So first of all, this atomic_scrub() function's naming is bad. It looks
> like an atomic_t helper. Change it to edac_atomic_scrub().
>
> The bigger problem is that this function is arch-specific and every new
> arch which doesn't necessarily need that functionality still needs to
> define it, otherwise EDAC doesn't compile.
>
> So instead of doing that and including arch-specific headers, have each
> arch define an EDAC_ATOMIC_SCRUB symbol which can be used in edac_mc.c
> for ifdeffery. Much cleaner.
>
> We already are doing this with another symbol - EDAC_SUPPORT. This is
> also much cleaner than having CONFIG_EDAC explicitly depend on all the
> arches which need/have EDAC support and drivers.
>
> This way I can kill the useless edac.h header in tile too.
>
> Signed-off-by: Borislav Petkov <bp@suse.de>
> Cc: Russell King <linux@arm.linux.org.uk>
Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index 45df48ba0b12..325d6f3a596a 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -15,6 +15,8 @@ config ARM
> select CLONE_BACKWARDS
> select CPU_PM if (SUSPEND || CPU_IDLE)
> select DCACHE_WORD_ACCESS if HAVE_EFFICIENT_UNALIGNED_ACCESS
> + select EDAC_SUPPORT
> + select EDAC_ATOMIC_SCRUB
I wonder if it would make sense to conditionalise EDAC_SUPPORT on...
if CPU_32v6 || CPU_32v7
since presumably its not useful for older architectures (certainly
edac_atomic_scrub() is a no-op for earlier arches.)
> select GENERIC_ALLOCATOR
> select GENERIC_ATOMIC64 if (CPU_V7M || CPU_V6 || !CPU_32v6K || !AEABI)
> select GENERIC_CLOCKEVENTS_BROADCAST if SMP
> diff --git a/arch/arm/include/asm/edac.h b/arch/arm/include/asm/edac.h
> index 0df7a2c1fc3d..5189fa819b60 100644
> --- a/arch/arm/include/asm/edac.h
> +++ b/arch/arm/include/asm/edac.h
> @@ -18,11 +18,12 @@
> #define ASM_EDAC_H
> /*
> * ECC atomic, DMA, SMP and interrupt safe scrub function.
> - * Implements the per arch atomic_scrub() that EDAC use for software
> + * Implements the per arch edac_atomic_scrub() that EDAC use for software
> * ECC scrubbing. It reads memory and then writes back the original
> * value, allowing the hardware to detect and correct memory errors.
> */
> -static inline void atomic_scrub(void *va, u32 size)
> +
> +static inline void edac_atomic_scrub(void *va, u32 size)
> {
> #if __LINUX_ARM_ARCH__ >= 6
> unsigned int *virt_addr = va;
--
FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up
according to speedtest.net.
next prev parent reply other threads:[~2015-05-28 12:34 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-18 23:24 [PATCH v10 0/4] edac: Add APM X-Gene SoC EDAC driver Loc Ho
2015-05-18 23:24 ` [PATCH v10 1/5] arm64: Enable EDAC on ARM64 Loc Ho
2015-05-18 23:24 ` [PATCH v10 2/5] MAINTAINERS: Add entry for APM X-Gene SoC EDAC driver Loc Ho
2015-05-18 23:24 ` [PATCH v10 3/5] Documentation: Add documentation for the APM X-Gene SoC EDAC DTS binding Loc Ho
2015-05-18 23:24 ` [PATCH v10 4/5] edac: Add APM X-Gene SoC EDAC driver Loc Ho
2015-05-18 23:24 ` [PATCH v10 5/5] arm64: Add APM X-Gene SoC EDAC DTS entries Loc Ho
2015-05-22 8:23 ` [PATCH v10 4/5] edac: Add APM X-Gene SoC EDAC driver Arnd Bergmann
2015-05-22 8:46 ` Borislav Petkov
2015-05-22 8:55 ` Arnd Bergmann
2015-05-22 18:28 ` Loc Ho
2015-05-22 18:25 ` Loc Ho
2015-05-22 8:59 ` Arnd Bergmann
2015-05-22 8:02 ` [PATCH v10 3/5] Documentation: Add documentation for the APM X-Gene SoC EDAC DTS binding Arnd Bergmann
2015-05-19 17:03 ` [PATCH v10 1/5] arm64: Enable EDAC on ARM64 Borislav Petkov
2015-05-19 19:57 ` Loc Ho
2015-05-19 20:33 ` Borislav Petkov
2015-05-21 18:07 ` Borislav Petkov
2015-05-21 18:11 ` [RFC PATCH] EDAC: Cleanup atomic_scrub mess Borislav Petkov
2015-05-22 20:13 ` Chris Metcalf
2015-05-27 15:52 ` Borislav Petkov
2015-05-28 2:27 ` Michael Ellerman
2015-05-28 12:34 ` Russell King - ARM Linux [this message]
2015-05-28 13:37 ` Borislav Petkov
2015-05-22 8:24 ` [PATCH v10 0/4] edac: Add APM X-Gene SoC EDAC driver Arnd Bergmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150528123448.GA2067@n2100.arm.linux.org.uk \
--to=linux@arm.linux.org.uk \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).