Lines Matching +full:led +full:- +full:blue
1 // SPDX-License-Identifier: GPL-2.0-only
3 * SS4200-E Hardware API
65 pr_info("detected '%s'\n", id->ident); in ss4200_led_dmi_callback()
71 MODULE_PARM_DESC(nodetect, "Skip DMI-based hardware detection");
74 * struct nas_led_whitelist - List of known good models
85 .ident = "Intel SS4200-E",
88 DMI_MATCH(DMI_PRODUCT_NAME, "SS4200-E"),
94 * FUJITSU SIEMENS SCALEO Home Server/SS4200-E
135 { .name = "hdd1:blue:sata", .gpio_bit = 0 },
137 { .name = "hdd2:blue:sata", .gpio_bit = 2 },
139 { .name = "hdd3:blue:sata", .gpio_bit = 4 },
141 { .name = "hdd4:blue:sata", .gpio_bit = 6 },
143 { .name = "power:blue:power", .gpio_bit = 27},
181 struct nasgpio_led *led = led_classdev_to_nasgpio_led(led_cdev); in __nasgpio_led_set_attr() local
186 gpio_out |= (1<<led->gpio_bit); in __nasgpio_led_set_attr()
188 gpio_out &= ~(1<<led->gpio_bit); in __nasgpio_led_set_attr()
203 struct nasgpio_led *led = led_classdev_to_nasgpio_led(led_cdev); in nasgpio_led_get_attr() local
209 if (gpio_in & (1<<led->gpio_bit)) in nasgpio_led_get_attr()
232 * LED class documentation asks that past blink state in nasgpio_led_set_brightness()
248 return -EINVAL; in nasgpio_led_set_blink()
290 * The LED GPIO outputs need to be configured for output, so we in ich7_gpio_init()
291 * will ensure that all LED lines are cleared for output and the in ich7_gpio_init()
353 dev_err(&dev->dev, "pci_enable_device failed\n"); in ich7_lpc_probe()
354 return -EIO; in ich7_lpc_probe()
365 status = -EEXIST; in ich7_lpc_probe()
366 dev_info(&dev->dev, in ich7_lpc_probe()
373 dev_info(&dev->dev, "Unable to read GPIOBASE.\n"); in ich7_lpc_probe()
376 dev_dbg(&dev->dev, ": GPIOBASE = 0x%08x\n", nas_gpio_io_base); in ich7_lpc_probe()
385 dev_info(&dev->dev, in ich7_lpc_probe()
387 status = -1; in ich7_lpc_probe()
394 ich7_gpio_init(&dev->dev); in ich7_lpc_probe()
398 ich7_lpc_cleanup(&dev->dev); in ich7_lpc_probe()
406 ich7_lpc_cleanup(&dev->dev); in ich7_lpc_remove()
423 struct led_classdev *led = &nas_led->led_cdev; in get_classdev_for_led_nr() local
424 return led; in get_classdev_for_led_nr()
431 struct nasgpio_led *blue = get_led_named("power:blue:power"); in set_power_light_amber_noblink() local
433 if (!amber || !blue) in set_power_light_amber_noblink()
438 pr_debug("setting blue off and amber on\n"); in set_power_light_amber_noblink()
440 nasgpio_led_set_brightness(&blue->led_cdev, LED_OFF); in set_power_light_amber_noblink()
441 nasgpio_led_set_brightness(&amber->led_cdev, LED_FULL); in set_power_light_amber_noblink()
447 struct led_classdev *led = dev_get_drvdata(dev); in blink_show() local
449 if (nasgpio_led_get_attr(led, GPO_BLINK)) in blink_show()
459 struct led_classdev *led = dev_get_drvdata(dev); in blink_store() local
466 nasgpio_led_set_attr(led, GPO_BLINK, blink_state); in blink_store()
482 struct led_classdev *led = get_classdev_for_led_nr(led_nr); in register_nasgpio_led() local
484 led->name = nas_led->name; in register_nasgpio_led()
485 led->brightness = LED_OFF; in register_nasgpio_led()
486 if (nasgpio_led_get_attr(led, GP_LVL)) in register_nasgpio_led()
487 led->brightness = LED_FULL; in register_nasgpio_led()
488 led->brightness_set = nasgpio_led_set_brightness; in register_nasgpio_led()
489 led->blink_set = nasgpio_led_set_blink; in register_nasgpio_led()
490 led->groups = nasgpio_led_groups; in register_nasgpio_led()
492 return led_classdev_register(&nas_gpio_pci_dev->dev, led); in register_nasgpio_led()
497 struct led_classdev *led = get_classdev_for_led_nr(led_nr); in unregister_nasgpio_led() local
498 led_classdev_unregister(led); in unregister_nasgpio_led()
517 pr_info("no LED devices found\n"); in nas_gpio_init()
518 return -ENODEV; in nas_gpio_init()
532 * light blue and blinking. This will turn it solid in nas_gpio_init()
538 for (i--; i >= 0; i--) in nas_gpio_init()