zoukankan      html  css  js  c++  java
  • qcom 系列的i2c设备的power 在dtsi里定义的时候需要注意的

    最近在driver里发现一个有点值得注意的地方:


    在dtsi里定义了power

    vdd-supply = <&pm8937_l10>;
    vcc_i2c-supply = <&pm8937_l5>;


    但是在i2c device的driver里看到的却是

    pdata->vcc = devm_regulator_get(dev, "vcc_i2c");

    也就是说这边的vcc_i2c和dtis里的vcc_i2c-supply的差距是多了个-supply

    这个supply在哪里加的呢,追踪 devm_regulator_get


    struct regulator *devm_regulator_get(struct device *dev, const char *id)
    {
    regulator = regulator_get(dev, id);//只要追踪id就好

    }

    static struct regulator *_regulator_get(struct device *dev, const char *id,
    int exclusive)
    {

    rdev = regulator_dev_lookup(dev, id, &ret);

    }

    static struct regulator_dev *regulator_dev_lookup(struct device *dev,
     const char *supply,
     int *ret)
    {

    node = of_get_regulator(dev, supply);

    }

    static struct device_node *of_get_regulator(struct device *dev, const char *supply)
    {
    struct device_node *regnode = NULL;
    char prop_name[32]; /* 32 is max size of property name */


    dev_dbg(dev, "Looking up %s-supply from device tree ", supply);


    snprintf(prop_name, 32, "%s-supply", supply);  //最终看到了这个加-supply的地方了
    regnode = of_parse_phandle(dev->of_node, prop_name, 0);


    if (!regnode) {
    dev_dbg(dev, "Looking up %s property in node %s failed",
    prop_name, dev->of_node->full_name);
    return NULL;
    }
    return regnode;
    }
  • 相关阅读:
    day11.初识函数
    day10.文件操作
    类,对象相关的部分系统函数
    网络资源
    mysql 设置默认时间为now()
    Meta http-equiv属性详解
    php 验证码
    php 图片上传 并返回上传文件位置 支持多文件上传
    图片懒加载
    mysqy 特别小点
  • 原文地址:https://www.cnblogs.com/liulaolaiu/p/11744453.html
Copyright © 2011-2022 走看看