2009-07-29 00:45:54 +04:00
/*
* acpi / internal . h
* For use by Linux / ACPI infrastructure , not drivers
*
* Copyright ( c ) 2009 , Intel Corporation .
*
* This program is free software ; you can redistribute it and / or modify it
* under the terms and conditions of the GNU General Public License ,
* version 2 , as published by the Free Software Foundation .
*
* This program is distributed in the hope it will be useful , but WITHOUT
* ANY WARRANTY ; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE . See the GNU General Public License for
* more details .
*
* You should have received a copy of the GNU General Public License along with
* this program ; if not , write to the Free Software Foundation , Inc . ,
* 51 Franklin St - Fifth Floor , Boston , MA 02110 - 1301 USA .
*/
2010-07-16 15:11:31 +04:00
# ifndef _ACPI_INTERNAL_H_
# define _ACPI_INTERNAL_H_
# include <linux/sysdev.h>
2009-07-29 00:45:54 +04:00
# define PREFIX "ACPI: "
2009-03-13 21:08:26 +03:00
2009-03-25 01:50:09 +03:00
int init_acpi_device_notify ( void ) ;
2009-03-25 01:49:43 +03:00
int acpi_scan_init ( void ) ;
2010-07-15 06:46:30 +04:00
int acpi_sysfs_init ( void ) ;
2009-03-25 01:49:43 +03:00
2010-07-15 06:46:15 +04:00
# ifdef CONFIG_DEBUG_FS
int acpi_debugfs_init ( void ) ;
# else
static inline int acpi_debugfs_init ( void ) { return 0 ; }
# endif
2009-03-13 21:08:26 +03:00
/* --------------------------------------------------------------------------
Power Resource
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
2009-03-25 01:49:53 +03:00
int acpi_power_init ( void ) ;
2009-03-13 21:08:26 +03:00
int acpi_device_sleep_wake ( struct acpi_device * dev ,
int enable , int sleep_state , int dev_state ) ;
int acpi_power_get_inferred_state ( struct acpi_device * device ) ;
int acpi_power_transition ( struct acpi_device * device , int state ) ;
extern int acpi_power_nocheck ;
2009-03-25 01:50:19 +03:00
int acpi_wakeup_device_init ( void ) ;
2009-12-20 22:19:09 +03:00
void acpi_early_processor_set_pdc ( void ) ;
2009-03-25 01:50:19 +03:00
2009-03-13 21:08:26 +03:00
/* --------------------------------------------------------------------------
Embedded Controller
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
2010-07-16 15:11:31 +04:00
struct acpi_ec {
acpi_handle handle ;
unsigned long gpe ;
unsigned long command_addr ;
unsigned long data_addr ;
unsigned long global_lock ;
unsigned long flags ;
struct mutex lock ;
wait_queue_head_t wait ;
struct list_head list ;
struct transaction * curr ;
spinlock_t curr_lock ;
struct sys_device sysdev ;
} ;
extern struct acpi_ec * first_ec ;
2009-03-25 01:49:48 +03:00
int acpi_ec_init ( void ) ;
2009-03-13 21:08:26 +03:00
int acpi_ec_ecdt_probe ( void ) ;
int acpi_boot_ec_enable ( void ) ;
2010-04-09 03:40:38 +04:00
void acpi_ec_block_transactions ( void ) ;
void acpi_ec_unblock_transactions ( void ) ;
void acpi_ec_unblock_transactions_early ( void ) ;
2009-03-13 21:08:26 +03:00
/*--------------------------------------------------------------------------
Suspend / Resume
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
extern int acpi_sleep_init ( void ) ;
2009-03-25 01:50:14 +03:00
# ifdef CONFIG_ACPI_SLEEP
int acpi_sleep_proc_init ( void ) ;
2011-01-07 03:43:44 +03:00
int suspend_nvs_alloc ( void ) ;
void suspend_nvs_free ( void ) ;
int suspend_nvs_save ( void ) ;
void suspend_nvs_restore ( void ) ;
2009-03-25 01:50:14 +03:00
# else
static inline int acpi_sleep_proc_init ( void ) { return 0 ; }
2011-01-07 03:43:44 +03:00
static inline int suspend_nvs_alloc ( void ) { return 0 ; }
static inline void suspend_nvs_free ( void ) { }
2011-01-13 00:03:20 +03:00
static inline int suspend_nvs_save ( void ) { return 0 ; }
2011-01-07 03:43:44 +03:00
static inline void suspend_nvs_restore ( void ) { }
2009-03-25 01:50:14 +03:00
# endif
2010-07-16 15:11:31 +04:00
# endif /* _ACPI_INTERNAL_H_ */