Linux-libre 5.7.6-gnu
[librecmc/linux-libre.git] / arch / powerpc / include / asm / backlight.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Routines for handling backlight control on PowerBooks
4  *
5  * For now, implementation resides in
6  * arch/powerpc/platforms/powermac/backlight.c
7  *
8  */
9 #ifndef __ASM_POWERPC_BACKLIGHT_H
10 #define __ASM_POWERPC_BACKLIGHT_H
11 #ifdef __KERNEL__
12
13 #include <linux/fb.h>
14 #include <linux/mutex.h>
15
16 /* For locking instructions, see the implementation file */
17 extern struct backlight_device *pmac_backlight;
18 extern struct mutex pmac_backlight_mutex;
19
20 extern int pmac_backlight_curve_lookup(struct fb_info *info, int value);
21
22 extern int pmac_has_backlight_type(const char *type);
23
24 extern void pmac_backlight_key(int direction);
25 static inline void pmac_backlight_key_up(void)
26 {
27         pmac_backlight_key(0);
28 }
29 static inline void pmac_backlight_key_down(void)
30 {
31         pmac_backlight_key(1);
32 }
33
34 extern void pmac_backlight_set_legacy_brightness_pmu(int brightness);
35 extern int pmac_backlight_set_legacy_brightness(int brightness);
36 extern int pmac_backlight_get_legacy_brightness(void);
37
38 extern void pmac_backlight_enable(void);
39 extern void pmac_backlight_disable(void);
40
41 #endif /* __KERNEL__ */
42 #endif