mirror of
				https://github.com/smaeul/u-boot.git
				synced 2025-10-31 03:58:17 +00:00 
			
		
		
		
	We normally use -ENODEV for a missing device, rather than -ENOENT. The latter is reserved for when we have a device but cannot find something within it. Also avoid looking at the root LED device since it is only a container. Signed-off-by: Simon Glass <sjg@chromium.org>
		
			
				
	
	
		
			52 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * Copyright (c) 2015 Google, Inc
 | |
|  * Written by Simon Glass <sjg@chromium.org>
 | |
|  *
 | |
|  * SPDX-License-Identifier:	GPL-2.0+
 | |
|  */
 | |
| 
 | |
| #ifndef __LED_H
 | |
| #define __LED_H
 | |
| 
 | |
| /**
 | |
|  * struct led_uclass_plat - Platform data the uclass stores about each device
 | |
|  *
 | |
|  * @label:	LED label
 | |
|  */
 | |
| struct led_uclass_plat {
 | |
| 	const char *label;
 | |
| };
 | |
| 
 | |
| struct led_ops {
 | |
| 	/**
 | |
| 	 * set_on() - set the state of an LED
 | |
| 	 *
 | |
| 	 * @dev:	LED device to change
 | |
| 	 * @on:		1 to turn the LED on, 0 to turn it off
 | |
| 	 * @return 0 if OK, -ve on error
 | |
| 	 */
 | |
| 	int (*set_on)(struct udevice *dev, int on);
 | |
| };
 | |
| 
 | |
| #define led_get_ops(dev)	((struct led_ops *)(dev)->driver->ops)
 | |
| 
 | |
| /**
 | |
|  * led_get_by_label() - Find an LED device by label
 | |
|  *
 | |
|  * @label:	LED label to look up
 | |
|  * @devp:	Returns the associated device, if found
 | |
|  * @return 0 if found, -ENODEV if not found, other -ve on error
 | |
|  */
 | |
| int led_get_by_label(const char *label, struct udevice **devp);
 | |
| 
 | |
| /**
 | |
|  * led_set_on() - set the state of an LED
 | |
|  *
 | |
|  * @dev:	LED device to change
 | |
|  * @on:		1 to turn the LED on, 0 to turn it off
 | |
|  * @return 0 if OK, -ve on error
 | |
|  */
 | |
| int led_set_on(struct udevice *dev, int on);
 | |
| 
 | |
| #endif
 |