Re: [PATCH v3 2/3] x86/platform/intel-mid: Allocate RTC interrupt for Merrifield

From: Thomas Gleixner
Date: Thu Jan 19 2017 - 11:54:28 EST


On Wed, 18 Jan 2017, Andy Shevchenko wrote:
> +#include <linux/init.h>
> +
> +#include <asm/hw_irq.h>
> +#include <asm/intel-mid.h>
> +#include <asm/io_apic.h>
> +#include <asm/time.h>
> +#include <asm/x86_init.h>
> +
> +static int __init mrfld_legacy_rtc_alloc_irq(void)
> +{
> + struct irq_alloc_info info;
> + int ret;
> +
> + if (!x86_platform.legacy.rtc)
> + return -ENODEV;
> +
> + ioapic_set_alloc_attr(&info, NUMA_NO_NODE, 1, 0);
> + ret = mp_map_gsi_to_irq(RTC_IRQ, IOAPIC_MAP_ALLOC, &info);
> + if (ret < 0) {
> + pr_info("Failed to allocate RTC interrupt. Disabling RTC\n");
> + x86_platform.legacy.rtc = 0;
> + return ret;
> + }
> +
> + return 0;
> +}
> +
> +static int __init mrfld_legacy_rtc_init(void)
> +{
> + if (intel_mid_identify_cpu() != INTEL_MID_CPU_CHIP_TANGIER)
> + return -ENODEV;
> +
> + return mrfld_legacy_rtc_alloc_irq();
> +}
> +rootfs_initcall(mrfld_legacy_rtc_init);

rootfs_initcall???? That does not make any sense at all. I know you need it
before the device initcalls, but just using a random initcall level before
device_initcall is wrong.

arch_initcall is much more suitable.

Thanks,

tglx