Lines Matching refs:powernv_led
80 static int powernv_led_set(struct powernv_led_data *powernv_led, in powernv_led_set() argument
87 struct device *dev = powernv_led->cdev.dev; in powernv_led_set()
88 struct powernv_led_common *powernv_led_common = powernv_led->common; in powernv_led_set()
92 led_mask = OPAL_SLOT_LED_STATE_ON << powernv_led->led_type; in powernv_led_set()
105 rc = opal_leds_set_ind(token, powernv_led->loc_code, in powernv_led_set()
109 __func__, powernv_led->loc_code, rc); in powernv_led_set()
135 static enum led_brightness powernv_led_get(struct powernv_led_data *powernv_led) in powernv_led_get() argument
140 struct device *dev = powernv_led->cdev.dev; in powernv_led_get()
141 struct powernv_led_common *powernv_led_common = powernv_led->common; in powernv_led_get()
148 rc = opal_leds_get_ind(powernv_led->loc_code, in powernv_led_get()
160 if (!((led_mask >> powernv_led->led_type) & OPAL_SLOT_LED_STATE_ON)) { in powernv_led_get()
162 __func__, powernv_led->cdev.name); in powernv_led_get()
167 if ((led_value >> powernv_led->led_type) & OPAL_SLOT_LED_STATE_ON) in powernv_led_get()
180 struct powernv_led_data *powernv_led = in powernv_brightness_set() local
182 struct powernv_led_common *powernv_led_common = powernv_led->common; in powernv_brightness_set()
190 rc = powernv_led_set(powernv_led, value); in powernv_brightness_set()
199 struct powernv_led_data *powernv_led = in powernv_brightness_get() local
202 return powernv_led_get(powernv_led); in powernv_brightness_get()
210 struct powernv_led_data *powernv_led, in powernv_led_create() argument
216 powernv_led->led_type = powernv_get_led_type(led_type_desc); in powernv_led_create()
217 if (powernv_led->led_type == -1) { in powernv_led_create()
224 powernv_led->cdev.name = devm_kasprintf(dev, GFP_KERNEL, "%s:%s", in powernv_led_create()
225 powernv_led->loc_code, in powernv_led_create()
227 if (!powernv_led->cdev.name) in powernv_led_create()
230 powernv_led->cdev.brightness_set_blocking = powernv_brightness_set; in powernv_led_create()
231 powernv_led->cdev.brightness_get = powernv_brightness_get; in powernv_led_create()
232 powernv_led->cdev.brightness = LED_OFF; in powernv_led_create()
233 powernv_led->cdev.max_brightness = LED_FULL; in powernv_led_create()
236 rc = devm_led_classdev_register(dev, &powernv_led->cdev); in powernv_led_create()
239 __func__, powernv_led->cdev.name); in powernv_led_create()
254 struct powernv_led_data *powernv_led; in powernv_led_classdev() local
261 powernv_led = devm_kzalloc(dev, sizeof(*powernv_led), in powernv_led_classdev()
263 if (!powernv_led) { in powernv_led_classdev()
268 powernv_led->common = powernv_led_common; in powernv_led_classdev()
269 powernv_led->loc_code = (char *)np->name; in powernv_led_classdev()
271 rc = powernv_led_create(dev, powernv_led, cur); in powernv_led_classdev()