Message ID | 1416219710-26088-10-git-send-email-wangyijing@huawei.com |
---|---|
State | New |
Headers | show |
On Mon, Nov 17, 2014 at 10:21:43AM +0000, Yijing Wang wrote: > From: Yijing Wang <wangyijing0307@gmail.com> > > Signed-off-by: Yijing Wang <wangyijing@huawei.com> > --- > drivers/pci/host-bridge.c | 1 + > include/linux/pci.h | 2 ++ > 2 files changed, 3 insertions(+), 0 deletions(-) > > 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( > host->dev.parent = parent; > INIT_LIST_HEAD(&host->windows); > host->dev.release = pci_release_host_bridge_dev; > + host->get_msi_ctrl = info->get_msi_ctrl; > > /* this is hack, just for build, will be removed later*/ > b = 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 { > int domain; > void *sysdata; > struct pci_ops *ops; > + struct msi_controller *(*get_msi_ctrl)(struct pci_dev *pdev); > void (*release_fn)(struct pci_host_bridge *); > void *release_data; > }; > @@ -416,6 +417,7 @@ struct pci_host_info { > u8 res_type; > void *arg; > struct list_head *resources; /*just for build, will clean up later */ > + struct msi_controller *(*get_msi_ctrl)(struct pci_dev *pdev); > int (*init_res)(struct pci_host_bridge *host, > struct 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 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
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( host->dev.parent = parent; INIT_LIST_HEAD(&host->windows); host->dev.release = pci_release_host_bridge_dev; + host->get_msi_ctrl = info->get_msi_ctrl; /* this is hack, just for build, will be removed later*/ b = 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 { int domain; void *sysdata; struct pci_ops *ops; + struct msi_controller *(*get_msi_ctrl)(struct pci_dev *pdev); void (*release_fn)(struct pci_host_bridge *); void *release_data; }; @@ -416,6 +417,7 @@ struct pci_host_info { u8 res_type; void *arg; struct list_head *resources; /*just for build, will clean up later */ + struct msi_controller *(*get_msi_ctrl)(struct pci_dev *pdev); int (*init_res)(struct pci_host_bridge *host, struct pci_host_info *info); };