Commit 41c92294 authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'release-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-acpi-2.6

* 'release-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-acpi-2.6:
  acer-wmi: remove debugfs entries upon unloading
  ACPI: Avoid bogus timeout about SMbus check
  fujitsu-laptop: fix regression for P8010 in 2.6.27-rc
  ACPI: Make Len Brown the ACPI maintainer again
  ACPI: thinkpad-acpi: wan radio control is not experimental
  PNPACPI: ignore the producer/consumer bit for extended IRQ descriptors
  acpi: add checking for NULL early param
  ACPI: Fix typo in "Disable MWAIT via DMI on broken Compal board"
  ACPI: Fix now signed module parameter.
  ACPI: Change package length error to warning
  ACPI: Fix now signed module parameter.
parents bf7394cc 5ed45910
...@@ -44,7 +44,7 @@ detailed description): ...@@ -44,7 +44,7 @@ detailed description):
- LCD brightness control - LCD brightness control
- Volume control - Volume control
- Fan control and monitoring: fan speed, fan enable/disable - Fan control and monitoring: fan speed, fan enable/disable
- Experimental: WAN enable and disable - WAN enable and disable
A compatibility table by model and feature is maintained on the web A compatibility table by model and feature is maintained on the web
site, http://ibm-acpi.sf.net/. I appreciate any success or failure site, http://ibm-acpi.sf.net/. I appreciate any success or failure
...@@ -1375,18 +1375,13 @@ with EINVAL, try to set pwm1_enable to 1 and pwm1 to at least 128 (255 ...@@ -1375,18 +1375,13 @@ with EINVAL, try to set pwm1_enable to 1 and pwm1 to at least 128 (255
would be the safest choice, though). would be the safest choice, though).
EXPERIMENTAL: WAN WAN
----------------- ---
procfs: /proc/acpi/ibm/wan procfs: /proc/acpi/ibm/wan
sysfs device attribute: wwan_enable (deprecated) sysfs device attribute: wwan_enable (deprecated)
sysfs rfkill class: switch "tpacpi_wwan_sw" sysfs rfkill class: switch "tpacpi_wwan_sw"
This feature is marked EXPERIMENTAL because the implementation
directly accesses hardware registers and may not work as expected. USE
WITH CAUTION! To use this feature, you need to supply the
experimental=1 parameter when loading the module.
This feature shows the presence and current state of a W-WAN (Sierra This feature shows the presence and current state of a W-WAN (Sierra
Wireless EV-DO) device. Wireless EV-DO) device.
......
...@@ -222,8 +222,7 @@ W: http://code.google.com/p/aceracpi ...@@ -222,8 +222,7 @@ W: http://code.google.com/p/aceracpi
S: Maintained S: Maintained
ACPI ACPI
P: Andi Kleen P: Len Brown
M: ak@linux.intel.com
M: lenb@kernel.org M: lenb@kernel.org
L: linux-acpi@vger.kernel.org L: linux-acpi@vger.kernel.org
W: http://www.lesswatts.org/projects/acpi/ W: http://www.lesswatts.org/projects/acpi/
......
...@@ -496,7 +496,7 @@ acpi_ds_build_internal_package_obj(struct acpi_walk_state *walk_state, ...@@ -496,7 +496,7 @@ acpi_ds_build_internal_package_obj(struct acpi_walk_state *walk_state,
arg = arg->common.next; arg = arg->common.next;
} }
ACPI_ERROR((AE_INFO, ACPI_WARNING((AE_INFO,
"Package List length (%X) larger than NumElements count (%X), truncated\n", "Package List length (%X) larger than NumElements count (%X), truncated\n",
i, element_count)); i, element_count));
} else if (i < element_count) { } else if (i < element_count) {
......
...@@ -71,7 +71,7 @@ static DEFINE_MUTEX(performance_mutex); ...@@ -71,7 +71,7 @@ static DEFINE_MUTEX(performance_mutex);
* 1 -> ignore _PPC totally -> forced by user through boot param * 1 -> ignore _PPC totally -> forced by user through boot param
*/ */
static int ignore_ppc = -1; static int ignore_ppc = -1;
module_param(ignore_ppc, uint, 0644); module_param(ignore_ppc, int, 0644);
MODULE_PARM_DESC(ignore_ppc, "If the frequency of your machine gets wrongly" \ MODULE_PARM_DESC(ignore_ppc, "If the frequency of your machine gets wrongly" \
"limited by BIOS, this should help"); "limited by BIOS, this should help");
......
...@@ -107,6 +107,13 @@ static int wait_transaction_complete(struct acpi_smb_hc *hc, int timeout) ...@@ -107,6 +107,13 @@ static int wait_transaction_complete(struct acpi_smb_hc *hc, int timeout)
if (wait_event_timeout(hc->wait, smb_check_done(hc), if (wait_event_timeout(hc->wait, smb_check_done(hc),
msecs_to_jiffies(timeout))) msecs_to_jiffies(timeout)))
return 0; return 0;
/*
* After the timeout happens, OS will try to check the status of SMbus.
* If the status is what OS expected, it will be regarded as the bogus
* timeout.
*/
if (smb_check_done(hc))
return 0;
else else
return -ETIME; return -ETIME;
} }
......
...@@ -300,6 +300,8 @@ int __init acpi_table_init(void) ...@@ -300,6 +300,8 @@ int __init acpi_table_init(void)
static int __init acpi_parse_apic_instance(char *str) static int __init acpi_parse_apic_instance(char *str)
{ {
if (!str)
return -EINVAL;
acpi_apic_instance = simple_strtoul(str, NULL, 0); acpi_apic_instance = simple_strtoul(str, NULL, 0);
......
...@@ -463,6 +463,13 @@ static struct dmi_system_id __initdata fujitsu_dmi_table[] = { ...@@ -463,6 +463,13 @@ static struct dmi_system_id __initdata fujitsu_dmi_table[] = {
DMI_MATCH(DMI_PRODUCT_NAME, "LIFEBOOK S6410"), DMI_MATCH(DMI_PRODUCT_NAME, "LIFEBOOK S6410"),
}, },
.callback = dmi_check_cb_s6410}, .callback = dmi_check_cb_s6410},
{
.ident = "FUJITSU LifeBook P8010",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"),
DMI_MATCH(DMI_PRODUCT_NAME, "LifeBook P8010"),
},
.callback = dmi_check_cb_s6410},
{} {}
}; };
......
...@@ -3086,7 +3086,6 @@ static struct ibm_struct wan_driver_data = { ...@@ -3086,7 +3086,6 @@ static struct ibm_struct wan_driver_data = {
.read = wan_read, .read = wan_read,
.write = wan_write, .write = wan_write,
.exit = wan_exit, .exit = wan_exit,
.flags.experimental = 1,
}; };
/************************************************************************* /*************************************************************************
......
...@@ -405,8 +405,6 @@ static acpi_status pnpacpi_allocated_resource(struct acpi_resource *res, ...@@ -405,8 +405,6 @@ static acpi_status pnpacpi_allocated_resource(struct acpi_resource *res,
case ACPI_RESOURCE_TYPE_EXTENDED_IRQ: case ACPI_RESOURCE_TYPE_EXTENDED_IRQ:
extended_irq = &res->data.extended_irq; extended_irq = &res->data.extended_irq;
if (extended_irq->producer_consumer == ACPI_PRODUCER)
return AE_OK;
if (extended_irq->interrupt_count == 0) if (extended_irq->interrupt_count == 0)
pnp_add_irq_resource(dev, 0, IORESOURCE_DISABLED); pnp_add_irq_resource(dev, 0, IORESOURCE_DISABLED);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment