Kernel/of/base.c
Static intzll=0;
struct device_node *of_find_node_by_path(const char *path)
{
struct device_node *np = of_allnodes;
unsigned long flags;
if(zll ==0)
{
zll = 1;
for (; np; np =np->allnext)
pr_err("of_allnodes=%s:zll----------\n",np->full_name);
}
raw_spin_lock_irqsave(&devtree_lock, flags);
for (; np; np = np->allnext) {
if (np->full_name && (of_node_cmp(np->full_name, path)== 0) &&of_node_get(np))
break;
}
raw_spin_unlock_irqrestore(&devtree_lock, flags);
return np;
}
Line199: [ 0.000000]@5of_allnodes=/soc/qcom,sensor-information/qcom,sensor-information-11:zll----------
Line200: [ 0.000000]@5of_allnodes=/soc/qcom,sensor-information/qcom,sensor-information-12:zll----------
Line201: [ 0.000000]@5of_allnodes=/soc/qcom,sensor-information/qcom,sensor-information-13:zll----------
Line202: [ 0.000000]@5of_allnodes=/soc/qcom,sensor-information/qcom,sensor-information-14:zll----------
Line203: [ 0.000000]@5of_allnodes=/soc/qcom,sensor-information/qcom,sensor-information-15:zll----------
Line204: [ 0.000000]@5of_allnodes=/soc/qcom,sensor-information/qcom,sensor-information-16:zll----------
Line205: [ 0.000000]@5of_allnodes=/soc/qcom,sensor-information/qcom,sensor-information-17:zll----------
Line206: [ 0.000000]@5of_allnodes=/soc/qcom,sensor-information/qcom,sensor-information-18:zll----------
Line207: [ 0.000000]@5of_allnodes=/soc/qcom,limit_info-0: zll----------
Line208: [ 0.000000]@5of_allnodes=/soc/qcom,limit_info-1: zll----------
Line209: [ 0.000000]@5of_allnodes=/soc/qcom,limit_info-2: zll----------
Line210: [ 0.000000]@5of_allnodes=/soc/qcom,limit_info-3: zll----------
Line211: [ 0.000000]@5of_allnodes=/soc/qcom,limit_info-4: zll----------
Line212: [ 0.000000]@5of_allnodes=/soc/qcom,msm-thermal: zll----------
Line213: [ 0.000000]@5of_allnodes=/soc/qcom,msm-thermal/qcom,vdd-dig-rstr: zll----------
Line214: [ 0.000000]@5of_allnodes=/soc/qcom,msm-thermal/qcom,vdd-gfx-rstr: zll----------
Line215: [ 0.000000]@5of_allnodes=/soc/qcom,msm-thermal/qcom,vdd-apps-rstr: zll----------
Line216: [ 0.000000]@5of_allnodes=/soc/qcom,bcl: zll----------
Line217: [ 0.000000]@5of_allnodes=/soc/qcom,bcl/qcom,ibat-monitor: zll----------
Line218: [ 0.000000]@5of_allnodes=/soc/qcom,memshare: zll----------
Line219: [ 0.000000]@5of_allnodes=/soc/qcom,memshare/qcom,client_1: zll----------
Line220: [ 0.000000]@5of_allnodes=/soc/qcom,memshare/qcom,client_2: zll----------
Line221: [ 0.000000]@5of_allnodes=/soc/qcom,memshare/qcom,client_3: zll----------
Line222: [ 0.000000]@5of_allnodes=/soc/qcom,lmh@b1db000: zll----------
Line223: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd: zll----------
Line224: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd/rpm-regulator-smpa1: zll----------
Line225: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd/rpm-regulator-smpa1/regulator-s1: zll----------
Line226: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd/rpm-regulator-smpa2: zll----------
Line227: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd/rpm-regulator-smpa2/regulator-s2: zll----------
Line228: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd/rpm-regulator-smpa2/regulator-s2-level:zll----------
Line229: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd/rpm-regulator-smpa2/regulator-s2-floor-level:zll----------
Line230: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd/rpm-regulator-smpa2/regulator-s2-level-ao:zll----------
Line231: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd/rpm-regulator-smpa3: zll----------
Line232: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd/rpm-regulator-smpa3/regulator-s3: zll----------
Line233: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd/rpm-regulator-smpa4: zll----------
Line234: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd/rpm-regulator-smpa4/regulator-s4: zll----------
Line235: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd/rpm-regulator-smpa6: zll----------
Line236: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd/rpm-regulator-smpa6/regulator-s6: zll----------
Line237: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd/rpm-regulator-smpa6/regulator-s6-level:zll----------
Line238: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd/rpm-regulator-smpa6/regulator-s6-level-ao:zll----------
Line239: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd/rpm-regulator-smpa6/regulator-s6-level-so:zll----------
Line240: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd/rpm-regulator-smpa6/regulator-s6-floor-level:zll----------
Line241: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd/rpm-regulator-ldoa1: zll----------
Line242: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd/rpm-regulator-ldoa1/regulator-l1: zll----------
Line243: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd/rpm-regulator-ldoa2: zll----------
Line244: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd/rpm-regulator-ldoa2/regulator-l2: zll----------
Line245: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd/rpm-regulator-ldoa3: zll----------
Line246: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd/rpm-regulator-ldoa3/regulator-l3: zll----------
Line247: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd/rpm-regulator-ldoa5: zll----------
Line248: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd/rpm-regulator-ldoa5/regulator-l5: zll----------
Line249: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd/rpm-regulator-ldoa6: zll----------
Line250: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd/rpm-regulator-ldoa6/regulator-l6: zll----------
Line251: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd/rpm-regulator-ldoa7: zll----------
Line252: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd/rpm-regulator-ldoa7/regulator-l7: zll----------
Line253: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd/rpm-regulator-ldoa7/regulator-l7-ao:zll----------
Line254: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd/rpm-regulator-ldoa8: zll----------
Line255: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd/rpm-regulator-ldoa8/regulator-l8: zll----------
Line256: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd/rpm-regulator-ldoa9: zll----------
Line257: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd/rpm-regulator-ldoa9/regulator-l9: zll----------
Line258: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd/rpm-regulator-ldoa10: zll----------
Line259: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd/rpm-regulator-ldoa10/regulator-l10: zll----------
Line260: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd/rpm-regulator-ldoa11: zll----------
Line261: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd/rpm-regulator-ldoa11/regulator-l11: zll----------
Line262: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd/rpm-regulator-ldoa12: zll----------
Line263: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd/rpm-regulator-ldoa12/regulator-l12: zll----------
Line264: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd/rpm-regulator-ldoa13: zll----------
Line265: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd/rpm-regulator-ldoa13/regulator-l13: zll----------
Line266: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd/rpm-regulator-ldoa14: zll----------
Line267: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd/rpm-regulator-ldoa14/regulator-l14: zll----------
Line268: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd/rpm-regulator-ldoa15: zll----------
Line269: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd/rpm-regulator-ldoa15/regulator-l15: zll----------
Line270: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd/rpm-regulator-ldoa16: zll----------
Line271: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd/rpm-regulator-ldoa16/regulator-l16: zll----------
Line272: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd/rpm-regulator-ldoa17: zll----------
Line273: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd/rpm-regulator-ldoa17/regulator-l17: zll----------
Line274: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd/rpm-regulator-ldoa19: zll----------
Line275: [ 0.000000]@5of_allnodes=/soc/qcom,rpm-smd/rpm-regulator-ldoa19/regulator-l19: zll----------
Line276: [ 0.000000]@5of_allnodes=

该博客主要介绍了Linux内核如何通过`of_find_node_by_path`函数遍历设备节点,特别是在USB相关的路径下。在Kernel/of/base.c文件中,这个函数用于查找指定路径的设备节点,并在调试时打印节点信息。内容涉及到内核启动时对设备树的遍历,尤其是针对`/soc/qcom`下多个传感器和电源管理相关的节点。

1万+

被折叠的 条评论
为什么被折叠?



