[PATCH V6 08/13] PCI: generic, thunder: update to use generic ECAM API
From: Tomasz Nowicki <hidden>
Date: 2016-04-18 19:32:02
Also in:
linux-acpi, linux-pci, lkml
On 18.04.2016 16:44, Arnd Bergmann wrote:
On Monday 18 April 2016 15:03:51 Tomasz Nowicki wrote:quoted
On 16.04.2016 16:36, Jayachandran C wrote:quoted
On Sat, Apr 16, 2016 at 1:01 PM, Arnd Bergmann [off-list ref] wrote:quoted
On Saturday 16 April 2016 12:50:13 Jayachandran C wrote:The whole pci-thunder-*.c is to support thunder PCI quirks since the generic OF is handled by pci-host-common.c and generic ECAM is now separated - duplicating the whole file for ACPI will be bad.Yes, it would be too much code duplication. Also, we already know drivers which need quirks. We really need to agree on best approach here. Here are requirements which came up (please correct me if misunderstood sth): Arnd: 1. Initial DT driver should be standalone [Arnd] 2. No exported symbols [Arnd] 3. Duplicate necessary code to ACPI framework.Correct.quoted
JC: 1. Adding linker section is wrong. 2. Quirks should be exported (pci_thunder_ecam_ops), then no need for adding linker section 3. To much duplication to copy code into the ACPI framework. My opinion: 1. I like linker section because it is easy to maintain and no need to export symbols. 2. We need more sophisticated algorithm for matching quirks (DMI is not enough and not only for ThunderX drivers). Of course I am open to any new suggestions.Agreed.quoted
3. To much duplication to copy code into the ACPI framework. Thanks in advance for any pointers.Can you be more specific about what code actually would need to be duplicated? Anything besides the config space operations?
Basically the whole content of pci-thunder-ecam.c and pci-thunder-pem.c. pci-thunder-ecam.c contains config space accessors. Similar for pci-thunder-pem.c but it also has extra init call (it is now called thunder_pem_init) which finds and maps related registers. Thanks, Tomasz