Message ID | 20170408210327.2713-1-hdegoede@redhat.com |
---|---|
State | Accepted |
Headers | show |
Hi, On 08/04/2017 at 23:03:27 +0200, Hans de Goede wrote: > The classic PC rtc-coms driver has a workaround for broken ACPI device > nodes for it which lack an irq resource. This workaround used to > unconditionally hardcode the irq to 8 in these cases. > > This was causing irq conflict problems on systems without a legacy-pic > so a recent patch added an if (nr_legacy_irqs()) guard to the > workaround to avoid this irq conflict. > > nr_legacy_irqs() uses the legacy_pic symbol under the hood causing > an undefined symbol error if the rtc-cmos code is build as a module. > This is kind of a pressing issue as this makes linux-next fail to build for certain configurations. I can carry it in my tree with your ack or let you apply it for 4.12. What would you prefer? > This commit exports the legacy_pic symbol to fix this. > > Cc: rtc-linux@googlegroups.com > Cc: alexandre.belloni@free-electrons.com > Signed-off-by: Hans de Goede <hdegoede@redhat.com> > --- > Changes in v2: > -Use EXPORT_SYMBOL_GPL instead of EXPORT_SYMBOL > --- > arch/x86/kernel/i8259.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/arch/x86/kernel/i8259.c b/arch/x86/kernel/i8259.c > index be22f5a..0bcf43d 100644 > --- a/arch/x86/kernel/i8259.c > +++ b/arch/x86/kernel/i8259.c > @@ -418,6 +418,7 @@ struct legacy_pic default_legacy_pic = { > }; > > struct legacy_pic *legacy_pic = &default_legacy_pic; > +EXPORT_SYMBOL_GPL(legacy_pic); > > static int __init i8259A_init_ops(void) > { > -- > 2.9.3 >
* Alexandre Belloni <alexandre.belloni@free-electrons.com> wrote: > Hi, > > On 08/04/2017 at 23:03:27 +0200, Hans de Goede wrote: > > The classic PC rtc-coms driver has a workaround for broken ACPI device > > nodes for it which lack an irq resource. This workaround used to > > unconditionally hardcode the irq to 8 in these cases. > > > > This was causing irq conflict problems on systems without a legacy-pic > > so a recent patch added an if (nr_legacy_irqs()) guard to the > > workaround to avoid this irq conflict. > > > > nr_legacy_irqs() uses the legacy_pic symbol under the hood causing > > an undefined symbol error if the rtc-cmos code is build as a module. > > > > This is kind of a pressing issue as this makes linux-next fail to build > for certain configurations. > > I can carry it in my tree with your ack or let you apply it for 4.12. > What would you prefer? Unless Thomas objects it looks good to me and feel free to carry it in your tree: Acked-by: Ingo Molnar <mingo@kernel.org> Thanks, Ingo
On Fri, 14 Apr 2017, Ingo Molnar wrote: > > * Alexandre Belloni <alexandre.belloni@free-electrons.com> wrote: > > > Hi, > > > > On 08/04/2017 at 23:03:27 +0200, Hans de Goede wrote: > > > The classic PC rtc-coms driver has a workaround for broken ACPI device > > > nodes for it which lack an irq resource. This workaround used to > > > unconditionally hardcode the irq to 8 in these cases. > > > > > > This was causing irq conflict problems on systems without a legacy-pic > > > so a recent patch added an if (nr_legacy_irqs()) guard to the > > > workaround to avoid this irq conflict. > > > > > > nr_legacy_irqs() uses the legacy_pic symbol under the hood causing > > > an undefined symbol error if the rtc-cmos code is build as a module. > > > > > > > This is kind of a pressing issue as this makes linux-next fail to build > > for certain configurations. > > > > I can carry it in my tree with your ack or let you apply it for 4.12. > > What would you prefer? > > Unless Thomas objects it looks good to me and feel free to carry it in your tree: > > Acked-by: Ingo Molnar <mingo@kernel.org> Acked-by: Thomas Gleixner <tglx@linutronix.de>
On 08/04/2017 at 23:03:27 +0200, Hans de Goede wrote: > The classic PC rtc-coms driver has a workaround for broken ACPI device > nodes for it which lack an irq resource. This workaround used to > unconditionally hardcode the irq to 8 in these cases. > > This was causing irq conflict problems on systems without a legacy-pic > so a recent patch added an if (nr_legacy_irqs()) guard to the > workaround to avoid this irq conflict. > > nr_legacy_irqs() uses the legacy_pic symbol under the hood causing > an undefined symbol error if the rtc-cmos code is build as a module. > > This commit exports the legacy_pic symbol to fix this. > > Cc: rtc-linux@googlegroups.com > Cc: alexandre.belloni@free-electrons.com > Signed-off-by: Hans de Goede <hdegoede@redhat.com> > --- > Changes in v2: > -Use EXPORT_SYMBOL_GPL instead of EXPORT_SYMBOL > --- > arch/x86/kernel/i8259.c | 1 + > 1 file changed, 1 insertion(+) > Applied, thanks.
diff --git a/arch/x86/kernel/i8259.c b/arch/x86/kernel/i8259.c index be22f5a..0bcf43d 100644 --- a/arch/x86/kernel/i8259.c +++ b/arch/x86/kernel/i8259.c @@ -418,6 +418,7 @@ struct legacy_pic default_legacy_pic = { }; struct legacy_pic *legacy_pic = &default_legacy_pic; +EXPORT_SYMBOL_GPL(legacy_pic); static int __init i8259A_init_ops(void) {
The classic PC rtc-coms driver has a workaround for broken ACPI device nodes for it which lack an irq resource. This workaround used to unconditionally hardcode the irq to 8 in these cases. This was causing irq conflict problems on systems without a legacy-pic so a recent patch added an if (nr_legacy_irqs()) guard to the workaround to avoid this irq conflict. nr_legacy_irqs() uses the legacy_pic symbol under the hood causing an undefined symbol error if the rtc-cmos code is build as a module. This commit exports the legacy_pic symbol to fix this. Cc: rtc-linux@googlegroups.com Cc: alexandre.belloni@free-electrons.com Signed-off-by: Hans de Goede <hdegoede@redhat.com> --- Changes in v2: -Use EXPORT_SYMBOL_GPL instead of EXPORT_SYMBOL --- arch/x86/kernel/i8259.c | 1 + 1 file changed, 1 insertion(+)