blob: 1b5eab62ed0470d949cbdd42ed7698f4e2ea5e22 [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001/* SPDX-License-Identifier: GPL-2.0 */
Linus Torvalds1da177e2005-04-16 15:20:36 -07002/*
3 * Routines for handling backlight control on PowerBooks
4 *
Paul Mackerras508c4022005-10-11 09:26:48 +10005 * For now, implementation resides in
Michael Hanselmann5474c122006-06-25 05:47:08 -07006 * arch/powerpc/platforms/powermac/backlight.c
Linus Torvalds1da177e2005-04-16 15:20:36 -07007 *
8 */
Paul Mackerras508c4022005-10-11 09:26:48 +10009#ifndef __ASM_POWERPC_BACKLIGHT_H
10#define __ASM_POWERPC_BACKLIGHT_H
Linus Torvalds1da177e2005-04-16 15:20:36 -070011#ifdef __KERNEL__
Linus Torvalds1da177e2005-04-16 15:20:36 -070012
Michael Hanselmann5474c122006-06-25 05:47:08 -070013#include <linux/fb.h>
14#include <linux/mutex.h>
Linus Torvalds1da177e2005-04-16 15:20:36 -070015
Michael Hanselmann5474c122006-06-25 05:47:08 -070016/* For locking instructions, see the implementation file */
17extern struct backlight_device *pmac_backlight;
18extern struct mutex pmac_backlight_mutex;
Linus Torvalds1da177e2005-04-16 15:20:36 -070019
Michael Hanselmann5474c122006-06-25 05:47:08 -070020extern int pmac_backlight_curve_lookup(struct fb_info *info, int value);
Linus Torvalds1da177e2005-04-16 15:20:36 -070021
Michael Hanselmann5474c122006-06-25 05:47:08 -070022extern int pmac_has_backlight_type(const char *type);
23
Michael Hanselmanne01af032006-07-10 04:44:45 -070024extern void pmac_backlight_key(int direction);
25static inline void pmac_backlight_key_up(void)
26{
27 pmac_backlight_key(0);
28}
29static inline void pmac_backlight_key_down(void)
30{
31 pmac_backlight_key(1);
32}
Michael Hanselmann5474c122006-06-25 05:47:08 -070033
Michael Hanselmann4b755992006-07-30 03:04:19 -070034extern void pmac_backlight_set_legacy_brightness_pmu(int brightness);
Michael Hanselmann5474c122006-06-25 05:47:08 -070035extern int pmac_backlight_set_legacy_brightness(int brightness);
36extern int pmac_backlight_get_legacy_brightness(void);
Linus Torvalds1da177e2005-04-16 15:20:36 -070037
Michael Hanselmann4b755992006-07-30 03:04:19 -070038extern void pmac_backlight_enable(void);
39extern void pmac_backlight_disable(void);
40
Linus Torvalds1da177e2005-04-16 15:20:36 -070041#endif /* __KERNEL__ */
Paul Mackerras508c4022005-10-11 09:26:48 +100042#endif