Lines Matching refs:vreg
44 static int rpm_reg_write_active(struct qcom_rpm_reg *vreg)
50 if (vreg->enabled_updated) {
53 req[reqlen].value = cpu_to_le32(vreg->is_enabled);
57 if (vreg->uv_updated && vreg->is_enabled) {
60 req[reqlen].value = cpu_to_le32(vreg->uV);
64 if (vreg->load_updated && vreg->is_enabled) {
67 req[reqlen].value = cpu_to_le32(vreg->load / 1000);
74 ret = qcom_rpm_smd_write(vreg->rpm, QCOM_SMD_RPM_ACTIVE_STATE,
75 vreg->type, vreg->id,
78 vreg->enabled_updated = 0;
79 vreg->uv_updated = 0;
80 vreg->load_updated = 0;
88 struct qcom_rpm_reg *vreg = rdev_get_drvdata(rdev);
91 vreg->is_enabled = 1;
92 vreg->enabled_updated = 1;
94 ret = rpm_reg_write_active(vreg);
96 vreg->is_enabled = 0;
103 struct qcom_rpm_reg *vreg = rdev_get_drvdata(rdev);
105 return vreg->is_enabled;
110 struct qcom_rpm_reg *vreg = rdev_get_drvdata(rdev);
113 vreg->is_enabled = 0;
114 vreg->enabled_updated = 1;
116 ret = rpm_reg_write_active(vreg);
118 vreg->is_enabled = 1;
125 struct qcom_rpm_reg *vreg = rdev_get_drvdata(rdev);
127 return vreg->uV;
135 struct qcom_rpm_reg *vreg = rdev_get_drvdata(rdev);
137 int old_uV = vreg->uV;
139 vreg->uV = min_uV;
140 vreg->uv_updated = 1;
142 ret = rpm_reg_write_active(vreg);
144 vreg->uV = old_uV;
151 struct qcom_rpm_reg *vreg = rdev_get_drvdata(rdev);
152 u32 old_load = vreg->load;
155 vreg->load = load_uA;
156 vreg->load_updated = 1;
157 ret = rpm_reg_write_active(vreg);
159 vreg->load = old_load;
1112 * @vreg: Pointer to the individual qcom_smd-regulator resource
1122 static int rpm_regulator_init_vreg(struct qcom_rpm_reg *vreg, struct device *dev,
1140 vreg->dev = dev;
1141 vreg->rpm = rpm;
1142 vreg->type = rpm_data->type;
1143 vreg->id = rpm_data->id;
1145 memcpy(&vreg->desc, rpm_data->desc, sizeof(vreg->desc));
1146 vreg->desc.name = rpm_data->name;
1147 vreg->desc.supply_name = rpm_data->supply;
1148 vreg->desc.owner = THIS_MODULE;
1149 vreg->desc.type = REGULATOR_VOLTAGE;
1150 vreg->desc.of_match = rpm_data->name;
1154 config.driver_data = vreg;
1156 rdev = devm_regulator_register(dev, &vreg->desc, &config);
1171 struct qcom_rpm_reg *vreg;
1186 vreg = devm_kzalloc(&pdev->dev, sizeof(*vreg), GFP_KERNEL);
1187 if (!vreg) {
1192 ret = rpm_regulator_init_vreg(vreg, dev, node, rpm, vreg_data);