diff options
Diffstat (limited to 'include/linux/acpi.h')
| -rw-r--r-- | include/linux/acpi.h | 41 | 
1 files changed, 31 insertions, 10 deletions
diff --git a/include/linux/acpi.h b/include/linux/acpi.h index eaeb4b9255bc..35413793a4d4 100644 --- a/include/linux/acpi.h +++ b/include/linux/acpi.h @@ -133,6 +133,7 @@ union acpi_subtable_headers {  	struct acpi_subtable_header common;  	struct acpi_hmat_structure hmat;  	struct acpi_prmt_module_header prmt; +	struct acpi_cedt_header cedt;  };  typedef int (*acpi_tbl_table_handler)(struct acpi_table_header *table); @@ -140,6 +141,9 @@ typedef int (*acpi_tbl_table_handler)(struct acpi_table_header *table);  typedef int (*acpi_tbl_entry_handler)(union acpi_subtable_headers *header,  				      const unsigned long end); +typedef int (*acpi_tbl_entry_handler_arg)(union acpi_subtable_headers *header, +					  void *arg, const unsigned long end); +  /* Debugger support */  struct acpi_debugger_ops { @@ -216,6 +220,8 @@ static inline int acpi_debugger_notify_command_complete(void)  struct acpi_subtable_proc {  	int id;  	acpi_tbl_entry_handler handler; +	acpi_tbl_entry_handler_arg handler_arg; +	void *arg;  	int count;  }; @@ -232,17 +238,31 @@ int acpi_locate_initial_tables (void);  void acpi_reserve_initial_tables (void);  void acpi_table_init_complete (void);  int acpi_table_init (void); + +#ifdef CONFIG_ACPI_TABLE_LIB +#define EXPORT_SYMBOL_ACPI_LIB(x) EXPORT_SYMBOL_NS_GPL(x, ACPI) +#define __init_or_acpilib +#define __initdata_or_acpilib +#else +#define EXPORT_SYMBOL_ACPI_LIB(x) +#define __init_or_acpilib __init +#define __initdata_or_acpilib __initdata +#endif +  int acpi_table_parse(char *id, acpi_tbl_table_handler handler); -int __init acpi_table_parse_entries(char *id, unsigned long table_size, -			      int entry_id, -			      acpi_tbl_entry_handler handler, -			      unsigned int max_entries); -int __init acpi_table_parse_entries_array(char *id, unsigned long table_size, -			      struct acpi_subtable_proc *proc, int proc_num, -			      unsigned int max_entries); +int __init_or_acpilib acpi_table_parse_entries(char *id, +		unsigned long table_size, int entry_id, +		acpi_tbl_entry_handler handler, unsigned int max_entries); +int __init_or_acpilib acpi_table_parse_entries_array(char *id, +		unsigned long table_size, struct acpi_subtable_proc *proc, +		int proc_num, unsigned int max_entries);  int acpi_table_parse_madt(enum acpi_madt_type id,  			  acpi_tbl_entry_handler handler,  			  unsigned int max_entries); +int __init_or_acpilib +acpi_table_parse_cedt(enum acpi_cedt_type id, +		      acpi_tbl_entry_handler_arg handler_arg, void *arg); +  int acpi_parse_mcfg (struct acpi_table_header *header);  void acpi_table_print_madt_entry (struct acpi_subtable_header *madt); @@ -506,7 +526,7 @@ acpi_status acpi_release_memory(acpi_handle handle, struct resource *res,  int acpi_resources_are_enforced(void);  #ifdef CONFIG_HIBERNATION -void __init acpi_check_s4_hw_signature(int check); +extern int acpi_check_s4_hw_signature;  #endif  #ifdef CONFIG_PM_SLEEP @@ -560,6 +580,7 @@ acpi_status acpi_run_osc(acpi_handle handle, struct acpi_osc_context *context);  extern bool osc_sb_apei_support_acked;  extern bool osc_pc_lpi_support_confirmed;  extern bool osc_sb_native_usb4_support_confirmed; +extern bool osc_sb_cppc_not_supported;  /* USB4 Capabilities */  #define OSC_USB_USB3_TUNNELING			0x00000001 @@ -671,7 +692,7 @@ int acpi_device_uevent_modalias(struct device *, struct kobj_uevent_env *);  int acpi_device_modalias(struct device *, char *, int);  struct platform_device *acpi_create_platform_device(struct acpi_device *, -						    struct property_entry *); +						    const struct property_entry *);  #define ACPI_PTR(_ptr)	(_ptr)  static inline void acpi_device_set_enumerated(struct acpi_device *adev) @@ -910,7 +931,7 @@ static inline int acpi_device_modalias(struct device *dev,  static inline struct platform_device *  acpi_create_platform_device(struct acpi_device *adev, -			    struct property_entry *properties) +			    const struct property_entry *properties)  {  	return NULL;  }  |