On 24/11/15 22:31, J. German Rivera wrote: > Created an MSI domain for the fsl-mc bus-- including functions > to create a domain, find a domain, alloc/free domain irqs, and > bus specific overrides for domain and irq_chip ops. > > Signed-off-by: J. German Rivera <German.Rivera@xxxxxxxxxxxxx> > --- > CHANGE HISTORY > > Changes in v3: > - Addressed comments from Marc Zyngier: > * Added WARN_ON in fsl_mc_msi_set_desc to check that caller does > not set set_desc > * Changed type of paddr in irq_cfg to be phys_addr_t > * Added WARN_ON in fsl_mc_msi_update_chip_op() to check that caller > does not set irq_write_msi_msg > > Changes in v2: none > > drivers/staging/fsl-mc/bus/Kconfig | 1 + > drivers/staging/fsl-mc/bus/Makefile | 1 + > drivers/staging/fsl-mc/bus/mc-msi.c | 285 ++++++++++++++++++++++++++++ > drivers/staging/fsl-mc/include/dprc.h | 2 +- > drivers/staging/fsl-mc/include/mc-private.h | 17 ++ > drivers/staging/fsl-mc/include/mc.h | 17 ++ > 6 files changed, 322 insertions(+), 1 deletion(-) > create mode 100644 drivers/staging/fsl-mc/bus/mc-msi.c > [...] > diff --git a/drivers/staging/fsl-mc/bus/mc-msi.c b/drivers/staging/fsl-mc/bus/mc-msi.c > new file mode 100644 > index 0000000..d6ac465 > --- /dev/null > +++ b/drivers/staging/fsl-mc/bus/mc-msi.c [...] > +int fsl_mc_find_msi_domain(struct device_node *mc_of_node, > + struct irq_domain **mc_msi_domain) > +{ > + struct device_node *msi_parent_node; > + struct irq_domain *msi_domain; > + > + msi_parent_node = of_parse_phandle(mc_of_node, "msi-parent", 0); > + if (!msi_parent_node) { > + pr_err("msi-parent phandle missing for %s\n", > + mc_of_node->full_name); > + return -ENOENT; > + } > + > + /* > + * Look up the fsl-mc MSI domain: > + */ > + msi_domain = irq_find_matching_host(msi_parent_node, > + DOMAIN_BUS_FSL_MC_MSI); > + if (!msi_domain) { > + pr_err("Unable to find fsl-mc MSI domain for %s\n", > + mc_of_node->full_name); > + > + return -ENOENT; > + } > + > + *mc_msi_domain = msi_domain; > + return 0; > +} We now have of_msi_get_domain() which does deal with this (and more). It is probably worth investigating switching to it. Thanks, M. -- Jazz is not dead. It just smells funny... _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel