led_type
int64_t opal_set_slot_led_status(uint64_t phb_id, uint64_t slot_id, uint8_t led_type, uint8_t led_action);
if (!((led_mask >> powernv_led->led_type) & OPAL_SLOT_LED_STATE_ON)) {
if ((led_value >> powernv_led->led_type) & OPAL_SLOT_LED_STATE_ON)
powernv_led->led_type = powernv_get_led_type(led_type_desc);
if (powernv_led->led_type == -1) {
int led_type; /* OPAL_SLOT_LED_TYPE_* */
led_mask = OPAL_SLOT_LED_STATE_ON << powernv_led->led_type;
struct led_type *types)
static struct led_type clockboard_led_types[NUM_LEDS_PER_BOARD] = {
static struct led_type fhc_led_types[NUM_LEDS_PER_BOARD] = {
u8 led_type;
enum led_type type)
enum led_type type)
enum led_type type)
struct rt2x00_led *led, enum led_type type)
enum led_type type;
enum led_type type)
enum led_type type)
if (led_type == LED_HAS_LCD)
struct led_type *types)
static struct led_type mainboard_led_types[NUM_LEDS_PER_BOARD] = {
static unsigned char led_type; /* bitmask of LED_HAS_XXX */
led_type = LED_HAS_LCD;
led_type = LED_HAS_LCD | LED_HAS_LED;
led_type = LED_HAS_LED;
led_type = LED_HAS_LED;
switch (led_type) {
switch (led_type) {
wpriv->cdev[led_type].name = "platform::micmute";
wpriv->cdev[led_type].brightness_set_blocking = &lsh_wmi_micmute_led_set;
wpriv->cdev[led_type].default_trigger = "audio-micmute";
wpriv->cdev[led_type].name = "platform::mute";
wpriv->cdev[led_type].brightness_set_blocking = &lsh_wmi_audiomute_led_set;
wpriv->cdev[led_type].default_trigger = "audio-mute";
dev_err(dev, "Unknown LED type %d\n", led_type);
wpriv->cdev[led_type].max_brightness = LED_ON;
wpriv->cdev[led_type].flags = LED_CORE_SUSPENDRESUME;
err = devm_led_classdev_register(dev, &wpriv->cdev[led_type]);
dev_err(dev, "Could not register mute LED %d : %d\n", led_type, err);
static int lsh_wmi_mute_led_set(enum mute_led_type led_type, struct led_classdev *led_cdev,
struct lenovo_super_hotkey_wmi_private, cdev[led_type]);
switch (led_type) {
static int lenovo_super_hotkey_wmi_led_init(enum mute_led_type led_type, struct device *dev)