From: Bhaktipriya Shridhar Date: Sun, 28 Feb 2016 18:28:05 +0000 (+0530) Subject: staging: fsl-mc: bus: Eliminate double function call X-Git-Tag: v4.6-rc1~103^2~70 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=eb66b2d301033e33c29fedffc6a317003d1e632c;p=karo-tx-linux.git staging: fsl-mc: bus: Eliminate double function call A call to irq_find_matching_host was already made and the result has been stored in mc_msi_domain. mc_msi_domain is again reassigned using the same function call which is redundant. irq_find_matching_host returns/locates a domain for a given fwnode. The domain is identified using device node and bus_token(if several domains have same device node but different purposes they can be distinguished using bus-specific token). http://www.bricktou.com/include/linux/irqdomain_irq_find_matching_host_en.html Also, of_property_read_bool finds and reads a boolean from a property device node from which the property value is to be read. It doesn't alter the device node. http://lists.infradead.org/pipermail/linux-arm-kernel/2012-February/083698.html Since, both the function calls have the same device node and bus_token, the return values shall be the same. Hence, the second call has been removed. This was done using Coccinelle: @r@ idexpression *x; identifier f; position p1,p2; @@ x@p1 = f(...) ... when != x ( x@p2 = f(...) ) @script:python@ p1 << r.p1; p2 << r.p2; @@ if (p1[0].line == p2[0].line): cocci.include_match(False) @@ idexpression *x; identifier f; position r.p1,r.p2; @@ *x@p1 = f(...) ... *x@p2 = f(...) Signed-off-by: Bhaktipriya Shridhar Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/fsl-mc/bus/irq-gic-v3-its-fsl-mc-msi.c b/drivers/staging/fsl-mc/bus/irq-gic-v3-its-fsl-mc-msi.c index 4e8e822da51d..720e2b018d00 100644 --- a/drivers/staging/fsl-mc/bus/irq-gic-v3-its-fsl-mc-msi.c +++ b/drivers/staging/fsl-mc/bus/irq-gic-v3-its-fsl-mc-msi.c @@ -118,8 +118,6 @@ void its_fsl_mc_msi_cleanup(void) if (!of_property_read_bool(np, "msi-controller")) continue; - mc_msi_domain = irq_find_matching_host(np, - DOMAIN_BUS_FSL_MC_MSI); if (mc_msi_domain && mc_msi_domain->host_data == &its_fsl_mc_msi_domain_info) irq_domain_remove(mc_msi_domain);