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
43