On Thu, Jun 02, 2016 at 03:14:24PM -0700, Stephen Boyd wrote: > On 05/12, Andy Gross wrote: > > This patch converts the Qualcomm SCM firmware driver into a platform > > driver. > > And introduces clk enable/disable + rate setting logic because > the firmware uses crypto clks during some scm calls. I'll make the commit message more descriptive of the change. > > > > + > > +static struct platform_driver qcom_scm_driver = { > > + .driver = { > > + .name = "qcom_scm", > > + .of_match_table = qcom_scm_dt_match, > > + }, > > + .probe = qcom_scm_probe, > > +}; > > + > > +static int __init qcom_scm_init(void) > > +{ > > + struct device_node *np, *parent; > > + int ret; > > + > > + np = of_find_matching_node_and_match(NULL, qcom_scm_dt_match, NULL); > > Why can't we find a node called "firmware" in the root of the > tree? That would be clearer what's going on here, and avoid the > need to do the of_get_next_parent() dance, which just feels > awkward. Well I had reworked it previously to avoid calling of_platform_populate on anyone with a firmware node. I guess what I can do is find the firmware node and then only populate if I get a match starting from the firmware node itself. That satisfies both comments. > > + > > + if (!np) > > + return -ENODEV; > > + > > + parent = of_get_next_parent(np); > > + ret = of_platform_populate(parent, qcom_scm_dt_match, NULL, NULL); > > + > > + of_node_put(parent); > > + > > + if (ret) > > + return ret; > > + > > + return platform_driver_register(&qcom_scm_driver); > > +} > > -- > Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, > a Linux Foundation Collaborative Project > -- > To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html