mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 11:41:38 -04:00
Merge back earlier 'acpi-assorted' material
This commit is contained in:
commit
f3ce717e60
32 changed files with 60 additions and 450 deletions
|
|
@ -91,24 +91,6 @@ config ACPI_EC_DEBUGFS
|
|||
Thus this option is a debug option that helps to write ACPI drivers
|
||||
and can be used to identify ACPI code or EC firmware bugs.
|
||||
|
||||
config ACPI_PROC_EVENT
|
||||
bool "Deprecated /proc/acpi/event support"
|
||||
depends on PROC_FS
|
||||
default y
|
||||
help
|
||||
A user-space daemon, acpid, typically reads /proc/acpi/event
|
||||
and handles all ACPI-generated events.
|
||||
|
||||
These events are now delivered to user-space either
|
||||
via the input layer or as netlink events.
|
||||
|
||||
This build option enables the old code for legacy
|
||||
user-space implementation. After some time, this will
|
||||
be moved under CONFIG_ACPI_PROCFS, and then deleted.
|
||||
|
||||
Say Y here to retain the old behaviour. Say N if your
|
||||
user-space is newer than kernel 2.6.23 (September 2007).
|
||||
|
||||
config ACPI_AC
|
||||
tristate "AC Adapter"
|
||||
depends on X86
|
||||
|
|
|
|||
|
|
@ -267,7 +267,6 @@ static void acpi_ac_notify(struct acpi_device *device, u32 event)
|
|||
msleep(ac_sleep_before_get_state_ms);
|
||||
|
||||
acpi_ac_get_state(ac);
|
||||
acpi_bus_generate_proc_event(device, event, (u32) ac->state);
|
||||
acpi_bus_generate_netlink_event(device->pnp.device_class,
|
||||
dev_name(&device->dev), event,
|
||||
(u32) ac->state);
|
||||
|
|
|
|||
|
|
@ -452,7 +452,6 @@ static void acpi_pad_notify(acpi_handle handle, u32 event,
|
|||
switch (event) {
|
||||
case ACPI_PROCESSOR_AGGREGATOR_NOTIFY:
|
||||
acpi_pad_handle_notify(handle);
|
||||
acpi_bus_generate_proc_event(device, event, 0);
|
||||
acpi_bus_generate_netlink_event(device->pnp.device_class,
|
||||
dev_name(&device->dev), event, 0);
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ int acpi_create_platform_device(struct acpi_device *adev,
|
|||
struct platform_device_info pdevinfo;
|
||||
struct resource_list_entry *rentry;
|
||||
struct list_head resource_list;
|
||||
struct resource *resources;
|
||||
struct resource *resources = NULL;
|
||||
int count;
|
||||
|
||||
/* If the ACPI node already has a physical device attached, skip it. */
|
||||
|
|
@ -61,20 +61,22 @@ int acpi_create_platform_device(struct acpi_device *adev,
|
|||
|
||||
INIT_LIST_HEAD(&resource_list);
|
||||
count = acpi_dev_get_resources(adev, &resource_list, NULL, NULL);
|
||||
if (count <= 0)
|
||||
if (count < 0) {
|
||||
return 0;
|
||||
} else if (count > 0) {
|
||||
resources = kmalloc(count * sizeof(struct resource),
|
||||
GFP_KERNEL);
|
||||
if (!resources) {
|
||||
dev_err(&adev->dev, "No memory for resources\n");
|
||||
acpi_dev_free_resource_list(&resource_list);
|
||||
return -ENOMEM;
|
||||
}
|
||||
count = 0;
|
||||
list_for_each_entry(rentry, &resource_list, node)
|
||||
resources[count++] = rentry->res;
|
||||
|
||||
resources = kmalloc(count * sizeof(struct resource), GFP_KERNEL);
|
||||
if (!resources) {
|
||||
dev_err(&adev->dev, "No memory for resources\n");
|
||||
acpi_dev_free_resource_list(&resource_list);
|
||||
return -ENOMEM;
|
||||
}
|
||||
count = 0;
|
||||
list_for_each_entry(rentry, &resource_list, node)
|
||||
resources[count++] = rentry->res;
|
||||
|
||||
acpi_dev_free_resource_list(&resource_list);
|
||||
|
||||
memset(&pdevinfo, 0, sizeof(pdevinfo));
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -1036,8 +1036,6 @@ static void acpi_battery_notify(struct acpi_device *device, u32 event)
|
|||
if (event == ACPI_BATTERY_NOTIFY_INFO)
|
||||
acpi_battery_refresh(battery);
|
||||
acpi_battery_update(battery);
|
||||
acpi_bus_generate_proc_event(device, event,
|
||||
acpi_battery_present(battery));
|
||||
acpi_bus_generate_netlink_event(device->pnp.device_class,
|
||||
dev_name(&device->dev), event,
|
||||
acpi_battery_present(battery));
|
||||
|
|
|
|||
|
|
@ -89,27 +89,6 @@ static struct dmi_system_id dsdt_dmi_table[] __initdata = {
|
|||
Device Management
|
||||
-------------------------------------------------------------------------- */
|
||||
|
||||
int acpi_bus_get_device(acpi_handle handle, struct acpi_device **device)
|
||||
{
|
||||
acpi_status status;
|
||||
|
||||
if (!device)
|
||||
return -EINVAL;
|
||||
|
||||
/* TBD: Support fixed-feature devices */
|
||||
|
||||
status = acpi_get_data(handle, acpi_bus_data_handler, (void **)device);
|
||||
if (ACPI_FAILURE(status) || !*device) {
|
||||
ACPI_DEBUG_PRINT((ACPI_DB_INFO, "No context for object [%p]\n",
|
||||
handle));
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
EXPORT_SYMBOL(acpi_bus_get_device);
|
||||
|
||||
acpi_status acpi_bus_get_status_handle(acpi_handle handle,
|
||||
unsigned long long *sta)
|
||||
{
|
||||
|
|
@ -345,104 +324,6 @@ static void acpi_bus_osc_support(void)
|
|||
/* do we need to check other returned cap? Sounds no */
|
||||
}
|
||||
|
||||
/* --------------------------------------------------------------------------
|
||||
Event Management
|
||||
-------------------------------------------------------------------------- */
|
||||
|
||||
#ifdef CONFIG_ACPI_PROC_EVENT
|
||||
static DEFINE_SPINLOCK(acpi_bus_event_lock);
|
||||
|
||||
LIST_HEAD(acpi_bus_event_list);
|
||||
DECLARE_WAIT_QUEUE_HEAD(acpi_bus_event_queue);
|
||||
|
||||
extern int event_is_open;
|
||||
|
||||
int acpi_bus_generate_proc_event4(const char *device_class, const char *bus_id, u8 type, int data)
|
||||
{
|
||||
struct acpi_bus_event *event;
|
||||
unsigned long flags;
|
||||
|
||||
/* drop event on the floor if no one's listening */
|
||||
if (!event_is_open)
|
||||
return 0;
|
||||
|
||||
event = kzalloc(sizeof(struct acpi_bus_event), GFP_ATOMIC);
|
||||
if (!event)
|
||||
return -ENOMEM;
|
||||
|
||||
strcpy(event->device_class, device_class);
|
||||
strcpy(event->bus_id, bus_id);
|
||||
event->type = type;
|
||||
event->data = data;
|
||||
|
||||
spin_lock_irqsave(&acpi_bus_event_lock, flags);
|
||||
list_add_tail(&event->node, &acpi_bus_event_list);
|
||||
spin_unlock_irqrestore(&acpi_bus_event_lock, flags);
|
||||
|
||||
wake_up_interruptible(&acpi_bus_event_queue);
|
||||
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
EXPORT_SYMBOL_GPL(acpi_bus_generate_proc_event4);
|
||||
|
||||
int acpi_bus_generate_proc_event(struct acpi_device *device, u8 type, int data)
|
||||
{
|
||||
if (!device)
|
||||
return -EINVAL;
|
||||
return acpi_bus_generate_proc_event4(device->pnp.device_class,
|
||||
device->pnp.bus_id, type, data);
|
||||
}
|
||||
|
||||
EXPORT_SYMBOL(acpi_bus_generate_proc_event);
|
||||
|
||||
int acpi_bus_receive_event(struct acpi_bus_event *event)
|
||||
{
|
||||
unsigned long flags;
|
||||
struct acpi_bus_event *entry = NULL;
|
||||
|
||||
DECLARE_WAITQUEUE(wait, current);
|
||||
|
||||
|
||||
if (!event)
|
||||
return -EINVAL;
|
||||
|
||||
if (list_empty(&acpi_bus_event_list)) {
|
||||
|
||||
set_current_state(TASK_INTERRUPTIBLE);
|
||||
add_wait_queue(&acpi_bus_event_queue, &wait);
|
||||
|
||||
if (list_empty(&acpi_bus_event_list))
|
||||
schedule();
|
||||
|
||||
remove_wait_queue(&acpi_bus_event_queue, &wait);
|
||||
set_current_state(TASK_RUNNING);
|
||||
|
||||
if (signal_pending(current))
|
||||
return -ERESTARTSYS;
|
||||
}
|
||||
|
||||
spin_lock_irqsave(&acpi_bus_event_lock, flags);
|
||||
if (!list_empty(&acpi_bus_event_list)) {
|
||||
entry = list_entry(acpi_bus_event_list.next,
|
||||
struct acpi_bus_event, node);
|
||||
list_del(&entry->node);
|
||||
}
|
||||
spin_unlock_irqrestore(&acpi_bus_event_lock, flags);
|
||||
|
||||
if (!entry)
|
||||
return -ENODEV;
|
||||
|
||||
memcpy(event, entry, sizeof(struct acpi_bus_event));
|
||||
|
||||
kfree(entry);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif /* CONFIG_ACPI_PROC_EVENT */
|
||||
|
||||
/* --------------------------------------------------------------------------
|
||||
Notification Handling
|
||||
-------------------------------------------------------------------------- */
|
||||
|
|
@ -715,7 +596,6 @@ static int __init acpi_bus_init(void)
|
|||
{
|
||||
int result;
|
||||
acpi_status status;
|
||||
extern acpi_status acpi_os_initialize1(void);
|
||||
|
||||
acpi_os_initialize1();
|
||||
|
||||
|
|
|
|||
|
|
@ -303,8 +303,6 @@ static void acpi_button_notify(struct acpi_device *device, u32 event)
|
|||
|
||||
pm_wakeup_event(&device->dev, 0);
|
||||
}
|
||||
|
||||
acpi_bus_generate_proc_event(device, event, ++button->pushed);
|
||||
break;
|
||||
default:
|
||||
ACPI_DEBUG_PRINT((ACPI_DB_INFO,
|
||||
|
|
|
|||
|
|
@ -1055,7 +1055,7 @@ err_unregister:
|
|||
*
|
||||
* This is called by acpi_walk_namespace to look for dock stations and bays.
|
||||
*/
|
||||
static __init acpi_status
|
||||
static acpi_status __init
|
||||
find_dock_and_bay(acpi_handle handle, u32 lvl, void *context, void **rv)
|
||||
{
|
||||
if (is_dock(handle) || is_ejectable_bay(handle))
|
||||
|
|
|
|||
|
|
@ -948,7 +948,7 @@ static int ec_enlarge_storm_threshold(const struct dmi_system_id *id)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static struct dmi_system_id __initdata ec_dmi_table[] = {
|
||||
static struct dmi_system_id ec_dmi_table[] __initdata = {
|
||||
{
|
||||
ec_skip_dsdt_scan, "Compal JFL92", {
|
||||
DMI_MATCH(DMI_BIOS_VENDOR, "COMPAL"),
|
||||
|
|
|
|||
|
|
@ -21,100 +21,6 @@
|
|||
#define _COMPONENT ACPI_SYSTEM_COMPONENT
|
||||
ACPI_MODULE_NAME("event");
|
||||
|
||||
#ifdef CONFIG_ACPI_PROC_EVENT
|
||||
/* Global vars for handling event proc entry */
|
||||
static DEFINE_SPINLOCK(acpi_system_event_lock);
|
||||
int event_is_open = 0;
|
||||
extern struct list_head acpi_bus_event_list;
|
||||
extern wait_queue_head_t acpi_bus_event_queue;
|
||||
|
||||
static int acpi_system_open_event(struct inode *inode, struct file *file)
|
||||
{
|
||||
spin_lock_irq(&acpi_system_event_lock);
|
||||
|
||||
if (event_is_open)
|
||||
goto out_busy;
|
||||
|
||||
event_is_open = 1;
|
||||
|
||||
spin_unlock_irq(&acpi_system_event_lock);
|
||||
return 0;
|
||||
|
||||
out_busy:
|
||||
spin_unlock_irq(&acpi_system_event_lock);
|
||||
return -EBUSY;
|
||||
}
|
||||
|
||||
static ssize_t
|
||||
acpi_system_read_event(struct file *file, char __user * buffer, size_t count,
|
||||
loff_t * ppos)
|
||||
{
|
||||
int result = 0;
|
||||
struct acpi_bus_event event;
|
||||
static char str[ACPI_MAX_STRING];
|
||||
static int chars_remaining = 0;
|
||||
static char *ptr;
|
||||
|
||||
if (!chars_remaining) {
|
||||
memset(&event, 0, sizeof(struct acpi_bus_event));
|
||||
|
||||
if ((file->f_flags & O_NONBLOCK)
|
||||
&& (list_empty(&acpi_bus_event_list)))
|
||||
return -EAGAIN;
|
||||
|
||||
result = acpi_bus_receive_event(&event);
|
||||
if (result)
|
||||
return result;
|
||||
|
||||
chars_remaining = sprintf(str, "%s %s %08x %08x\n",
|
||||
event.device_class ? event.
|
||||
device_class : "<unknown>",
|
||||
event.bus_id ? event.
|
||||
bus_id : "<unknown>", event.type,
|
||||
event.data);
|
||||
ptr = str;
|
||||
}
|
||||
|
||||
if (chars_remaining < count) {
|
||||
count = chars_remaining;
|
||||
}
|
||||
|
||||
if (copy_to_user(buffer, ptr, count))
|
||||
return -EFAULT;
|
||||
|
||||
*ppos += count;
|
||||
chars_remaining -= count;
|
||||
ptr += count;
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
static int acpi_system_close_event(struct inode *inode, struct file *file)
|
||||
{
|
||||
spin_lock_irq(&acpi_system_event_lock);
|
||||
event_is_open = 0;
|
||||
spin_unlock_irq(&acpi_system_event_lock);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static unsigned int acpi_system_poll_event(struct file *file, poll_table * wait)
|
||||
{
|
||||
poll_wait(file, &acpi_bus_event_queue, wait);
|
||||
if (!list_empty(&acpi_bus_event_list))
|
||||
return POLLIN | POLLRDNORM;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const struct file_operations acpi_system_event_ops = {
|
||||
.owner = THIS_MODULE,
|
||||
.open = acpi_system_open_event,
|
||||
.read = acpi_system_read_event,
|
||||
.release = acpi_system_close_event,
|
||||
.poll = acpi_system_poll_event,
|
||||
.llseek = default_llseek,
|
||||
};
|
||||
#endif /* CONFIG_ACPI_PROC_EVENT */
|
||||
|
||||
/* ACPI notifier chain */
|
||||
static BLOCKING_NOTIFIER_HEAD(acpi_chain_head);
|
||||
|
||||
|
|
@ -280,9 +186,6 @@ static int acpi_event_genetlink_init(void)
|
|||
|
||||
static int __init acpi_event_init(void)
|
||||
{
|
||||
#ifdef CONFIG_ACPI_PROC_EVENT
|
||||
struct proc_dir_entry *entry;
|
||||
#endif
|
||||
int error = 0;
|
||||
|
||||
if (acpi_disabled)
|
||||
|
|
@ -293,15 +196,6 @@ static int __init acpi_event_init(void)
|
|||
if (error)
|
||||
printk(KERN_WARNING PREFIX
|
||||
"Failed to create genetlink family for ACPI event\n");
|
||||
|
||||
#ifdef CONFIG_ACPI_PROC_EVENT
|
||||
/* 'event' [R] */
|
||||
entry = proc_create("event", S_IRUSR, acpi_root_dir,
|
||||
&acpi_system_event_ops);
|
||||
if (!entry)
|
||||
return -ENODEV;
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@
|
|||
|
||||
#define PREFIX "ACPI: "
|
||||
|
||||
acpi_status acpi_os_initialize1(void);
|
||||
int init_acpi_device_notify(void);
|
||||
int acpi_scan_init(void);
|
||||
#ifdef CONFIG_ACPI_PCI_SLOT
|
||||
|
|
|
|||
|
|
@ -159,7 +159,7 @@ acpi_table_print_srat_entry(struct acpi_subtable_header *header)
|
|||
* distance than the others.
|
||||
* Do some quick checks here and only use the SLIT if it passes.
|
||||
*/
|
||||
static __init int slit_valid(struct acpi_table_slit *slit)
|
||||
static int __init slit_valid(struct acpi_table_slit *slit)
|
||||
{
|
||||
int i, j;
|
||||
int d = slit->locality_count;
|
||||
|
|
|
|||
|
|
@ -52,6 +52,7 @@
|
|||
#include <acpi/acpi.h>
|
||||
#include <acpi/acpi_bus.h>
|
||||
#include <acpi/processor.h>
|
||||
#include "internal.h"
|
||||
|
||||
#define _COMPONENT ACPI_OS_SERVICES
|
||||
ACPI_MODULE_NAME("osl");
|
||||
|
|
@ -1351,8 +1352,8 @@ struct osi_setup_entry {
|
|||
bool enable;
|
||||
};
|
||||
|
||||
static struct osi_setup_entry __initdata
|
||||
osi_setup_entries[OSI_STRING_ENTRIES_MAX] = {
|
||||
static struct osi_setup_entry
|
||||
osi_setup_entries[OSI_STRING_ENTRIES_MAX] __initdata = {
|
||||
{"Module Device", true},
|
||||
{"Processor Device", true},
|
||||
{"3.0 _SCP Extensions", true},
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ static int __init set_no_mwait(const struct dmi_system_id *id)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static struct dmi_system_id __initdata processor_idle_dmi_table[] = {
|
||||
static struct dmi_system_id processor_idle_dmi_table[] __initdata = {
|
||||
{
|
||||
set_no_mwait, "Extensa 5220", {
|
||||
DMI_MATCH(DMI_BIOS_VENDOR, "Phoenix Technologies LTD"),
|
||||
|
|
|
|||
|
|
@ -91,21 +91,17 @@ static void acpi_processor_notify(acpi_handle handle, u32 event, void *data)
|
|||
acpi_processor_ppc_has_changed(pr, 1);
|
||||
if (saved == pr->performance_platform_limit)
|
||||
break;
|
||||
acpi_bus_generate_proc_event(device, event,
|
||||
pr->performance_platform_limit);
|
||||
acpi_bus_generate_netlink_event(device->pnp.device_class,
|
||||
dev_name(&device->dev), event,
|
||||
pr->performance_platform_limit);
|
||||
break;
|
||||
case ACPI_PROCESSOR_NOTIFY_POWER:
|
||||
acpi_processor_cst_has_changed(pr);
|
||||
acpi_bus_generate_proc_event(device, event, 0);
|
||||
acpi_bus_generate_netlink_event(device->pnp.device_class,
|
||||
dev_name(&device->dev), event, 0);
|
||||
break;
|
||||
case ACPI_PROCESSOR_NOTIFY_THROTTLING:
|
||||
acpi_processor_tstate_has_changed(pr);
|
||||
acpi_bus_generate_proc_event(device, event, 0);
|
||||
acpi_bus_generate_netlink_event(device->pnp.device_class,
|
||||
dev_name(&device->dev), event, 0);
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -873,14 +873,9 @@ static void acpi_sbs_callback(void *context)
|
|||
u8 saved_charger_state = sbs->charger_present;
|
||||
u8 saved_battery_state;
|
||||
acpi_ac_get_present(sbs);
|
||||
if (sbs->charger_present != saved_charger_state) {
|
||||
#ifdef CONFIG_ACPI_PROC_EVENT
|
||||
acpi_bus_generate_proc_event4(ACPI_AC_CLASS, ACPI_AC_DIR_NAME,
|
||||
ACPI_SBS_NOTIFY_STATUS,
|
||||
sbs->charger_present);
|
||||
#endif
|
||||
if (sbs->charger_present != saved_charger_state)
|
||||
kobject_uevent(&sbs->charger.dev->kobj, KOBJ_CHANGE);
|
||||
}
|
||||
|
||||
if (sbs->manager_present) {
|
||||
for (id = 0; id < MAX_SBS_BAT; ++id) {
|
||||
if (!(sbs->batteries_supported & (1 << id)))
|
||||
|
|
@ -890,12 +885,6 @@ static void acpi_sbs_callback(void *context)
|
|||
acpi_battery_read(bat);
|
||||
if (saved_battery_state == bat->present)
|
||||
continue;
|
||||
#ifdef CONFIG_ACPI_PROC_EVENT
|
||||
acpi_bus_generate_proc_event4(ACPI_BATTERY_CLASS,
|
||||
bat->name,
|
||||
ACPI_SBS_NOTIFY_STATUS,
|
||||
bat->present);
|
||||
#endif
|
||||
kobject_uevent(&bat->bat.dev->kobj, KOBJ_CHANGE);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -999,6 +999,28 @@ struct bus_type acpi_bus_type = {
|
|||
.uevent = acpi_device_uevent,
|
||||
};
|
||||
|
||||
static void acpi_bus_data_handler(acpi_handle handle, void *context)
|
||||
{
|
||||
/* Intentionally empty. */
|
||||
}
|
||||
|
||||
int acpi_bus_get_device(acpi_handle handle, struct acpi_device **device)
|
||||
{
|
||||
acpi_status status;
|
||||
|
||||
if (!device)
|
||||
return -EINVAL;
|
||||
|
||||
status = acpi_get_data(handle, acpi_bus_data_handler, (void **)device);
|
||||
if (ACPI_FAILURE(status) || !*device) {
|
||||
ACPI_DEBUG_PRINT((ACPI_DB_INFO, "No context for object [%p]\n",
|
||||
handle));
|
||||
return -ENODEV;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(acpi_bus_get_device);
|
||||
|
||||
int acpi_device_add(struct acpi_device *device,
|
||||
void (*release)(struct device *))
|
||||
{
|
||||
|
|
@ -1210,14 +1232,6 @@ acpi_bus_get_ejd(acpi_handle handle, acpi_handle *ejd)
|
|||
}
|
||||
EXPORT_SYMBOL_GPL(acpi_bus_get_ejd);
|
||||
|
||||
void acpi_bus_data_handler(acpi_handle handle, void *context)
|
||||
{
|
||||
|
||||
/* TBD */
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
static int acpi_bus_extract_wakeup_device_power_package(acpi_handle handle,
|
||||
struct acpi_device_wakeup *wakeup)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -141,7 +141,7 @@ static int __init init_nvs_nosave(const struct dmi_system_id *d)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static struct dmi_system_id __initdata acpisleep_dmi_table[] = {
|
||||
static struct dmi_system_id acpisleep_dmi_table[] __initdata = {
|
||||
{
|
||||
.callback = init_old_suspend_ordering,
|
||||
.ident = "Abit KN9 (nForce4 variant)",
|
||||
|
|
|
|||
|
|
@ -769,7 +769,6 @@ static int thermal_notify(struct thermal_zone_device *thermal, int trip,
|
|||
else
|
||||
return 0;
|
||||
|
||||
acpi_bus_generate_proc_event(tz->device, type, 1);
|
||||
acpi_bus_generate_netlink_event(tz->device->pnp.device_class,
|
||||
dev_name(&tz->device->dev), type, 1);
|
||||
|
||||
|
|
@ -980,14 +979,12 @@ static void acpi_thermal_notify(struct acpi_device *device, u32 event)
|
|||
case ACPI_THERMAL_NOTIFY_THRESHOLDS:
|
||||
acpi_thermal_trips_update(tz, ACPI_TRIPS_REFRESH_THRESHOLDS);
|
||||
acpi_thermal_check(tz);
|
||||
acpi_bus_generate_proc_event(device, event, 0);
|
||||
acpi_bus_generate_netlink_event(device->pnp.device_class,
|
||||
dev_name(&device->dev), event, 0);
|
||||
break;
|
||||
case ACPI_THERMAL_NOTIFY_DEVICES:
|
||||
acpi_thermal_trips_update(tz, ACPI_TRIPS_REFRESH_DEVICES);
|
||||
acpi_thermal_check(tz);
|
||||
acpi_bus_generate_proc_event(device, event, 0);
|
||||
acpi_bus_generate_netlink_event(device->pnp.device_class,
|
||||
dev_name(&device->dev), event, 0);
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -1577,7 +1577,6 @@ static void acpi_video_bus_notify(struct acpi_device *device, u32 event)
|
|||
switch (event) {
|
||||
case ACPI_VIDEO_NOTIFY_SWITCH: /* User requested a switch,
|
||||
* most likely via hotkey. */
|
||||
acpi_bus_generate_proc_event(device, event, 0);
|
||||
keycode = KEY_SWITCHVIDEOMODE;
|
||||
break;
|
||||
|
||||
|
|
@ -1585,20 +1584,16 @@ static void acpi_video_bus_notify(struct acpi_device *device, u32 event)
|
|||
* connector. */
|
||||
acpi_video_device_enumerate(video);
|
||||
acpi_video_device_rebind(video);
|
||||
acpi_bus_generate_proc_event(device, event, 0);
|
||||
keycode = KEY_SWITCHVIDEOMODE;
|
||||
break;
|
||||
|
||||
case ACPI_VIDEO_NOTIFY_CYCLE: /* Cycle Display output hotkey pressed. */
|
||||
acpi_bus_generate_proc_event(device, event, 0);
|
||||
keycode = KEY_SWITCHVIDEOMODE;
|
||||
break;
|
||||
case ACPI_VIDEO_NOTIFY_NEXT_OUTPUT: /* Next Display output hotkey pressed. */
|
||||
acpi_bus_generate_proc_event(device, event, 0);
|
||||
keycode = KEY_VIDEO_NEXT;
|
||||
break;
|
||||
case ACPI_VIDEO_NOTIFY_PREV_OUTPUT: /* previous Display output hotkey pressed. */
|
||||
acpi_bus_generate_proc_event(device, event, 0);
|
||||
keycode = KEY_VIDEO_PREV;
|
||||
break;
|
||||
|
||||
|
|
@ -1641,31 +1636,26 @@ static void acpi_video_device_notify(acpi_handle handle, u32 event, void *data)
|
|||
case ACPI_VIDEO_NOTIFY_CYCLE_BRIGHTNESS: /* Cycle brightness */
|
||||
if (brightness_switch_enabled)
|
||||
acpi_video_switch_brightness(video_device, event);
|
||||
acpi_bus_generate_proc_event(device, event, 0);
|
||||
keycode = KEY_BRIGHTNESS_CYCLE;
|
||||
break;
|
||||
case ACPI_VIDEO_NOTIFY_INC_BRIGHTNESS: /* Increase brightness */
|
||||
if (brightness_switch_enabled)
|
||||
acpi_video_switch_brightness(video_device, event);
|
||||
acpi_bus_generate_proc_event(device, event, 0);
|
||||
keycode = KEY_BRIGHTNESSUP;
|
||||
break;
|
||||
case ACPI_VIDEO_NOTIFY_DEC_BRIGHTNESS: /* Decrease brightness */
|
||||
if (brightness_switch_enabled)
|
||||
acpi_video_switch_brightness(video_device, event);
|
||||
acpi_bus_generate_proc_event(device, event, 0);
|
||||
keycode = KEY_BRIGHTNESSDOWN;
|
||||
break;
|
||||
case ACPI_VIDEO_NOTIFY_ZERO_BRIGHTNESS: /* zero brightness */
|
||||
if (brightness_switch_enabled)
|
||||
acpi_video_switch_brightness(video_device, event);
|
||||
acpi_bus_generate_proc_event(device, event, 0);
|
||||
keycode = KEY_BRIGHTNESS_ZERO;
|
||||
break;
|
||||
case ACPI_VIDEO_NOTIFY_DISPLAY_OFF: /* display device off */
|
||||
if (brightness_switch_enabled)
|
||||
acpi_video_switch_brightness(video_device, event);
|
||||
acpi_bus_generate_proc_event(device, event, 0);
|
||||
keycode = KEY_DISPLAY_OFF;
|
||||
break;
|
||||
default:
|
||||
|
|
|
|||
Loading…
Reference in a new issue