162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Routines for handling backlight control on PowerBooks
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * For now, implementation resides in
662306a36Sopenharmony_ci * arch/powerpc/platforms/powermac/backlight.c
762306a36Sopenharmony_ci *
862306a36Sopenharmony_ci */
962306a36Sopenharmony_ci#ifndef __ASM_POWERPC_BACKLIGHT_H
1062306a36Sopenharmony_ci#define __ASM_POWERPC_BACKLIGHT_H
1162306a36Sopenharmony_ci#ifdef __KERNEL__
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci#include <linux/fb.h>
1462306a36Sopenharmony_ci#include <linux/mutex.h>
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci/* For locking instructions, see the implementation file */
1762306a36Sopenharmony_ciextern struct backlight_device *pmac_backlight;
1862306a36Sopenharmony_ciextern struct mutex pmac_backlight_mutex;
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ciextern int pmac_backlight_curve_lookup(struct fb_info *info, int value);
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ciextern int pmac_has_backlight_type(const char *type);
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ciextern void pmac_backlight_key(int direction);
2562306a36Sopenharmony_cistatic inline void pmac_backlight_key_up(void)
2662306a36Sopenharmony_ci{
2762306a36Sopenharmony_ci	pmac_backlight_key(0);
2862306a36Sopenharmony_ci}
2962306a36Sopenharmony_cistatic inline void pmac_backlight_key_down(void)
3062306a36Sopenharmony_ci{
3162306a36Sopenharmony_ci	pmac_backlight_key(1);
3262306a36Sopenharmony_ci}
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ciextern void pmac_backlight_set_legacy_brightness_pmu(int brightness);
3562306a36Sopenharmony_ciextern int pmac_backlight_set_legacy_brightness(int brightness);
3662306a36Sopenharmony_ciextern int pmac_backlight_get_legacy_brightness(void);
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ciextern void pmac_backlight_enable(void);
3962306a36Sopenharmony_ciextern void pmac_backlight_disable(void);
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci#endif /* __KERNEL__ */
4262306a36Sopenharmony_ci#endif
43