xref: /illumos-gate/usr/src/cmd/hal/hald/solaris/devinfo_acpi.h (revision b31b5de1357c915fe7dab4d9646d9d84f9fe69bc)
1 /***************************************************************************
2  *
3  * devinfo_acpi.h : definitions for acpi devices
4  *
5  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
6  * Use is subject to license terms.
7  *
8  * Licensed under the Academic Free License version 2.1
9  *
10  **************************************************************************/
11 
12 #ifndef DEVINFO_ACPI_H
13 #define	DEVINFO_ACPI_H
14 
15 #include "devinfo.h"
16 
17 extern DevinfoDevHandler devinfo_acpi_handler;
18 extern DevinfoDevHandler devinfo_power_button_handler;
19 
20 #define	MINOR_SHIFT			8
21 #define	MINOR2TYPE(minor)		((minor) >> MINOR_SHIFT)
22 
23 /* Battery device types */
24 enum batt_type {
25 	BATT_TYPE_UNKNOWN = -1,
26 	BATT_TYPE_CBAT,
27 	BATT_TYPE_AC,
28 	BATT_TYPE_SBAT
29 };
30 
31 HalDevice *devinfo_battery_add_major(HalDevice *parent, di_node_t node,
32     char *devfs_path, char *device_type, gboolean rescan, HalDevice *battery_d);
33 void devinfo_acpi_add_minor(HalDevice *parent, di_node_t node,
34     char *minor_path, dev_t dev);
35 void devinfo_battery_remove_minor(char *parent_devfs_path, gchar *udi);
36 void devinfo_battery_rescan(char *parent_devfs_path, gchar *udi);
37 const gchar *devinfo_acpi_get_prober(HalDevice *d, int *timeout);
38 void devinfo_power_button_event(void);
39 void devinfo_brightness_hotkeys_event(char *subclass);
40 
41 void devinfo_lid_event(char *subclass, gchar *udi);
42 gboolean devinfo_lid_rescan(HalDevice *d);
43 
44 #endif /* DEVINFO_ACPI_H */
45