Lines Matching refs:powernv_led
76 static int powernv_led_set(struct powernv_led_data *powernv_led,
83 struct device *dev = powernv_led->cdev.dev;
84 struct powernv_led_common *powernv_led_common = powernv_led->common;
88 led_mask = OPAL_SLOT_LED_STATE_ON << powernv_led->led_type;
101 rc = opal_leds_set_ind(token, powernv_led->loc_code,
105 __func__, powernv_led->loc_code, rc);
131 static enum led_brightness powernv_led_get(struct powernv_led_data *powernv_led)
136 struct device *dev = powernv_led->cdev.dev;
137 struct powernv_led_common *powernv_led_common = powernv_led->common;
144 rc = opal_leds_get_ind(powernv_led->loc_code,
156 if (!((led_mask >> powernv_led->led_type) & OPAL_SLOT_LED_STATE_ON)) {
158 __func__, powernv_led->cdev.name);
163 if ((led_value >> powernv_led->led_type) & OPAL_SLOT_LED_STATE_ON)
176 struct powernv_led_data *powernv_led =
178 struct powernv_led_common *powernv_led_common = powernv_led->common;
186 rc = powernv_led_set(powernv_led, value);
195 struct powernv_led_data *powernv_led =
198 return powernv_led_get(powernv_led);
206 struct powernv_led_data *powernv_led,
212 powernv_led->led_type = powernv_get_led_type(led_type_desc);
213 if (powernv_led->led_type == -1) {
220 powernv_led->cdev.name = devm_kasprintf(dev, GFP_KERNEL, "%s:%s",
221 powernv_led->loc_code,
223 if (!powernv_led->cdev.name)
226 powernv_led->cdev.brightness_set_blocking = powernv_brightness_set;
227 powernv_led->cdev.brightness_get = powernv_brightness_get;
228 powernv_led->cdev.brightness = LED_OFF;
229 powernv_led->cdev.max_brightness = LED_FULL;
232 rc = devm_led_classdev_register(dev, &powernv_led->cdev);
235 __func__, powernv_led->cdev.name);
250 struct powernv_led_data *powernv_led;
257 powernv_led = devm_kzalloc(dev, sizeof(*powernv_led),
259 if (!powernv_led) {
264 powernv_led->common = powernv_led_common;
265 powernv_led->loc_code = (char *)np->name;
267 rc = powernv_led_create(dev, powernv_led, cur);