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: acerhdf: return temperature in milidegree instead of degree thinkpad-acpi: fix detection of old ThinkPads thinkpad-acpi: fix sign of ERESTARTSYS return ACPI: Add Thinkpad T400, T500 to OSI(Linux) white-list ACPICA: Silence the warning about _BIF returning the buffer ACPI: DMI init_set_sci_en_on_resume for HP-Compaq C700
This commit is contained in:
commit
0bb3246265
5 changed files with 53 additions and 15 deletions
|
@ -203,8 +203,9 @@ static const union acpi_predefined_info predefined_names[] =
|
|||
{{"_BCT", 1, ACPI_RTYPE_INTEGER}},
|
||||
{{"_BDN", 0, ACPI_RTYPE_INTEGER}},
|
||||
{{"_BFS", 1, 0}},
|
||||
{{"_BIF", 0, ACPI_RTYPE_PACKAGE}}, /* Fixed-length (9 Int),(4 Str) */
|
||||
{{{ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 9, ACPI_RTYPE_STRING}, 4,0}},
|
||||
{{"_BIF", 0, ACPI_RTYPE_PACKAGE} }, /* Fixed-length (9 Int),(4 Str/Buf) */
|
||||
{{{ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 9,
|
||||
ACPI_RTYPE_STRING | ACPI_RTYPE_BUFFER}, 4, 0} },
|
||||
|
||||
{{"_BIX", 0, ACPI_RTYPE_PACKAGE}}, /* Fixed-length (16 Int),(4 Str) */
|
||||
{{{ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 16, ACPI_RTYPE_STRING}, 4,
|
||||
|
|
|
@ -224,6 +224,7 @@ static struct dmi_system_id acpi_osi_dmi_table[] __initdata = {
|
|||
* _OSI(Linux) helps sound
|
||||
* DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad R61"),
|
||||
* DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad T61"),
|
||||
* T400, T500
|
||||
* _OSI(Linux) has Linux specific hooks
|
||||
* DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad X61"),
|
||||
* _OSI(Linux) is a NOP:
|
||||
|
@ -254,6 +255,22 @@ static struct dmi_system_id acpi_osi_dmi_table[] __initdata = {
|
|||
DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad X61"),
|
||||
},
|
||||
},
|
||||
{
|
||||
.callback = dmi_enable_osi_linux,
|
||||
.ident = "Lenovo ThinkPad T400",
|
||||
.matches = {
|
||||
DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
|
||||
DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad T400"),
|
||||
},
|
||||
},
|
||||
{
|
||||
.callback = dmi_enable_osi_linux,
|
||||
.ident = "Lenovo ThinkPad T500",
|
||||
.matches = {
|
||||
DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
|
||||
DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad T500"),
|
||||
},
|
||||
},
|
||||
{}
|
||||
};
|
||||
|
||||
|
|
|
@ -430,6 +430,14 @@ static struct dmi_system_id __initdata acpisleep_dmi_table[] = {
|
|||
},
|
||||
{
|
||||
.callback = init_set_sci_en_on_resume,
|
||||
.ident = "Hewlett-Packard Compaq Presario C700 Notebook PC",
|
||||
.matches = {
|
||||
DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
|
||||
DMI_MATCH(DMI_PRODUCT_NAME, "Compaq Presario C700 Notebook PC"),
|
||||
},
|
||||
},
|
||||
{
|
||||
.callback = init_set_sci_en_on_resume,
|
||||
.ident = "Hewlett-Packard Compaq Presario CQ40 Notebook PC",
|
||||
.matches = {
|
||||
DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
|
||||
|
|
|
@ -52,7 +52,7 @@
|
|||
*/
|
||||
#undef START_IN_KERNEL_MODE
|
||||
|
||||
#define DRV_VER "0.5.17"
|
||||
#define DRV_VER "0.5.18"
|
||||
|
||||
/*
|
||||
* According to the Atom N270 datasheet,
|
||||
|
@ -61,7 +61,7 @@
|
|||
* measured by the on-die thermal monitor are within 0 <= Tj <= 90. So,
|
||||
* assume 89°C is critical temperature.
|
||||
*/
|
||||
#define ACERHDF_TEMP_CRIT 89
|
||||
#define ACERHDF_TEMP_CRIT 89000
|
||||
#define ACERHDF_FAN_OFF 0
|
||||
#define ACERHDF_FAN_AUTO 1
|
||||
|
||||
|
@ -69,7 +69,7 @@
|
|||
* No matter what value the user puts into the fanon variable, turn on the fan
|
||||
* at 80 degree Celsius to prevent hardware damage
|
||||
*/
|
||||
#define ACERHDF_MAX_FANON 80
|
||||
#define ACERHDF_MAX_FANON 80000
|
||||
|
||||
/*
|
||||
* Maximum interval between two temperature checks is 15 seconds, as the die
|
||||
|
@ -85,8 +85,8 @@ static int kernelmode;
|
|||
#endif
|
||||
|
||||
static unsigned int interval = 10;
|
||||
static unsigned int fanon = 63;
|
||||
static unsigned int fanoff = 58;
|
||||
static unsigned int fanon = 63000;
|
||||
static unsigned int fanoff = 58000;
|
||||
static unsigned int verbose;
|
||||
static unsigned int fanstate = ACERHDF_FAN_AUTO;
|
||||
static char force_bios[16];
|
||||
|
@ -171,7 +171,7 @@ static int acerhdf_get_temp(int *temp)
|
|||
if (ec_read(bios_cfg->tempreg, &read_temp))
|
||||
return -EINVAL;
|
||||
|
||||
*temp = read_temp;
|
||||
*temp = read_temp * 1000;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -1680,36 +1680,48 @@ static void tpacpi_remove_driver_attributes(struct device_driver *drv)
|
|||
| (__bv1) << 8 | (__bv2) }
|
||||
|
||||
#define TPV_Q_X(__v, __bid1, __bid2, __bv1, __bv2, \
|
||||
__eid1, __eid2, __ev1, __ev2) \
|
||||
__eid, __ev1, __ev2) \
|
||||
{ .vendor = (__v), \
|
||||
.bios = TPID(__bid1, __bid2), \
|
||||
.ec = TPID(__eid1, __eid2), \
|
||||
.ec = __eid, \
|
||||
.quirks = (__ev1) << 24 | (__ev2) << 16 \
|
||||
| (__bv1) << 8 | (__bv2) }
|
||||
|
||||
#define TPV_QI0(__id1, __id2, __bv1, __bv2) \
|
||||
TPV_Q(PCI_VENDOR_ID_IBM, __id1, __id2, __bv1, __bv2)
|
||||
|
||||
/* Outdated IBM BIOSes often lack the EC id string */
|
||||
#define TPV_QI1(__id1, __id2, __bv1, __bv2, __ev1, __ev2) \
|
||||
TPV_Q_X(PCI_VENDOR_ID_IBM, __id1, __id2, \
|
||||
__bv1, __bv2, __id1, __id2, __ev1, __ev2)
|
||||
__bv1, __bv2, TPID(__id1, __id2), \
|
||||
__ev1, __ev2), \
|
||||
TPV_Q_X(PCI_VENDOR_ID_IBM, __id1, __id2, \
|
||||
__bv1, __bv2, TPACPI_MATCH_UNKNOWN, \
|
||||
__ev1, __ev2)
|
||||
|
||||
/* Outdated IBM BIOSes often lack the EC id string */
|
||||
#define TPV_QI2(__bid1, __bid2, __bv1, __bv2, \
|
||||
__eid1, __eid2, __ev1, __ev2) \
|
||||
TPV_Q_X(PCI_VENDOR_ID_IBM, __bid1, __bid2, \
|
||||
__bv1, __bv2, __eid1, __eid2, __ev1, __ev2)
|
||||
__bv1, __bv2, TPID(__eid1, __eid2), \
|
||||
__ev1, __ev2), \
|
||||
TPV_Q_X(PCI_VENDOR_ID_IBM, __bid1, __bid2, \
|
||||
__bv1, __bv2, TPACPI_MATCH_UNKNOWN, \
|
||||
__ev1, __ev2)
|
||||
|
||||
#define TPV_QL0(__id1, __id2, __bv1, __bv2) \
|
||||
TPV_Q(PCI_VENDOR_ID_LENOVO, __id1, __id2, __bv1, __bv2)
|
||||
|
||||
#define TPV_QL1(__id1, __id2, __bv1, __bv2, __ev1, __ev2) \
|
||||
TPV_Q_X(PCI_VENDOR_ID_LENOVO, __id1, __id2, \
|
||||
__bv1, __bv2, __id1, __id2, __ev1, __ev2)
|
||||
__bv1, __bv2, TPID(__id1, __id2), \
|
||||
__ev1, __ev2)
|
||||
|
||||
#define TPV_QL2(__bid1, __bid2, __bv1, __bv2, \
|
||||
__eid1, __eid2, __ev1, __ev2) \
|
||||
TPV_Q_X(PCI_VENDOR_ID_LENOVO, __bid1, __bid2, \
|
||||
__bv1, __bv2, __eid1, __eid2, __ev1, __ev2)
|
||||
__bv1, __bv2, TPID(__eid1, __eid2), \
|
||||
__ev1, __ev2)
|
||||
|
||||
static const struct tpacpi_quirk tpacpi_bios_version_qtable[] __initconst = {
|
||||
/* Numeric models ------------------ */
|
||||
|
@ -6313,7 +6325,7 @@ static int brightness_write(char *buf)
|
|||
* Doing it this way makes the syscall restartable in case of EINTR
|
||||
*/
|
||||
rc = brightness_set(level);
|
||||
return (rc == -EINTR)? ERESTARTSYS : rc;
|
||||
return (rc == -EINTR)? -ERESTARTSYS : rc;
|
||||
}
|
||||
|
||||
static struct ibm_struct brightness_driver_data = {
|
||||
|
|
Loading…
Reference in a new issue