Re: [PATCH 13/15] x86/rtc: don't register rtc if we have an OFnode for it

From: Grant Likely
Date: Thu Dec 30 2010 - 03:59:48 EST


On Fri, Dec 17, 2010 at 04:33:51PM +0100, Sebastian Andrzej Siewior wrote:
> or we end up with two of those things.

More generically, rather than searching for an rtc node, I imagine
simply the presence of a device tree blob means that the rtc
registration should be suppressed.

g.

>
> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
> ---
> arch/x86/kernel/rtc.c | 23 +++++++++++++++++++++++
> 1 files changed, 23 insertions(+), 0 deletions(-)
>
> diff --git a/arch/x86/kernel/rtc.c b/arch/x86/kernel/rtc.c
> index 1cfbbfc..382c6cb 100644
> --- a/arch/x86/kernel/rtc.c
> +++ b/arch/x86/kernel/rtc.c
> @@ -6,6 +6,7 @@
> #include <linux/acpi.h>
> #include <linux/bcd.h>
> #include <linux/pnp.h>
> +#include <linux/of.h>
>
> #include <asm/vsyscall.h>
> #include <asm/x86_init.h>
> @@ -218,6 +219,25 @@ static struct platform_device rtc_device = {
> .num_resources = ARRAY_SIZE(rtc_resources),
> };
>
> +#ifdef CONFIG_OF
> +static __init int have_rtc_of_node(void)
> +{
> + struct device_node *n;
> +
> + n = of_find_compatible_node(NULL, NULL, "motorola,mc146818");
> + if (n) {
> + of_node_put(n);
> + return 1;
> + }
> + return 0;
> +}
> +#else
> +static inline int have_rtc_of_node(void)
> +{
> + return 0;
> +}
> +#endif
> +
> static __init int add_rtc_cmos(void)
> {
> #ifdef CONFIG_PNP
> @@ -237,6 +257,9 @@ static __init int add_rtc_cmos(void)
> }
> #endif
>
> + if (have_rtc_of_node())
> + return 0;
> +
> platform_device_register(&rtc_device);
> dev_info(&rtc_device.dev,
> "registered platform RTC device (no PNP device found)\n");
> --
> 1.7.3.2
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/