mirror of
https://github.com/adulau/aha.git
synced 2024-12-28 19:56:18 +00:00
pull asus sony thinkpad into release branch
This commit is contained in:
commit
3b6919e536
7 changed files with 39 additions and 12 deletions
|
@ -105,10 +105,10 @@ The version of thinkpad-acpi's sysfs interface is exported by the driver
|
|||
as a driver attribute (see below).
|
||||
|
||||
Sysfs driver attributes are on the driver's sysfs attribute space,
|
||||
for 2.6.20 this is /sys/bus/platform/drivers/thinkpad-acpi/.
|
||||
for 2.6.20 this is /sys/bus/platform/drivers/thinkpad_acpi/.
|
||||
|
||||
Sysfs device attributes are on the driver's sysfs attribute space,
|
||||
for 2.6.20 this is /sys/devices/platform/thinkpad-acpi/.
|
||||
for 2.6.20 this is /sys/devices/platform/thinkpad_acpi/.
|
||||
|
||||
Driver version
|
||||
--------------
|
||||
|
|
|
@ -1192,6 +1192,7 @@ static int asus_hotk_get_info(void)
|
|||
break;
|
||||
default:
|
||||
kfree(model);
|
||||
model = NULL;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1147,10 +1147,15 @@ static int sonypi_acpi_remove(struct acpi_device *device, int type)
|
|||
return 0;
|
||||
}
|
||||
|
||||
const static struct acpi_device_id sonypi_device_ids[] = {
|
||||
{"SNY6001", 0},
|
||||
{"", 0},
|
||||
};
|
||||
|
||||
static struct acpi_driver sonypi_acpi_driver = {
|
||||
.name = "sonypi",
|
||||
.class = "hkey",
|
||||
.ids = "SNY6001",
|
||||
.ids = sonypi_device_ids,
|
||||
.ops = {
|
||||
.add = sonypi_acpi_add,
|
||||
.remove = sonypi_acpi_remove,
|
||||
|
|
|
@ -200,14 +200,22 @@ config THINKPAD_ACPI_BAY
|
|||
config THINKPAD_ACPI_INPUT_ENABLED
|
||||
bool "Enable input layer support by default"
|
||||
depends on THINKPAD_ACPI
|
||||
default y
|
||||
default n
|
||||
---help---
|
||||
Enables hot key handling over the input layer by default. If unset,
|
||||
the driver does not enable any hot key handling by default, and also
|
||||
starts up with a mostly empty keymap.
|
||||
This option enables thinkpad-acpi hot key handling over the input
|
||||
layer at driver load time. When it is unset, the driver does not
|
||||
enable hot key handling by default, and also starts up with a mostly
|
||||
empty keymap.
|
||||
|
||||
If you are not sure, say Y here. Say N to retain the deprecated
|
||||
behavior of ibm-acpi, and thinkpad-acpi for kernels up to 2.6.21.
|
||||
This option should be enabled if you have a new enough HAL or other
|
||||
userspace support that properly handles the thinkpad-acpi event
|
||||
device. It auto-tunes the hot key support to those reported by the
|
||||
firmware and enables it automatically.
|
||||
|
||||
If unsure, say N here to retain the old behaviour of ibm-acpi, and
|
||||
thinkpad-acpi up to kernel 2.6.21: userspace will have to enable and
|
||||
set up the thinkpad-acpi hot key handling using the sysfs interace
|
||||
after loading the driver.
|
||||
|
||||
|
||||
endif # MISC_DEVICES
|
||||
|
|
|
@ -845,7 +845,7 @@ static struct sony_nc_event sony_C_events[] = {
|
|||
};
|
||||
|
||||
/* SNC-only model map */
|
||||
struct dmi_system_id sony_nc_ids[] = {
|
||||
static struct dmi_system_id sony_nc_ids[] = {
|
||||
{
|
||||
.ident = "Sony Vaio FE Series",
|
||||
.callback = sony_nc_C_enable,
|
||||
|
@ -942,6 +942,11 @@ static int sony_nc_resume(struct acpi_device *device)
|
|||
}
|
||||
}
|
||||
|
||||
/* set the last requested brightness level */
|
||||
if (sony_backlight_device &&
|
||||
!sony_backlight_update_status(sony_backlight_device))
|
||||
printk(KERN_WARNING DRV_PFX "unable to restore brightness level");
|
||||
|
||||
/* re-initialize models with specific requirements */
|
||||
dmi_check_system(sony_nc_ids);
|
||||
|
||||
|
|
|
@ -4668,12 +4668,15 @@ static int __init thinkpad_acpi_module_init(void)
|
|||
thinkpad_acpi_module_exit();
|
||||
return ret;
|
||||
}
|
||||
tp_features.platform_drv_registered = 1;
|
||||
|
||||
ret = tpacpi_create_driver_attributes(&tpacpi_pdriver.driver);
|
||||
if (ret) {
|
||||
printk(IBM_ERR "unable to create sysfs driver attributes\n");
|
||||
thinkpad_acpi_module_exit();
|
||||
return ret;
|
||||
}
|
||||
tp_features.platform_drv_attrs_registered = 1;
|
||||
|
||||
|
||||
/* Device initialization */
|
||||
|
@ -4756,8 +4759,11 @@ static void thinkpad_acpi_module_exit(void)
|
|||
if (tpacpi_pdev)
|
||||
platform_device_unregister(tpacpi_pdev);
|
||||
|
||||
tpacpi_remove_driver_attributes(&tpacpi_pdriver.driver);
|
||||
platform_driver_unregister(&tpacpi_pdriver);
|
||||
if (tp_features.platform_drv_attrs_registered)
|
||||
tpacpi_remove_driver_attributes(&tpacpi_pdriver.driver);
|
||||
|
||||
if (tp_features.platform_drv_registered)
|
||||
platform_driver_unregister(&tpacpi_pdriver);
|
||||
|
||||
if (proc_dir)
|
||||
remove_proc_entry(IBM_PROC_DIR, acpi_root_dir);
|
||||
|
|
|
@ -246,6 +246,8 @@ static struct {
|
|||
u16 wan:1;
|
||||
u16 fan_ctrl_status_undef:1;
|
||||
u16 input_device_registered:1;
|
||||
u16 platform_drv_registered:1;
|
||||
u16 platform_drv_attrs_registered:1;
|
||||
} tp_features;
|
||||
|
||||
struct thinkpad_id_data {
|
||||
|
|
Loading…
Reference in a new issue