On 17.02.2016 15:21, Jayachandran Chandrashekaran Nair wrote:
On Wed, Feb 17, 2016 at 7:37 PM, Tomasz Nowicki tn@semihalf.com wrote:
On 17.02.2016 14:44, Jayachandran Chandrashekaran Nair wrote:
Tomasz, Lorenzo,
On Tue, Feb 16, 2016 at 7:23 PM, Tomasz Nowickitn@semihalf.com wrote:
As we now have valid PCI host bridge device reference we can introduce code that is going to find its bus domain number using ACPI _SEG method.
Note that _SEG method is optional, therefore _SEG absence means that all PCI buses belong to domain 0.
While at it, for the sake of code clarity we put ACPI and DT domain assign methods into the corresponding helpers.
In my patchset, I had a slightly different and I think better approach for this without calling the _SEG method again. Please see http://www.spinics.net/lists/arm-kernel/msg478167.html at the last part ofhttp://www.spinics.net/lists/arm-kernel/msg478169.html
Relying on NULL parent device to make decision on boot method is really ugly way. This may hit us again once we want to obtain another firmware specific info e.g. numa node. IMO we need to fix it this way.
I am not relying on NULL there, in the current code parent is NULL in case of ACPI, and the check is needed not to crash (unless that has changed).
This series passes down valid parent, see [PATCH V5 06/15].
The main part was the macro acpi_pci_get_segment() and the use of acpi_pci_root_info from sysdata to do this.
Since we can obtain related firmware specific data from valid parent device (without defining another accessors), I do not see the point to use sysdata. Let me know your opinion.
Tomasz