backlight.h revision 42542f5f
142542f5fSchristos/***************************************************************************
242542f5fSchristos
342542f5fSchristos Copyright 2014 Intel Corporation.  All Rights Reserved.
442542f5fSchristos
542542f5fSchristos Permission is hereby granted, free of charge, to any person obtaining a
642542f5fSchristos copy of this software and associated documentation files (the
742542f5fSchristos "Software"), to deal in the Software without restriction, including
842542f5fSchristos without limitation the rights to use, copy, modify, merge, publish,
942542f5fSchristos distribute, sub license, and/or sell copies of the Software, and to
1042542f5fSchristos permit persons to whom the Software is furnished to do so, subject to
1142542f5fSchristos the following conditions:
1242542f5fSchristos
1342542f5fSchristos The above copyright notice and this permission notice (including the
1442542f5fSchristos next paragraph) shall be included in all copies or substantial portions
1542542f5fSchristos of the Software.
1642542f5fSchristos
1742542f5fSchristos THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
1842542f5fSchristos OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1942542f5fSchristos MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
2042542f5fSchristos IN NO EVENT SHALL INTEL, AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM,
2142542f5fSchristos DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
2242542f5fSchristos OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
2342542f5fSchristos THE USE OR OTHER DEALINGS IN THE SOFTWARE.
2442542f5fSchristos
2542542f5fSchristos **************************************************************************/
2642542f5fSchristos
2742542f5fSchristos#ifndef BACKLIGHT_H
2842542f5fSchristos#define BACKLIGHT_H
2942542f5fSchristos
3042542f5fSchristosenum backlight_type {
3142542f5fSchristos	BL_NONE = -1,
3242542f5fSchristos	BL_PLATFORM,
3342542f5fSchristos	BL_FIRMWARE,
3442542f5fSchristos	BL_RAW,
3542542f5fSchristos	BL_NAMED,
3642542f5fSchristos};
3742542f5fSchristos
3842542f5fSchristosstruct backlight {
3942542f5fSchristos	char *iface;
4042542f5fSchristos	enum backlight_type type;
4142542f5fSchristos	int max;
4242542f5fSchristos	int pid, fd;
4342542f5fSchristos};
4442542f5fSchristos
4542542f5fSchristosenum backlight_type backlight_exists(const char *iface);
4642542f5fSchristos
4742542f5fSchristosvoid backlight_init(struct backlight *backlight);
4842542f5fSchristosint backlight_open(struct backlight *backlight, char *iface);
4942542f5fSchristosint backlight_set(struct backlight *backlight, int level);
5042542f5fSchristosint backlight_get(struct backlight *backlight);
5142542f5fSchristosvoid backlight_disable(struct backlight *backlight);
5242542f5fSchristosvoid backlight_close(struct backlight *backlight);
5342542f5fSchristos
5442542f5fSchristosstruct pci_device;
5542542f5fSchristoschar *backlight_find_for_device(struct pci_device *pci);
5642542f5fSchristos
5742542f5fSchristos#endif /* BACKLIGHT_H */
58