mirror of
https://github.com/Dasharo/linux.git
synced 2026-03-06 15:25:10 -08:00
Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6
* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: ACPI: Kconfig: remove CONFIG_ACPI_SLEEP from source ACPI: quiet ACPI Exceptions due to no _PTC or _TSS ACPI: Remove references to ACPI_STATE_S2 from acpi_pm_enter ACPI: Kconfig: always enable CONFIG_ACPI_SLEEP on X86 ACPI: Kconfig: fold /proc/acpi/sleep under CONFIG_ACPI_PROCFS ACPI: Kconfig: CONFIG_ACPI_PROCFS now defaults to N ACPI: autoload modules - Create __mod_acpi_device_table symbol for all ACPI drivers ACPI: autoload modules - Create ACPI alias interface ACPI: autoload modules - ACPICA modifications ACPI: asus-laptop: Fix failure exits ACPI: fix oops due to typo in new throttling code ACPI: ignore _PSx method for hotplugable PCI devices ACPI: Use ACPI methods to select PCI device suspend state ACPI, PNP: hook ACPI D-state to PNP suspend/resume ACPI: Add acpi_pm_device_sleep_state helper routine ACPI: Implement the set_target() callback from pm_ops
This commit is contained in:
@@ -131,7 +131,7 @@ struct acpi_device_ops {
|
||||
struct acpi_driver {
|
||||
char name[80];
|
||||
char class[80];
|
||||
char *ids; /* Supported Hardware IDs */
|
||||
const struct acpi_device_id *ids; /* Supported Hardware IDs */
|
||||
struct acpi_device_ops ops;
|
||||
struct device_driver drv;
|
||||
struct module *owner;
|
||||
@@ -341,7 +341,8 @@ int acpi_bus_add(struct acpi_device **child, struct acpi_device *parent,
|
||||
int acpi_bus_trim(struct acpi_device *start, int rmdevice);
|
||||
int acpi_bus_start(struct acpi_device *device);
|
||||
acpi_status acpi_bus_get_ejd(acpi_handle handle, acpi_handle * ejd);
|
||||
int acpi_match_ids(struct acpi_device *device, char *ids);
|
||||
int acpi_match_device_ids(struct acpi_device *device,
|
||||
const struct acpi_device_id *ids);
|
||||
int acpi_create_dir(struct acpi_device *);
|
||||
void acpi_remove_dir(struct acpi_device *);
|
||||
|
||||
@@ -365,6 +366,8 @@ acpi_handle acpi_get_child(acpi_handle, acpi_integer);
|
||||
acpi_handle acpi_get_pci_rootbridge_handle(unsigned int, unsigned int);
|
||||
#define DEVICE_ACPI_HANDLE(dev) ((acpi_handle)((dev)->archdata.acpi_handle))
|
||||
|
||||
int acpi_pm_device_sleep_state(struct device *, int, int *);
|
||||
|
||||
#endif /* CONFIG_ACPI */
|
||||
|
||||
#endif /*__ACPI_BUS_H__*/
|
||||
|
||||
@@ -34,16 +34,21 @@
|
||||
#define ACPI_BUS_COMPONENT 0x00010000
|
||||
#define ACPI_SYSTEM_COMPONENT 0x02000000
|
||||
|
||||
/* _HID definitions */
|
||||
/*
|
||||
* _HID definitions
|
||||
* HIDs must conform to ACPI spec(6.1.4)
|
||||
* Linux specific HIDs do not apply to this and begin with LNX:
|
||||
*/
|
||||
|
||||
#define ACPI_POWER_HID "power_resource"
|
||||
#define ACPI_POWER_HID "LNXPOWER"
|
||||
#define ACPI_PROCESSOR_HID "ACPI0007"
|
||||
#define ACPI_SYSTEM_HID "acpi_system"
|
||||
#define ACPI_THERMAL_HID "thermal"
|
||||
#define ACPI_BUTTON_HID_POWERF "button_power"
|
||||
#define ACPI_BUTTON_HID_SLEEPF "button_sleep"
|
||||
#define ACPI_VIDEO_HID "video"
|
||||
#define ACPI_BAY_HID "bay"
|
||||
#define ACPI_SYSTEM_HID "LNXSYSTM"
|
||||
#define ACPI_THERMAL_HID "LNXTHERM"
|
||||
#define ACPI_BUTTON_HID_POWERF "LNXPWRBN"
|
||||
#define ACPI_BUTTON_HID_SLEEPF "LNXSLPBN"
|
||||
#define ACPI_VIDEO_HID "LNXVIDEO"
|
||||
#define ACPI_BAY_HID "LNXIOBAY"
|
||||
|
||||
/* --------------------------------------------------------------------------
|
||||
PCI
|
||||
-------------------------------------------------------------------------- */
|
||||
@@ -142,10 +147,6 @@ static inline void unregister_hotplug_dock_device(acpi_handle handle)
|
||||
/*--------------------------------------------------------------------------
|
||||
Suspend/Resume
|
||||
-------------------------------------------------------------------------- */
|
||||
#ifdef CONFIG_ACPI_SLEEP
|
||||
extern int acpi_sleep_init(void);
|
||||
#else
|
||||
#define acpi_sleep_init() do {} while (0)
|
||||
#endif
|
||||
|
||||
#endif /*__ACPI_DRIVERS_H__*/
|
||||
|
||||
@@ -809,7 +809,7 @@ acpi_status(*acpi_walk_callback) (acpi_handle obj_handle,
|
||||
|
||||
/* Common string version of device HIDs and UIDs */
|
||||
|
||||
struct acpi_device_id {
|
||||
struct acpica_device_id {
|
||||
char value[ACPI_DEVICE_ID_LENGTH];
|
||||
};
|
||||
|
||||
@@ -859,8 +859,8 @@ struct acpi_device_info {
|
||||
u32 valid; /* Indicates which fields below are valid */
|
||||
u32 current_status; /* _STA value */
|
||||
acpi_integer address; /* _ADR value if any */
|
||||
struct acpi_device_id hardware_id; /* _HID value if any */
|
||||
struct acpi_device_id unique_id; /* _UID value if any */
|
||||
struct acpica_device_id hardware_id; /* _HID value if any */
|
||||
struct acpica_device_id unique_id; /* _UID value if any */
|
||||
u8 highest_dstates[4]; /* _sx_d values: 0xFF indicates not valid */
|
||||
struct acpi_compatible_id_list compatibility_id; /* List of _CIDs if any */
|
||||
};
|
||||
|
||||
@@ -354,7 +354,7 @@ acpi_ut_evaluate_numeric_object(char *object_name,
|
||||
|
||||
acpi_status
|
||||
acpi_ut_execute_HID(struct acpi_namespace_node *device_node,
|
||||
struct acpi_device_id *hid);
|
||||
struct acpica_device_id *hid);
|
||||
|
||||
acpi_status
|
||||
acpi_ut_execute_CID(struct acpi_namespace_node *device_node,
|
||||
@@ -366,7 +366,7 @@ acpi_ut_execute_STA(struct acpi_namespace_node *device_node,
|
||||
|
||||
acpi_status
|
||||
acpi_ut_execute_UID(struct acpi_namespace_node *device_node,
|
||||
struct acpi_device_id *uid);
|
||||
struct acpica_device_id *uid);
|
||||
|
||||
acpi_status
|
||||
acpi_ut_execute_sxds(struct acpi_namespace_node *device_node, u8 * highest);
|
||||
|
||||
@@ -121,6 +121,15 @@ static inline void acpi_disable_pci(void)
|
||||
}
|
||||
extern int acpi_irq_balance_set(char *str);
|
||||
|
||||
/* routines for saving/restoring kernel state */
|
||||
extern int acpi_save_state_mem(void);
|
||||
extern void acpi_restore_state_mem(void);
|
||||
|
||||
extern unsigned long acpi_wakeup_address;
|
||||
|
||||
/* early initialization routine */
|
||||
extern void acpi_reserve_bootmem(void);
|
||||
|
||||
#else /* !CONFIG_ACPI */
|
||||
|
||||
#define acpi_lapic 0
|
||||
@@ -131,20 +140,6 @@ static inline void disable_acpi(void) { }
|
||||
|
||||
#endif /* !CONFIG_ACPI */
|
||||
|
||||
|
||||
#ifdef CONFIG_ACPI_SLEEP
|
||||
|
||||
/* routines for saving/restoring kernel state */
|
||||
extern int acpi_save_state_mem(void);
|
||||
extern void acpi_restore_state_mem(void);
|
||||
|
||||
extern unsigned long acpi_wakeup_address;
|
||||
|
||||
/* early initialization routine */
|
||||
extern void acpi_reserve_bootmem(void);
|
||||
|
||||
#endif /*CONFIG_ACPI_SLEEP*/
|
||||
|
||||
#define ARCH_HAS_POWER_INIT 1
|
||||
|
||||
#endif /*__KERNEL__*/
|
||||
|
||||
@@ -21,7 +21,7 @@ struct saved_context {
|
||||
unsigned long return_address;
|
||||
} __attribute__((packed));
|
||||
|
||||
#ifdef CONFIG_ACPI_SLEEP
|
||||
#ifdef CONFIG_ACPI
|
||||
extern unsigned long saved_eip;
|
||||
extern unsigned long saved_esp;
|
||||
extern unsigned long saved_ebp;
|
||||
|
||||
@@ -100,6 +100,11 @@ const char *acpi_get_sysname (void);
|
||||
int acpi_request_vector (u32 int_type);
|
||||
int acpi_gsi_to_irq (u32 gsi, unsigned int *irq);
|
||||
|
||||
/* routines for saving/restoring kernel state */
|
||||
extern int acpi_save_state_mem(void);
|
||||
extern void acpi_restore_state_mem(void);
|
||||
extern unsigned long acpi_wakeup_address;
|
||||
|
||||
/*
|
||||
* Record the cpei override flag and current logical cpu. This is
|
||||
* useful for CPU removal.
|
||||
|
||||
@@ -108,6 +108,15 @@ static inline void acpi_disable_pci(void)
|
||||
}
|
||||
extern int acpi_irq_balance_set(char *str);
|
||||
|
||||
/* routines for saving/restoring kernel state */
|
||||
extern int acpi_save_state_mem(void);
|
||||
extern void acpi_restore_state_mem(void);
|
||||
|
||||
extern unsigned long acpi_wakeup_address;
|
||||
|
||||
/* early initialization routine */
|
||||
extern void acpi_reserve_bootmem(void);
|
||||
|
||||
#else /* !CONFIG_ACPI */
|
||||
|
||||
#define acpi_lapic 0
|
||||
@@ -121,19 +130,6 @@ extern int acpi_numa;
|
||||
extern int acpi_scan_nodes(unsigned long start, unsigned long end);
|
||||
#define NR_NODE_MEMBLKS (MAX_NUMNODES*2)
|
||||
|
||||
#ifdef CONFIG_ACPI_SLEEP
|
||||
|
||||
/* routines for saving/restoring kernel state */
|
||||
extern int acpi_save_state_mem(void);
|
||||
extern void acpi_restore_state_mem(void);
|
||||
|
||||
extern unsigned long acpi_wakeup_address;
|
||||
|
||||
/* early initialization routine */
|
||||
extern void acpi_reserve_bootmem(void);
|
||||
|
||||
#endif /*CONFIG_ACPI_SLEEP*/
|
||||
|
||||
extern int acpi_disabled;
|
||||
extern int acpi_pci_disabled;
|
||||
|
||||
|
||||
@@ -44,7 +44,6 @@ extern unsigned long saved_context_eflags;
|
||||
|
||||
extern void fix_processor_context(void);
|
||||
|
||||
#ifdef CONFIG_ACPI_SLEEP
|
||||
extern unsigned long saved_rip;
|
||||
extern unsigned long saved_rsp;
|
||||
extern unsigned long saved_rbp;
|
||||
@@ -54,4 +53,3 @@ extern unsigned long saved_rdi;
|
||||
|
||||
/* routines for saving/restoring kernel state */
|
||||
extern int acpi_save_state_mem(void);
|
||||
#endif
|
||||
|
||||
@@ -33,6 +33,7 @@
|
||||
#endif
|
||||
|
||||
#include <linux/list.h>
|
||||
#include <linux/mod_devicetable.h>
|
||||
|
||||
#include <acpi/acpi.h>
|
||||
#include <acpi/acpi_bus.h>
|
||||
|
||||
@@ -159,6 +159,12 @@ struct ap_device_id {
|
||||
|
||||
#define AP_DEVICE_ID_MATCH_DEVICE_TYPE 0x01
|
||||
|
||||
#define ACPI_ID_LEN 9
|
||||
|
||||
struct acpi_device_id {
|
||||
__u8 id[ACPI_ID_LEN];
|
||||
kernel_ulong_t driver_data;
|
||||
};
|
||||
|
||||
#define PNP_ID_LEN 8
|
||||
#define PNP_MAX_DEVICES 8
|
||||
|
||||
@@ -335,6 +335,10 @@ struct pnp_protocol {
|
||||
int (*set)(struct pnp_dev *dev, struct pnp_resource_table *res);
|
||||
int (*disable)(struct pnp_dev *dev);
|
||||
|
||||
/* protocol specific suspend/resume */
|
||||
int (*suspend)(struct pnp_dev *dev, pm_message_t state);
|
||||
int (*resume)(struct pnp_dev *dev);
|
||||
|
||||
/* used by pnp layer only (look but don't touch) */
|
||||
unsigned char number; /* protocol number*/
|
||||
struct device dev; /* link to driver model */
|
||||
|
||||
Reference in New Issue
Block a user