Re: [PATCH v7 4/7] PCI: Add fwnode_handle to pci_sysdata
From: Marc Zyngier
Date: Wed Dec 09 2015 - 12:07:09 EST
On 09/12/15 16:54, Jake Oshins wrote:
>> -----Original Message-----
>> From: Marc Zyngier [mailto:marc.zyngier@xxxxxxx]
>> Sent: Wednesday, December 9, 2015 8:51 AM
>> To: Jake Oshins <jakeo@xxxxxxxxxxxxx>; gregkh@xxxxxxxxxxxxxxxxxxx; KY
>> Srinivasan <kys@xxxxxxxxxxxxx>; linux-kernel@xxxxxxxxxxxxxxx;
>> devel@xxxxxxxxxxxxxxxxxxxxxx; olaf@xxxxxxxxx; apw@xxxxxxxxxxxxx;
>> vkuznets@xxxxxxxxxx; tglx@xxxxxxxxxxxxx; Haiyang Zhang
>> <haiyangz@xxxxxxxxxxxxx>; bhelgaas@xxxxxxxxxx; linux-
>> pci@xxxxxxxxxxxxxxx
>> Subject: Re: [PATCH v7 4/7] PCI: Add fwnode_handle to pci_sysdata
>>
>> On 05/12/15 00:36, jakeo@xxxxxxxxxxxxx wrote:
>>> From: Jake Oshins <jakeo@xxxxxxxxxxxxx>
>>>
>>> This patch adds an fwnode_handle to struct pci_sysdata, which is
>>> used by the next patch in the series when trying to locate an
>>> IRQ domain associated with a root PCI bus.
>>>
>>> Signed-off-by: Jake Oshins <jakeo@xxxxxxxxxxxxx>
>>> ---
>>> arch/x86/include/asm/pci.h | 15 +++++++++++++++
>>> include/asm-generic/pci.h | 4 ++++
>>> 2 files changed, 19 insertions(+)
>>>
>>
>> [...]
>>
>>> diff --git a/include/asm-generic/pci.h b/include/asm-generic/pci.h
>>> index f24bc51..4092886 100644
>>> --- a/include/asm-generic/pci.h
>>> +++ b/include/asm-generic/pci.h
>>> @@ -21,4 +21,8 @@ static inline int pci_get_legacy_ide_irq(struct pci_dev
>> *dev, int channel)
>>> #define PCI_DMA_BUS_IS_PHYS (1)
>>> #endif
>>>
>>> +#ifndef pci_root_bus_fwnode
>>> +#define pci_root_bus_fwnode(bus) ((void)(bus), NULL)
>>> +#endif
>>> +
>>> #endif /* _ASM_GENERIC_PCI_H */
>>>
>>
>> This breaks at least arm64 (as you can see from the reply to patch #5,
>> because it does have its own asm/pci.h. Instead, how about moving this
>> to linux/pci.h, just after the include of asm/pci.h? I just gave it a
>> go, and it seems to work nicely (the first hunk fixes the rest of the
>> arm64 compile issue):
>
> Thank you. I was just working through how to do that. I lost a
> couple of days trying to figure out how to cross-compile for arm64 to
> check that any fix that I made actually worked. (In the process,
> I've completely messed up my development machine. Any pointers to
> the right strategy would be appreciated.)
My own strategy is pretty simple. It involves:
- downloading a binary toolchain ([1] for example)
- untar this somewhere, putting the
gcc-linaro-5.2-2015.11-x86_64_aarch64-linux-gnu/bin directory in your PATH
- and then the usual "make ARCH=arm64 defconfig && make ARCH=arm64
CROSS_COMPILE=aarch64-linux-gnu- all"
That's of course assuming you're using a Linux x86-64 box for
cross-compiling. I also cross-compile from 32bit ARM, but I doubt you'd
be interested... ;-)
Cheers,
M.
[1]
https://releases.linaro.org/components/toolchain/binaries/5.2-2015.11/aarch64-linux-gnu/gcc-linaro-5.2-2015.11-x86_64_aarch64-linux-gnu.tar.xz
--
Jazz is not dead. It just smells funny...
--
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/