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

Reply via email to