Lines Matching +full:reg +full:- +full:names

1 // SPDX-License-Identifier: GPL-2.0-only
46 u32 reg; /* index in SMU */ member
77 return -EINVAL; in smu_set_fan()
119 if (value < fct->min) in smu_fan_set()
120 value = fct->min; in smu_fan_set()
121 if (value > fct->max) in smu_fan_set()
122 value = fct->max; in smu_fan_set()
123 fct->value = value; in smu_fan_set()
125 return smu_set_fan(fct->fan_type, fct->reg, value); in smu_fan_set()
131 *value = fct->value; /* todo: read from SMU */ in smu_fan_get()
138 return fct->min; in smu_fan_min()
144 return fct->max; in smu_fan_max()
161 const u32 *reg; in smu_fan_create() local
167 fct->ctrl.ops = &smu_fan_ops; in smu_fan_create()
172 fct->fan_type = pwm_fan; in smu_fan_create()
173 fct->ctrl.type = pwm_fan ? WF_CONTROL_PWM_FAN : WF_CONTROL_RPM_FAN; in smu_fan_create()
184 fct->ctrl.name = NULL; in smu_fan_create()
186 /* Names used on desktop models */ in smu_fan_create()
190 fct->ctrl.name = "cpu-rear-fan-0"; in smu_fan_create()
193 fct->ctrl.name = "cpu-rear-fan-1"; in smu_fan_create()
197 fct->ctrl.name = "cpu-front-fan-0"; in smu_fan_create()
200 fct->ctrl.name = "cpu-front-fan-1"; in smu_fan_create()
202 fct->ctrl.name = "cpu-pump-0"; in smu_fan_create()
204 fct->ctrl.name = "cpu-pump-1"; in smu_fan_create()
207 fct->ctrl.name = "slots-fan"; in smu_fan_create()
210 fct->ctrl.name = "drive-bay-fan"; in smu_fan_create()
212 fct->ctrl.name = "backside-fan"; in smu_fan_create()
214 /* Names used on iMac models */ in smu_fan_create()
216 fct->ctrl.name = "system-fan"; in smu_fan_create()
218 fct->ctrl.name = "cpu-fan"; in smu_fan_create()
220 fct->ctrl.name = "drive-bay-fan"; in smu_fan_create()
222 fct->ctrl.name = "hard-drive-fan"; in smu_fan_create()
224 fct->ctrl.name = "optical-drive-fan"; in smu_fan_create()
227 if (fct->ctrl.name == NULL) in smu_fan_create()
231 v = of_get_property(node, "min-value", NULL); in smu_fan_create()
234 fct->min = *v; in smu_fan_create()
235 v = of_get_property(node, "max-value", NULL); in smu_fan_create()
238 fct->max = *v; in smu_fan_create()
240 /* Get "reg" value */ in smu_fan_create()
241 reg = of_get_property(node, "reg", NULL); in smu_fan_create()
242 if (reg == NULL) in smu_fan_create()
244 fct->reg = *reg; in smu_fan_create()
246 if (wf_register_control(&fct->ctrl)) in smu_fan_create()
261 return -ENODEV; in smu_controls_init()
265 return -ENODEV; in smu_controls_init()
269 if (of_node_name_eq(fans, "rpm-fans") || in smu_controls_init()
270 of_device_is_compatible(fans, "smu-rpm-fans")) in smu_controls_init()
282 list_add(&fct->link, &smu_fans); in smu_controls_init()
289 if (of_node_name_eq(fans, "pwm-fans")) in smu_controls_init()
301 list_add(&fct->link, &smu_fans); in smu_controls_init()
315 list_del(&fct->link); in smu_controls_exit()
316 wf_unregister_control(&fct->ctrl); in smu_controls_exit()