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

From: Andy Shevchenko
Date: Thu Jan 19 2017 - 12:03:53 EST


On Thu, 2017-01-19 at 17:54 +0100, Thomas Gleixner wrote:
> 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.

I copied watchdog approach, would you like me to move watchdog there as
well?

>
> arch_initcall is much more suitable.

So, I think I need to send v4, but I would wait for answer for the
above.

Thanks for review!

--
Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Intel Finland Oy