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\n", 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;
}


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值