diff mbox series

x86/pci: don't set acpi stuff if !CONFIG_ACPI

Message ID 20200820125320.9967-1-kilobyte@angband.pl (mailing list archive)
State Changes Requested, archived
Headers show
Series x86/pci: don't set acpi stuff if !CONFIG_ACPI | expand

Commit Message

Adam Borowski Aug. 20, 2020, 12:53 p.m. UTC
Not that x86 without ACPI sees any real use...

Signed-off-by: Adam Borowski <kilobyte@angband.pl>
---
Found by randconfig builds.

 arch/x86/pci/intel_mid_pci.c | 2 ++
 arch/x86/pci/xen.c           | 2 ++
 2 files changed, 4 insertions(+)

Comments

Randy Dunlap Aug. 20, 2020, 2:24 p.m. UTC | #1
On 8/20/20 5:53 AM, Adam Borowski wrote:
> Not that x86 without ACPI sees any real use...
> 
> Signed-off-by: Adam Borowski <kilobyte@angband.pl>
> ---
> Found by randconfig builds.

Note that
#include <asm/acpi.h>
has a stub for acpi_noirq_set() when ACPI is not set/enabled.
That would be better.  And I have submitted that for
arch/x86/pci/xen.c -- and a different patch for intel_mid_pci.c

But I didn't submit them to the X86 maintainers because the
MAINTAINERS file pointed me to the PCI maintainer and to the
XEN PCI maintainer....


> 
>  arch/x86/pci/intel_mid_pci.c | 2 ++
>  arch/x86/pci/xen.c           | 2 ++
>  2 files changed, 4 insertions(+)
> 
> diff --git a/arch/x86/pci/intel_mid_pci.c b/arch/x86/pci/intel_mid_pci.c
> index 00c62115f39c..f14a911f0d06 100644
> --- a/arch/x86/pci/intel_mid_pci.c
> +++ b/arch/x86/pci/intel_mid_pci.c
> @@ -299,8 +299,10 @@ int __init intel_mid_pci_init(void)
>  	pcibios_disable_irq = intel_mid_pci_irq_disable;
>  	pci_root_ops = intel_mid_pci_ops;
>  	pci_soc_mode = 1;
> +#ifdef CONFIG_ACPI
>  	/* Continue with standard init */
>  	acpi_noirq_set();
> +#endif
>  	return 1;
>  }
>  
> diff --git a/arch/x86/pci/xen.c b/arch/x86/pci/xen.c
> index 9f9aad42ccff..681eb5c34c03 100644
> --- a/arch/x86/pci/xen.c
> +++ b/arch/x86/pci/xen.c
> @@ -406,8 +406,10 @@ int __init pci_xen_init(void)
>  	pcibios_enable_irq = xen_pcifront_enable_irq;
>  	pcibios_disable_irq = NULL;
>  
> +#ifdef CONFIG_ACPI
>  	/* Keep ACPI out of the picture */
>  	acpi_noirq_set();
> +#endif
>  
>  #ifdef CONFIG_PCI_MSI
>  	x86_msi.setup_msi_irqs = xen_setup_msi_irqs;
>
Thomas Gleixner Aug. 21, 2020, 8:13 p.m. UTC | #2
On Thu, Aug 20 2020 at 14:53, Adam Borowski wrote:
> Not that x86 without ACPI sees any real use...
>
> Signed-off-by: Adam Borowski <kilobyte@angband.pl>
> ---
> Found by randconfig builds.
>
>  arch/x86/pci/intel_mid_pci.c | 2 ++
>  arch/x86/pci/xen.c           | 2 ++
>  2 files changed, 4 insertions(+)
>
> diff --git a/arch/x86/pci/intel_mid_pci.c b/arch/x86/pci/intel_mid_pci.c
> index 00c62115f39c..f14a911f0d06 100644
> --- a/arch/x86/pci/intel_mid_pci.c
> +++ b/arch/x86/pci/intel_mid_pci.c
> @@ -299,8 +299,10 @@ int __init intel_mid_pci_init(void)
>  	pcibios_disable_irq = intel_mid_pci_irq_disable;
>  	pci_root_ops = intel_mid_pci_ops;
>  	pci_soc_mode = 1;
> +#ifdef CONFIG_ACPI
>  	/* Continue with standard init */
>  	acpi_noirq_set();
> +#endif

If CONFIG_ACPI=n then acpi_noirq_set() is an empty stub inline. So I'm
not sure what you are trying to solve here.

Ah, I see with CONFIG_ACPI=n linux/acpi.h does not include asm/acpi.h so
the stubs are unreachable. So that needs to be fixed and not papered
over with #ifdeffery

Thanks,

        tglx
Adam Borowski Aug. 21, 2020, 8:32 p.m. UTC | #3
On Fri, Aug 21, 2020 at 10:13:25PM +0200, Thomas Gleixner wrote:
> On Thu, Aug 20 2020 at 14:53, Adam Borowski wrote:
> > Found by randconfig builds.
> >
> >  arch/x86/pci/intel_mid_pci.c | 2 ++
> >  arch/x86/pci/xen.c           | 2 ++

> > --- a/arch/x86/pci/intel_mid_pci.c
> > +++ b/arch/x86/pci/intel_mid_pci.c
> > @@ -299,8 +299,10 @@ int __init intel_mid_pci_init(void)
> > +#ifdef CONFIG_ACPI
> >  	/* Continue with standard init */
> >  	acpi_noirq_set();
> > +#endif

> If CONFIG_ACPI=n then acpi_noirq_set() is an empty stub inline. So I'm
> not sure what you are trying to solve here.
> 
> Ah, I see with CONFIG_ACPI=n linux/acpi.h does not include asm/acpi.h so
> the stubs are unreachable. So that needs to be fixed and not papered
> over with #ifdeffery

If I understand Randy Dunlap correctly, he already sent a pair of patches
that do what you want.


Meow.
Randy Dunlap Aug. 21, 2020, 9:19 p.m. UTC | #4
On 8/21/20 1:32 PM, Adam Borowski wrote:
> On Fri, Aug 21, 2020 at 10:13:25PM +0200, Thomas Gleixner wrote:
>> On Thu, Aug 20 2020 at 14:53, Adam Borowski wrote:
>>> Found by randconfig builds.
>>>
>>>  arch/x86/pci/intel_mid_pci.c | 2 ++
>>>  arch/x86/pci/xen.c           | 2 ++
> 
>>> --- a/arch/x86/pci/intel_mid_pci.c
>>> +++ b/arch/x86/pci/intel_mid_pci.c
>>> @@ -299,8 +299,10 @@ int __init intel_mid_pci_init(void)
>>> +#ifdef CONFIG_ACPI
>>>  	/* Continue with standard init */
>>>  	acpi_noirq_set();
>>> +#endif
> 
>> If CONFIG_ACPI=n then acpi_noirq_set() is an empty stub inline. So I'm
>> not sure what you are trying to solve here.
>>
>> Ah, I see with CONFIG_ACPI=n linux/acpi.h does not include asm/acpi.h so
>> the stubs are unreachable. So that needs to be fixed and not papered
>> over with #ifdeffery
> 
> If I understand Randy Dunlap correctly, he already sent a pair of patches
> that do what you want.

I did, but I sent them to the Xen and PCI maintainers,
not the x86 maintainers, but I will happily resend this patch.
The Xen patch has already been applied whereas the patch
to intel_mid_pci.c is in limbo. :(

Thomas, do you want me to send it to you/X86 people?
(with 2 Reviewed-by: additions)

thanks.
Thomas Gleixner Aug. 21, 2020, 11:52 p.m. UTC | #5
On Fri, Aug 21 2020 at 14:19, Randy Dunlap wrote:
> On 8/21/20 1:32 PM, Adam Borowski wrote:
>> If I understand Randy Dunlap correctly, he already sent a pair of patches
>> that do what you want.

I replied before reading Randy's reply. Old habit of reading stuff from
top and not getting biased by other peoples replies before doing so. Is
most of the time the correct approach, but sometimes it would be better
to do it the other way round :)

> I did, but I sent them to the Xen and PCI maintainers,
> not the x86 maintainers, but I will happily resend this patch.
> The Xen patch has already been applied whereas the patch
> to intel_mid_pci.c is in limbo. :(
>
> Thomas, do you want me to send it to you/X86 people?
> (with 2 Reviewed-by: additions)

Sure, but usually Bjorn handles the x86/pci/ stuff.

As I trust you, here is a blind

  Acked-by: Thomas Gleixner <tglx@linutronix.de>

just in case.

Thanks,

        tglx
diff mbox series

Patch

diff --git a/arch/x86/pci/intel_mid_pci.c b/arch/x86/pci/intel_mid_pci.c
index 00c62115f39c..f14a911f0d06 100644
--- a/arch/x86/pci/intel_mid_pci.c
+++ b/arch/x86/pci/intel_mid_pci.c
@@ -299,8 +299,10 @@  int __init intel_mid_pci_init(void)
 	pcibios_disable_irq = intel_mid_pci_irq_disable;
 	pci_root_ops = intel_mid_pci_ops;
 	pci_soc_mode = 1;
+#ifdef CONFIG_ACPI
 	/* Continue with standard init */
 	acpi_noirq_set();
+#endif
 	return 1;
 }
 
diff --git a/arch/x86/pci/xen.c b/arch/x86/pci/xen.c
index 9f9aad42ccff..681eb5c34c03 100644
--- a/arch/x86/pci/xen.c
+++ b/arch/x86/pci/xen.c
@@ -406,8 +406,10 @@  int __init pci_xen_init(void)
 	pcibios_enable_irq = xen_pcifront_enable_irq;
 	pcibios_disable_irq = NULL;
 
+#ifdef CONFIG_ACPI
 	/* Keep ACPI out of the picture */
 	acpi_noirq_set();
+#endif
 
 #ifdef CONFIG_PCI_MSI
 	x86_msi.setup_msi_irqs = xen_setup_msi_irqs;