pull asus sony thinkpad into release branch
This commit is contained in:
commit
3b6919e536
|
@ -105,10 +105,10 @@ The version of thinkpad-acpi's sysfs interface is exported by the driver
|
||||||
as a driver attribute (see below).
|
as a driver attribute (see below).
|
||||||
|
|
||||||
Sysfs driver attributes are on the driver's sysfs attribute space,
|
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,
|
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
|
Driver version
|
||||||
--------------
|
--------------
|
||||||
|
|
|
@ -1192,6 +1192,7 @@ static int asus_hotk_get_info(void)
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
kfree(model);
|
kfree(model);
|
||||||
|
model = NULL;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1147,10 +1147,15 @@ static int sonypi_acpi_remove(struct acpi_device *device, int type)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const static struct acpi_device_id sonypi_device_ids[] = {
|
||||||
|
{"SNY6001", 0},
|
||||||
|
{"", 0},
|
||||||
|
};
|
||||||
|
|
||||||
static struct acpi_driver sonypi_acpi_driver = {
|
static struct acpi_driver sonypi_acpi_driver = {
|
||||||
.name = "sonypi",
|
.name = "sonypi",
|
||||||
.class = "hkey",
|
.class = "hkey",
|
||||||
.ids = "SNY6001",
|
.ids = sonypi_device_ids,
|
||||||
.ops = {
|
.ops = {
|
||||||
.add = sonypi_acpi_add,
|
.add = sonypi_acpi_add,
|
||||||
.remove = sonypi_acpi_remove,
|
.remove = sonypi_acpi_remove,
|
||||||
|
|
|
@ -200,14 +200,22 @@ config THINKPAD_ACPI_BAY
|
||||||
config THINKPAD_ACPI_INPUT_ENABLED
|
config THINKPAD_ACPI_INPUT_ENABLED
|
||||||
bool "Enable input layer support by default"
|
bool "Enable input layer support by default"
|
||||||
depends on THINKPAD_ACPI
|
depends on THINKPAD_ACPI
|
||||||
default y
|
default n
|
||||||
---help---
|
---help---
|
||||||
Enables hot key handling over the input layer by default. If unset,
|
This option enables thinkpad-acpi hot key handling over the input
|
||||||
the driver does not enable any hot key handling by default, and also
|
layer at driver load time. When it is unset, the driver does not
|
||||||
starts up with a mostly empty keymap.
|
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
|
This option should be enabled if you have a new enough HAL or other
|
||||||
behavior of ibm-acpi, and thinkpad-acpi for kernels up to 2.6.21.
|
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
|
endif # MISC_DEVICES
|
||||||
|
|
|
@ -845,7 +845,7 @@ static struct sony_nc_event sony_C_events[] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
/* SNC-only model map */
|
/* SNC-only model map */
|
||||||
struct dmi_system_id sony_nc_ids[] = {
|
static struct dmi_system_id sony_nc_ids[] = {
|
||||||
{
|
{
|
||||||
.ident = "Sony Vaio FE Series",
|
.ident = "Sony Vaio FE Series",
|
||||||
.callback = sony_nc_C_enable,
|
.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 */
|
/* re-initialize models with specific requirements */
|
||||||
dmi_check_system(sony_nc_ids);
|
dmi_check_system(sony_nc_ids);
|
||||||
|
|
||||||
|
|
|
@ -4668,12 +4668,15 @@ static int __init thinkpad_acpi_module_init(void)
|
||||||
thinkpad_acpi_module_exit();
|
thinkpad_acpi_module_exit();
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
tp_features.platform_drv_registered = 1;
|
||||||
|
|
||||||
ret = tpacpi_create_driver_attributes(&tpacpi_pdriver.driver);
|
ret = tpacpi_create_driver_attributes(&tpacpi_pdriver.driver);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
printk(IBM_ERR "unable to create sysfs driver attributes\n");
|
printk(IBM_ERR "unable to create sysfs driver attributes\n");
|
||||||
thinkpad_acpi_module_exit();
|
thinkpad_acpi_module_exit();
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
tp_features.platform_drv_attrs_registered = 1;
|
||||||
|
|
||||||
|
|
||||||
/* Device initialization */
|
/* Device initialization */
|
||||||
|
@ -4756,8 +4759,11 @@ static void thinkpad_acpi_module_exit(void)
|
||||||
if (tpacpi_pdev)
|
if (tpacpi_pdev)
|
||||||
platform_device_unregister(tpacpi_pdev);
|
platform_device_unregister(tpacpi_pdev);
|
||||||
|
|
||||||
tpacpi_remove_driver_attributes(&tpacpi_pdriver.driver);
|
if (tp_features.platform_drv_attrs_registered)
|
||||||
platform_driver_unregister(&tpacpi_pdriver);
|
tpacpi_remove_driver_attributes(&tpacpi_pdriver.driver);
|
||||||
|
|
||||||
|
if (tp_features.platform_drv_registered)
|
||||||
|
platform_driver_unregister(&tpacpi_pdriver);
|
||||||
|
|
||||||
if (proc_dir)
|
if (proc_dir)
|
||||||
remove_proc_entry(IBM_PROC_DIR, acpi_root_dir);
|
remove_proc_entry(IBM_PROC_DIR, acpi_root_dir);
|
||||||
|
|
|
@ -246,6 +246,8 @@ static struct {
|
||||||
u16 wan:1;
|
u16 wan:1;
|
||||||
u16 fan_ctrl_status_undef:1;
|
u16 fan_ctrl_status_undef:1;
|
||||||
u16 input_device_registered:1;
|
u16 input_device_registered:1;
|
||||||
|
u16 platform_drv_registered:1;
|
||||||
|
u16 platform_drv_attrs_registered:1;
|
||||||
} tp_features;
|
} tp_features;
|
||||||
|
|
||||||
struct thinkpad_id_data {
|
struct thinkpad_id_data {
|
||||||
|
|
Loading…
Reference in New Issue