Re: pciehp borkage.

From: Josh Boyer
Date: Tue Jun 27 2006 - 08:18:11 EST


On 6/26/06, Greg KH <gregkh@xxxxxxx> wrote:
On Mon, Jun 26, 2006 at 11:37:49PM -0400, Dave Jones wrote:
> My head hurts..
>
> drivers/pci/pcie/Kconfig ..
>
> config HOTPLUG_PCI_PCIE
> tristate "PCI Express Hotplug driver"
> depends on HOTPLUG_PCI && PCIEPORTBUS && (BROKEN || ACPI)
>
>
>
> but drivers/pci/hotplug/Makefile has..
>
> pciehp-objs := pciehp_core.o \
> pciehp_ctrl.o \
> pciehp_pci.o \
> pciehp_hpc.o
>
> So it gets built regardless of the option, which leaves ppc (among others)
> totally busted..

Yes, this driver does have issues on ppc, see the archives for Anton
trying to fix it up to get it to build. But as ppc currently doesn't
_have_ pci express hotplug hardware it really doesn't matter much :)

> In file included from include/acpi/platform/acenv.h:140,
> from include/acpi/acpi.h:54,
> from drivers/pci/hotplug/pciehp_hpc.c:41:
> include/acpi/platform/aclinux.h:59:22: error: asm/acpi.h: No such file or directory
> In file included from include/acpi/acpi.h:55,
> from drivers/pci/hotplug/pciehp_hpc.c:41:
> include/acpi/actypes.h:129: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'UINT64'
> include/acpi/actypes.h:130: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'INT64'
> make[3]: *** [drivers/pci/hotplug/pciehp_hpc.o] Error 1
> make[2]: *** [drivers/pci/hotplug] Error 2
> make[1]: *** [drivers/pci] Error 2
>
>
> Should that Makefile be more along the lines of..
>
> pciehp-$(CONFIG_PCI_PCIE) := pciehp_core.o \
> pciehp_ctrl.o \
> pciehp_pci.o \
> pciehp_hpc.o
>
> perhaps ?

No, look up a bit higher:
obj-$(CONFIG_HOTPLUG_PCI_PCIE) += pciehp.o

which will build pciehp or not. Just don't enable the option for now
on ppc please. Until people sanitize the ACPI headers for non-acpi
arches (which is currently underway...)

Would it be sane to make the Kconfig refuse to enable the option for
archs that this is known to be broken on?

josh
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/