Thread (16 messages) 16 messages, 6 authors, 2016-04-14

[PATCH v2 3/4] PCI: generic, thunder: update to use generic ECAM API

From: Jayachandran C <hidden>
Date: 2016-04-14 14:16:26
Also in: linux-acpi, linux-pci, lkml

Hi David,

On Tue, Apr 12, 2016 at 6:04 AM, David Daney [off-list ref] wrote:
On 04/11/2016 03:45 PM, Jayachandran C wrote:
quoted
Use functions provided by drivers/pci/ecam.h for mapping the config
space in drivers/pci/host/pci-host-common.c, and update its users to
use 'struct pci_config_window' and 'struct pci_generic_ecam_ops'

The changes are mostly to use 'struct pci_config_window' in place of
'struct gen_pci'. Some of the fields of gen_pci were only used
temporarily and can be eliminated by using local variables or function
arguments, these are not carried over to struct pci_config_window.

pci-thunder-ecam.c and pci-thunder-pem.c are the only users of the
pci_host_common_probe function and the gen_pci structure, these have
been updated to use the new API as well.

The patch does not introduce any functional changes other than a very
minor one: with the new code, on 64-bit platforms, we do just a single
ioremap for the whole config space.

Signed-off-by: Jayachandran C <redacted>

Tested-by: David Daney <redacted>
Thanks.
However, ...
quoted
---
  drivers/pci/ecam.h                  |   5 ++
  drivers/pci/host/Kconfig            |   1 +
  drivers/pci/host/pci-host-common.c  | 121
++++++++++++++++--------------------
  drivers/pci/host/pci-host-common.h  |  47 --------------
  drivers/pci/host/pci-host-generic.c |  50 +++------------
  drivers/pci/host/pci-thunder-ecam.c |  37 +++--------
  drivers/pci/host/pci-thunder-pem.c  |  53 +++++-----------

... The patch conflicts with a bug-fix patch I just sent to
pci-thunder-pem.c, so there will be a race to see who gets in first.
I would expect this patchset to take more time than the bugfix.
I will update the patches when the fix is queued to -next.
Also, I don't know if it would make sense to split out the pci-thunder-*
changes to a separate patch.
In this case, I think splitting the pci-thunder-* will make it more
complex than just switching everything to ecam.h in one go.

If the patch needs to be split, I can move some of the simplification
that was done to gen_pci structure and pci-host-common to a separate
patch.

JC.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help