Lines Matching refs:vreg
43 static int rpm_reg_write_active(struct qcom_rpm_reg *vreg)
49 if (vreg->enabled_updated) {
52 req[reqlen].value = cpu_to_le32(vreg->is_enabled);
56 if (vreg->uv_updated && vreg->is_enabled) {
59 req[reqlen].value = cpu_to_le32(vreg->uV);
63 if (vreg->load_updated && vreg->is_enabled) {
66 req[reqlen].value = cpu_to_le32(vreg->load / 1000);
73 ret = qcom_rpm_smd_write(vreg->rpm, QCOM_SMD_RPM_ACTIVE_STATE,
74 vreg->type, vreg->id,
77 vreg->enabled_updated = 0;
78 vreg->uv_updated = 0;
79 vreg->load_updated = 0;
87 struct qcom_rpm_reg *vreg = rdev_get_drvdata(rdev);
90 vreg->is_enabled = 1;
91 vreg->enabled_updated = 1;
93 ret = rpm_reg_write_active(vreg);
95 vreg->is_enabled = 0;
102 struct qcom_rpm_reg *vreg = rdev_get_drvdata(rdev);
104 return vreg->is_enabled;
109 struct qcom_rpm_reg *vreg = rdev_get_drvdata(rdev);
112 vreg->is_enabled = 0;
113 vreg->enabled_updated = 1;
115 ret = rpm_reg_write_active(vreg);
117 vreg->is_enabled = 1;
124 struct qcom_rpm_reg *vreg = rdev_get_drvdata(rdev);
126 return vreg->uV;
134 struct qcom_rpm_reg *vreg = rdev_get_drvdata(rdev);
136 int old_uV = vreg->uV;
138 vreg->uV = min_uV;
139 vreg->uv_updated = 1;
141 ret = rpm_reg_write_active(vreg);
143 vreg->uV = old_uV;
150 struct qcom_rpm_reg *vreg = rdev_get_drvdata(rdev);
151 u32 old_load = vreg->load;
154 vreg->load = load_uA;
155 vreg->load_updated = 1;
156 ret = rpm_reg_write_active(vreg);
158 vreg->load = old_load;
1348 * @vreg: Pointer to the individual qcom_smd-regulator resource
1358 static int rpm_regulator_init_vreg(struct qcom_rpm_reg *vreg, struct device *dev,
1376 vreg->dev = dev;
1377 vreg->rpm = rpm;
1378 vreg->type = rpm_data->type;
1379 vreg->id = rpm_data->id;
1381 memcpy(&vreg->desc, rpm_data->desc, sizeof(vreg->desc));
1382 vreg->desc.name = rpm_data->name;
1383 vreg->desc.supply_name = rpm_data->supply;
1384 vreg->desc.owner = THIS_MODULE;
1385 vreg->desc.type = REGULATOR_VOLTAGE;
1386 vreg->desc.of_match = rpm_data->name;
1390 config.driver_data = vreg;
1392 rdev = devm_regulator_register(dev, &vreg->desc, &config);
1407 struct qcom_rpm_reg *vreg;
1422 vreg = devm_kzalloc(&pdev->dev, sizeof(*vreg), GFP_KERNEL);
1423 if (!vreg) {
1428 ret = rpm_regulator_init_vreg(vreg, dev, node, rpm, vreg_data);