Thread (65 messages) 65 messages, 6 authors, 2014-11-21

Re: [RFC PATCH 09/16] PCI: Associate .get_msi_ctrl() with pci_host_bridge

From: Lorenzo Pieralisi <hidden>
Date: 2014-11-17 15:03:48
Also in: linux-arm-kernel, linux-pci, lkml

On Mon, Nov 17, 2014 at 10:21:43AM +0000, Yijing Wang wrote:
quoted hunk ↗ jump to hunk
From: Yijing Wang <redacted>
=20
Signed-off-by: Yijing Wang <redacted>
---
 drivers/pci/host-bridge.c |    1 +
 include/linux/pci.h       |    2 ++
 2 files changed, 3 insertions(+), 0 deletions(-)
=20
diff --git a/drivers/pci/host-bridge.c b/drivers/pci/host-bridge.c
index 49b6c21..872cae1 100644
--- a/drivers/pci/host-bridge.c
+++ b/drivers/pci/host-bridge.c
@@ -58,6 +58,7 @@ struct pci_host_bridge *pci_create_host_bridge(
 =09host->dev.parent =3D parent;
 =09INIT_LIST_HEAD(&host->windows);
 =09host->dev.release =3D pci_release_host_bridge_dev;
+=09host->get_msi_ctrl =3D info->get_msi_ctrl;
=20
 =09/* this is hack, just for build, will be removed later*/
 =09b =3D kzalloc(sizeof(*b), GFP_KERNEL);
diff --git a/include/linux/pci.h b/include/linux/pci.h
index a51f5f5..af1ee86 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -408,6 +408,7 @@ struct pci_host_bridge {
 =09int domain;
 =09void *sysdata;
 =09struct pci_ops *ops;
+=09struct msi_controller *(*get_msi_ctrl)(struct pci_dev *pdev);
 =09void (*release_fn)(struct pci_host_bridge *);
 =09void *release_data;
 };
@@ -416,6 +417,7 @@ struct pci_host_info {
 =09u8 res_type;
 =09void *arg;
 =09struct list_head *resources; /*just for build, will clean up later */
+=09struct msi_controller *(*get_msi_ctrl)(struct pci_dev *pdev);
 =09int (*init_res)(struct pci_host_bridge *host,=20
 =09=09=09struct pci_host_info *info);
 };
Where would you use the get_msi_ctrl pointer then ? Wasn't it better
to wait for this patchset to take shape before adding more churn to
the ARM (and other archs) pci_sys_data structure and consequently add
another pcibios call to achieve what the get_msi_ctrl pointer is there to
achieve (ie making msi_controller retrieval arch independent ?)

I just do not see what the pci_sys_data intermediate step buys you if
we consider the approach taken in this patch as the proper solution.

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