mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-03-01 19:16:22 +07:00
leds: unify the location of led-trigger API
Part of led-trigger API was in the private drivers/leds/leds.h header. Move it to the include/linux/leds.h header to unify the API location and announce it as public. It has been already exported from led-triggers.c with EXPORT_SYMBOL_GPL macro. The no-op definitions are changed from macros to inline to match the style of the surrounding code. Signed-off-by: Jacek Anaszewski <j.anaszewski@samsung.com> Cc: Richard Purdie <rpurdie@rpsys.net> Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Bryan Wu <cooloney@gmail.com>
This commit is contained in:
parent
0e14e0bfe8
commit
20f56758b0
@ -13,7 +13,6 @@
|
|||||||
#ifndef __LEDS_H_INCLUDED
|
#ifndef __LEDS_H_INCLUDED
|
||||||
#define __LEDS_H_INCLUDED
|
#define __LEDS_H_INCLUDED
|
||||||
|
|
||||||
#include <linux/device.h>
|
|
||||||
#include <linux/rwsem.h>
|
#include <linux/rwsem.h>
|
||||||
#include <linux/leds.h>
|
#include <linux/leds.h>
|
||||||
|
|
||||||
@ -50,27 +49,4 @@ void led_stop_software_blink(struct led_classdev *led_cdev);
|
|||||||
extern struct rw_semaphore leds_list_lock;
|
extern struct rw_semaphore leds_list_lock;
|
||||||
extern struct list_head leds_list;
|
extern struct list_head leds_list;
|
||||||
|
|
||||||
#ifdef CONFIG_LEDS_TRIGGERS
|
|
||||||
void led_trigger_set_default(struct led_classdev *led_cdev);
|
|
||||||
void led_trigger_set(struct led_classdev *led_cdev,
|
|
||||||
struct led_trigger *trigger);
|
|
||||||
void led_trigger_remove(struct led_classdev *led_cdev);
|
|
||||||
|
|
||||||
static inline void *led_get_trigger_data(struct led_classdev *led_cdev)
|
|
||||||
{
|
|
||||||
return led_cdev->trigger_data;
|
|
||||||
}
|
|
||||||
|
|
||||||
#else
|
|
||||||
#define led_trigger_set_default(x) do {} while (0)
|
|
||||||
#define led_trigger_set(x, y) do {} while (0)
|
|
||||||
#define led_trigger_remove(x) do {} while (0)
|
|
||||||
#define led_get_trigger_data(x) (NULL)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
ssize_t led_trigger_store(struct device *dev, struct device_attribute *attr,
|
|
||||||
const char *buf, size_t count);
|
|
||||||
ssize_t led_trigger_show(struct device *dev, struct device_attribute *attr,
|
|
||||||
char *buf);
|
|
||||||
|
|
||||||
#endif /* __LEDS_H_INCLUDED */
|
#endif /* __LEDS_H_INCLUDED */
|
||||||
|
@ -12,6 +12,7 @@
|
|||||||
#ifndef __LINUX_LEDS_H_INCLUDED
|
#ifndef __LINUX_LEDS_H_INCLUDED
|
||||||
#define __LINUX_LEDS_H_INCLUDED
|
#define __LINUX_LEDS_H_INCLUDED
|
||||||
|
|
||||||
|
#include <linux/device.h>
|
||||||
#include <linux/list.h>
|
#include <linux/list.h>
|
||||||
#include <linux/mutex.h>
|
#include <linux/mutex.h>
|
||||||
#include <linux/rwsem.h>
|
#include <linux/rwsem.h>
|
||||||
@ -222,6 +223,11 @@ struct led_trigger {
|
|||||||
struct list_head next_trig;
|
struct list_head next_trig;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
ssize_t led_trigger_store(struct device *dev, struct device_attribute *attr,
|
||||||
|
const char *buf, size_t count);
|
||||||
|
ssize_t led_trigger_show(struct device *dev, struct device_attribute *attr,
|
||||||
|
char *buf);
|
||||||
|
|
||||||
/* Registration functions for complex triggers */
|
/* Registration functions for complex triggers */
|
||||||
extern int led_trigger_register(struct led_trigger *trigger);
|
extern int led_trigger_register(struct led_trigger *trigger);
|
||||||
extern void led_trigger_unregister(struct led_trigger *trigger);
|
extern void led_trigger_unregister(struct led_trigger *trigger);
|
||||||
@ -238,6 +244,16 @@ extern void led_trigger_blink_oneshot(struct led_trigger *trigger,
|
|||||||
unsigned long *delay_on,
|
unsigned long *delay_on,
|
||||||
unsigned long *delay_off,
|
unsigned long *delay_off,
|
||||||
int invert);
|
int invert);
|
||||||
|
extern void led_trigger_set_default(struct led_classdev *led_cdev);
|
||||||
|
extern void led_trigger_set(struct led_classdev *led_cdev,
|
||||||
|
struct led_trigger *trigger);
|
||||||
|
extern void led_trigger_remove(struct led_classdev *led_cdev);
|
||||||
|
|
||||||
|
static inline void *led_get_trigger_data(struct led_classdev *led_cdev)
|
||||||
|
{
|
||||||
|
return led_cdev->trigger_data;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* led_trigger_rename_static - rename a trigger
|
* led_trigger_rename_static - rename a trigger
|
||||||
* @name: the new trigger name
|
* @name: the new trigger name
|
||||||
@ -267,6 +283,15 @@ static inline void led_trigger_register_simple(const char *name,
|
|||||||
static inline void led_trigger_unregister_simple(struct led_trigger *trigger) {}
|
static inline void led_trigger_unregister_simple(struct led_trigger *trigger) {}
|
||||||
static inline void led_trigger_event(struct led_trigger *trigger,
|
static inline void led_trigger_event(struct led_trigger *trigger,
|
||||||
enum led_brightness event) {}
|
enum led_brightness event) {}
|
||||||
|
static inline void led_trigger_set_default(struct led_classdev *led_cdev) {}
|
||||||
|
static inline void led_trigger_set(struct led_classdev *led_cdev,
|
||||||
|
struct led_trigger *trigger) {}
|
||||||
|
static inline void led_trigger_remove(struct led_classdev *led_cdev) {}
|
||||||
|
static inline void *led_get_trigger_data(struct led_classdev *led_cdev)
|
||||||
|
{
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
#endif /* CONFIG_LEDS_TRIGGERS */
|
#endif /* CONFIG_LEDS_TRIGGERS */
|
||||||
|
|
||||||
/* Trigger specific functions */
|
/* Trigger specific functions */
|
||||||
|
Loading…
Reference in New Issue
Block a user