提交 e947382e 编写于 作者: L Linus Torvalds

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:
  Revert "ACPI: ibm-acpi: make non-generic bay support optional"
  ACPI: update MAINTAINERS
  ACPI: schedule obsolete features for deletion
  ACPI: delete two spurious ACPI messages
  ACPI: rename cstate_entry_s to cstate_entry
  ACPI: ec: enable printk on cmdline use
  ACPI: Altix: ACPI _PRT support
...@@ -273,3 +273,48 @@ Why: Speedstep-centrino driver with ACPI hooks and acpi-cpufreq driver are ...@@ -273,3 +273,48 @@ Why: Speedstep-centrino driver with ACPI hooks and acpi-cpufreq driver are
Who: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com> Who: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
--------------------------- ---------------------------
What: ACPI hotkey driver (CONFIG_ACPI_HOTKEY)
When: 2.6.21
Why: hotkey.c was an attempt to consolidate multiple drivers that use
ACPI to implement hotkeys. However, hotkeys are not documented
in the ACPI specification, so the drivers used undocumented
vendor-specific hooks and turned out to be more different than
the same.
Further, the keys and the features supplied by each platform
are different, so there will always be a need for
platform-specific drivers.
So the new plan is to delete hotkey.c and instead, work on the
platform specific drivers to try to make them look the same
to the user when they supply the same features.
hotkey.c has always depended on CONFIG_EXPERIMENTAL
Who: Len Brown <len.brown@intel.com>
---------------------------
What: /sys/firmware/acpi/namespace
When: 2.6.21
Why: The ACPI namespace is effectively the symbol list for
the BIOS. The device names are completely arbitrary
and have no place being exposed to user-space.
For those interested in the BIOS ACPI namespace,
the BIOS can be extracted and disassembled with acpidump
and iasl as documented in the pmtools package here:
http://ftp.kernel.org/pub/linux/kernel/people/lenb/acpi/utils
Who: Len Brown <len.brown@intel.com>
---------------------------
What: /proc/acpi/button
When: August 2007
Why: /proc/acpi/button has been replaced by events to the input layer
since 2.6.20.
Who: Len Brown <len.brown@intel.com>
---------------------------
...@@ -207,16 +207,45 @@ S: Supported ...@@ -207,16 +207,45 @@ S: Supported
ACPI ACPI
P: Len Brown P: Len Brown
M: len.brown@intel.com M: len.brown@intel.com
M: lenb@kernel.org
L: linux-acpi@vger.kernel.org L: linux-acpi@vger.kernel.org
W: http://acpi.sourceforge.net/ W: http://acpi.sourceforge.net/
T: git kernel.org:/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6.git T: git kernel.org:/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6.git
S: Maintained S: Supported
ACPI BATTERY DRIVERS
P: Vladimir P. Lebedev
M: vladimir.p.lebedev@intel.com
L: linux-acpi@vger.kernel.org
W: http://acpi.sourceforge.net/
S: Supported
ACPI EC DRIVER
P: Alexey Starikovskiy
M: alexey.y.starikovskiy@linux.intel.com
L: linux-acpi@vger.kernel.org
W: http://acpi.sourceforge.net/
S: Supported
ACPI FAN DRIVER
P: Konstantin A. Karasyov
M: konstantin.a.karasyov@intel.com
L: linux-acpi@vger.kernel.org
W: http://acpi.sourceforge.net/
S: Supported
ACPI PCI HOTPLUG DRIVER ACPI PCI HOTPLUG DRIVER
P: Kristen Carlson Accardi P: Kristen Carlson Accardi
M: kristen.c.accardi@intel.com M: kristen.c.accardi@intel.com
L: pcihpd-discuss@lists.sourceforge.net L: pcihpd-discuss@lists.sourceforge.net
S: Maintained S: Supported
ACPI THERMAL DRIVER
P: Konstantin A. Karasyov
M: konstantin.a.karasyov@intel.com
L: linux-acpi@vger.kernel.org
W: http://acpi.sourceforge.net/
S: Supported
AD1816 SOUND DRIVER AD1816 SOUND DRIVER
P: Thorsten Knabe P: Thorsten Knabe
...@@ -1085,7 +1114,7 @@ DOCKING STATION DRIVER ...@@ -1085,7 +1114,7 @@ DOCKING STATION DRIVER
P: Kristen Carlson Accardi P: Kristen Carlson Accardi
M: kristen.c.accardi@intel.com M: kristen.c.accardi@intel.com
L: linux-acpi@vger.kernel.org L: linux-acpi@vger.kernel.org
S: Maintained S: Supported
DOUBLETALK DRIVER DOUBLETALK DRIVER
P: James R. Van Zandt P: James R. Van Zandt
...@@ -2535,7 +2564,7 @@ PCIE HOTPLUG DRIVER ...@@ -2535,7 +2564,7 @@ PCIE HOTPLUG DRIVER
P: Kristen Carlson Accardi P: Kristen Carlson Accardi
M: kristen.c.accardi@intel.com M: kristen.c.accardi@intel.com
L: pcihpd-discuss@lists.sourceforge.net L: pcihpd-discuss@lists.sourceforge.net
S: Maintained S: Supported
PCMCIA SUBSYSTEM PCMCIA SUBSYSTEM
P: Linux PCMCIA Team P: Linux PCMCIA Team
...@@ -3041,7 +3070,7 @@ SHPC HOTPLUG DRIVER ...@@ -3041,7 +3070,7 @@ SHPC HOTPLUG DRIVER
P: Kristen Carlson Accardi P: Kristen Carlson Accardi
M: kristen.c.accardi@intel.com M: kristen.c.accardi@intel.com
L: pcihpd-discuss@lists.sourceforge.net L: pcihpd-discuss@lists.sourceforge.net
S: Maintained S: Supported
SECURE DIGITAL HOST CONTROLLER INTERFACE DRIVER SECURE DIGITAL HOST CONTROLLER INTERFACE DRIVER
P: Pierre Ossman P: Pierre Ossman
......
...@@ -47,13 +47,13 @@ EXPORT_SYMBOL(acpi_processor_power_init_bm_check); ...@@ -47,13 +47,13 @@ EXPORT_SYMBOL(acpi_processor_power_init_bm_check);
/* The code below handles cstate entry with monitor-mwait pair on Intel*/ /* The code below handles cstate entry with monitor-mwait pair on Intel*/
struct cstate_entry_s { struct cstate_entry {
struct { struct {
unsigned int eax; unsigned int eax;
unsigned int ecx; unsigned int ecx;
} states[ACPI_PROCESSOR_MAX_POWER]; } states[ACPI_PROCESSOR_MAX_POWER];
}; };
static struct cstate_entry_s *cpu_cstate_entry; /* per CPU ptr */ static struct cstate_entry *cpu_cstate_entry; /* per CPU ptr */
static short mwait_supported[ACPI_PROCESSOR_MAX_POWER]; static short mwait_supported[ACPI_PROCESSOR_MAX_POWER];
...@@ -71,7 +71,7 @@ static short mwait_supported[ACPI_PROCESSOR_MAX_POWER]; ...@@ -71,7 +71,7 @@ static short mwait_supported[ACPI_PROCESSOR_MAX_POWER];
int acpi_processor_ffh_cstate_probe(unsigned int cpu, int acpi_processor_ffh_cstate_probe(unsigned int cpu,
struct acpi_processor_cx *cx, struct acpi_power_register *reg) struct acpi_processor_cx *cx, struct acpi_power_register *reg)
{ {
struct cstate_entry_s *percpu_entry; struct cstate_entry *percpu_entry;
struct cpuinfo_x86 *c = cpu_data + cpu; struct cpuinfo_x86 *c = cpu_data + cpu;
cpumask_t saved_mask; cpumask_t saved_mask;
...@@ -136,7 +136,7 @@ EXPORT_SYMBOL_GPL(acpi_processor_ffh_cstate_probe); ...@@ -136,7 +136,7 @@ EXPORT_SYMBOL_GPL(acpi_processor_ffh_cstate_probe);
void acpi_processor_ffh_cstate_enter(struct acpi_processor_cx *cx) void acpi_processor_ffh_cstate_enter(struct acpi_processor_cx *cx)
{ {
unsigned int cpu = smp_processor_id(); unsigned int cpu = smp_processor_id();
struct cstate_entry_s *percpu_entry; struct cstate_entry *percpu_entry;
percpu_entry = per_cpu_ptr(cpu_cstate_entry, cpu); percpu_entry = per_cpu_ptr(cpu_cstate_entry, cpu);
mwait_idle_with_hints(percpu_entry->states[cx->index].eax, mwait_idle_with_hints(percpu_entry->states[cx->index].eax,
...@@ -150,7 +150,7 @@ static int __init ffh_cstate_init(void) ...@@ -150,7 +150,7 @@ static int __init ffh_cstate_init(void)
if (c->x86_vendor != X86_VENDOR_INTEL) if (c->x86_vendor != X86_VENDOR_INTEL)
return -1; return -1;
cpu_cstate_entry = alloc_percpu(struct cstate_entry_s); cpu_cstate_entry = alloc_percpu(struct cstate_entry);
return 0; return 0;
} }
......
...@@ -590,6 +590,9 @@ void __init acpi_numa_arch_fixup(void) ...@@ -590,6 +590,9 @@ void __init acpi_numa_arch_fixup(void)
*/ */
int acpi_register_gsi(u32 gsi, int triggering, int polarity) int acpi_register_gsi(u32 gsi, int triggering, int polarity)
{ {
if (acpi_irq_model == ACPI_IRQ_MODEL_PLATFORM)
return gsi;
if (has_8259 && gsi < 16) if (has_8259 && gsi < 16)
return isa_irq_to_vector(gsi); return isa_irq_to_vector(gsi);
......
...@@ -223,6 +223,9 @@ sn_io_acpi_init(void) ...@@ -223,6 +223,9 @@ sn_io_acpi_init(void)
u64 result; u64 result;
s64 status; s64 status;
/* SN Altix does not follow the IOSAPIC IRQ routing model */
acpi_irq_model = ACPI_IRQ_MODEL_PLATFORM;
acpi_bus_register_driver(&acpi_sn_hubdev_driver); acpi_bus_register_driver(&acpi_sn_hubdev_driver);
status = sal_ioif_init(&result); status = sal_ioif_init(&result);
if (status || result) if (status || result)
......
...@@ -225,17 +225,6 @@ config ACPI_IBM_DOCK ...@@ -225,17 +225,6 @@ config ACPI_IBM_DOCK
If you are not sure, say N here. If you are not sure, say N here.
config ACPI_IBM_BAY
bool "Legacy Removable Bay Support"
depends on ACPI_IBM
depends on ACPI_BAY=n
default n
---help---
Allows the ibm_acpi driver to handle removable bays.
This support is obsoleted by CONFIG_ACPI_BAY.
If you are not sure, say N here.
config ACPI_TOSHIBA config ACPI_TOSHIBA
tristate "Toshiba Laptop Extras" tristate "Toshiba Laptop Extras"
depends on X86 depends on X86
......
...@@ -561,6 +561,9 @@ static int __init acpi_bus_init_irq(void) ...@@ -561,6 +561,9 @@ static int __init acpi_bus_init_irq(void)
case ACPI_IRQ_MODEL_IOSAPIC: case ACPI_IRQ_MODEL_IOSAPIC:
message = "IOSAPIC"; message = "IOSAPIC";
break; break;
case ACPI_IRQ_MODEL_PLATFORM:
message = "platform specific model";
break;
default: default:
printk(KERN_WARNING PREFIX "Unknown interrupt routing model\n"); printk(KERN_WARNING PREFIX "Unknown interrupt routing model\n");
return -ENODEV; return -ENODEV;
......
...@@ -1016,8 +1016,8 @@ static int __init acpi_ec_set_intr_mode(char *str) ...@@ -1016,8 +1016,8 @@ static int __init acpi_ec_set_intr_mode(char *str)
acpi_ec_mode = EC_POLL; acpi_ec_mode = EC_POLL;
} }
acpi_ec_driver.ops.add = acpi_ec_add; acpi_ec_driver.ops.add = acpi_ec_add;
ACPI_DEBUG_PRINT((ACPI_DB_INFO, "EC %s mode.\n", printk(KERN_NOTICE PREFIX "%s mode.\n",
intr ? "interrupt" : "polling")); intr ? "interrupt" : "polling");
return 1; return 1;
} }
......
...@@ -157,7 +157,6 @@ IBM_HANDLE(dock, root, "\\_SB.GDCK", /* X30, X31, X40 */ ...@@ -157,7 +157,6 @@ IBM_HANDLE(dock, root, "\\_SB.GDCK", /* X30, X31, X40 */
"\\_SB.PCI.ISA.SLCE", /* 570 */ "\\_SB.PCI.ISA.SLCE", /* 570 */
); /* A21e,G4x,R30,R31,R32,R40,R40e,R50e */ ); /* A21e,G4x,R30,R31,R32,R40,R40e,R50e */
#endif #endif
#ifdef CONFIG_ACPI_IBM_BAY
IBM_HANDLE(bay, root, "\\_SB.PCI.IDE.SECN.MAST", /* 570 */ IBM_HANDLE(bay, root, "\\_SB.PCI.IDE.SECN.MAST", /* 570 */
"\\_SB.PCI0.IDE0.IDES.IDSM", /* 600e/x, 770e, 770x */ "\\_SB.PCI0.IDE0.IDES.IDSM", /* 600e/x, 770e, 770x */
"\\_SB.PCI0.SATA.SCND.MSTR", /* T60, X60, Z60 */ "\\_SB.PCI0.SATA.SCND.MSTR", /* T60, X60, Z60 */
...@@ -175,7 +174,6 @@ IBM_HANDLE(bay2, root, "\\_SB.PCI0.IDE0.PRIM.SLAV", /* A3x, R32 */ ...@@ -175,7 +174,6 @@ IBM_HANDLE(bay2, root, "\\_SB.PCI0.IDE0.PRIM.SLAV", /* A3x, R32 */
IBM_HANDLE(bay2_ej, bay2, "_EJ3", /* 600e/x, 770e, A3x */ IBM_HANDLE(bay2_ej, bay2, "_EJ3", /* 600e/x, 770e, A3x */
"_EJ0", /* 770x */ "_EJ0", /* 770x */
); /* all others */ ); /* all others */
#endif
/* don't list other alternatives as we install a notify handler on the 570 */ /* don't list other alternatives as we install a notify handler on the 570 */
IBM_HANDLE(pci, root, "\\_SB.PCI"); /* 570 */ IBM_HANDLE(pci, root, "\\_SB.PCI"); /* 570 */
...@@ -1042,7 +1040,6 @@ static int light_write(char *buf) ...@@ -1042,7 +1040,6 @@ static int light_write(char *buf)
return 0; return 0;
} }
#if defined(CONFIG_ACPI_IBM_DOCK) || defined(CONFIG_ACPI_IBM_BAY)
static int _sta(acpi_handle handle) static int _sta(acpi_handle handle)
{ {
int status; int status;
...@@ -1052,7 +1049,7 @@ static int _sta(acpi_handle handle) ...@@ -1052,7 +1049,7 @@ static int _sta(acpi_handle handle)
return status; return status;
} }
#endif
#ifdef CONFIG_ACPI_IBM_DOCK #ifdef CONFIG_ACPI_IBM_DOCK
#define dock_docked() (_sta(dock_handle) & 1) #define dock_docked() (_sta(dock_handle) & 1)
...@@ -1118,7 +1115,6 @@ static void dock_notify(struct ibm_struct *ibm, u32 event) ...@@ -1118,7 +1115,6 @@ static void dock_notify(struct ibm_struct *ibm, u32 event)
} }
#endif #endif
#ifdef CONFIG_ACPI_IBM_BAY
static int bay_status_supported; static int bay_status_supported;
static int bay_status2_supported; static int bay_status2_supported;
static int bay_eject_supported; static int bay_eject_supported;
...@@ -1194,7 +1190,6 @@ static void bay_notify(struct ibm_struct *ibm, u32 event) ...@@ -1194,7 +1190,6 @@ static void bay_notify(struct ibm_struct *ibm, u32 event)
{ {
acpi_bus_generate_event(ibm->device, event, 0); acpi_bus_generate_event(ibm->device, event, 0);
} }
#endif
static int cmos_read(char *p) static int cmos_read(char *p)
{ {
...@@ -2354,7 +2349,6 @@ static struct ibm_struct ibms[] = { ...@@ -2354,7 +2349,6 @@ static struct ibm_struct ibms[] = {
.type = ACPI_SYSTEM_NOTIFY, .type = ACPI_SYSTEM_NOTIFY,
}, },
#endif #endif
#ifdef CONFIG_ACPI_IBM_BAY
{ {
.name = "bay", .name = "bay",
.init = bay_init, .init = bay_init,
...@@ -2364,7 +2358,6 @@ static struct ibm_struct ibms[] = { ...@@ -2364,7 +2358,6 @@ static struct ibm_struct ibms[] = {
.handle = &bay_handle, .handle = &bay_handle,
.type = ACPI_SYSTEM_NOTIFY, .type = ACPI_SYSTEM_NOTIFY,
}, },
#endif
{ {
.name = "cmos", .name = "cmos",
.read = cmos_read, .read = cmos_read,
...@@ -2650,9 +2643,7 @@ IBM_PARAM(light); ...@@ -2650,9 +2643,7 @@ IBM_PARAM(light);
#ifdef CONFIG_ACPI_IBM_DOCK #ifdef CONFIG_ACPI_IBM_DOCK
IBM_PARAM(dock); IBM_PARAM(dock);
#endif #endif
#ifdef CONFIG_ACPI_IBM_BAY
IBM_PARAM(bay); IBM_PARAM(bay);
#endif
IBM_PARAM(cmos); IBM_PARAM(cmos);
IBM_PARAM(led); IBM_PARAM(led);
IBM_PARAM(beep); IBM_PARAM(beep);
...@@ -2735,14 +2726,12 @@ static int __init acpi_ibm_init(void) ...@@ -2735,14 +2726,12 @@ static int __init acpi_ibm_init(void)
IBM_HANDLE_INIT(dock); IBM_HANDLE_INIT(dock);
#endif #endif
IBM_HANDLE_INIT(pci); IBM_HANDLE_INIT(pci);
#ifdef CONFIG_ACPI_IBM_BAY
IBM_HANDLE_INIT(bay); IBM_HANDLE_INIT(bay);
if (bay_handle) if (bay_handle)
IBM_HANDLE_INIT(bay_ej); IBM_HANDLE_INIT(bay_ej);
IBM_HANDLE_INIT(bay2); IBM_HANDLE_INIT(bay2);
if (bay2_handle) if (bay2_handle)
IBM_HANDLE_INIT(bay2_ej); IBM_HANDLE_INIT(bay2_ej);
#endif
IBM_HANDLE_INIT(beep); IBM_HANDLE_INIT(beep);
IBM_HANDLE_INIT(ecrd); IBM_HANDLE_INIT(ecrd);
IBM_HANDLE_INIT(ecwr); IBM_HANDLE_INIT(ecwr);
......
...@@ -476,9 +476,6 @@ static int acpi_processor_get_info(struct acpi_processor *pr) ...@@ -476,9 +476,6 @@ static int acpi_processor_get_info(struct acpi_processor *pr)
if (cpu_index == -1) { if (cpu_index == -1) {
if (ACPI_FAILURE if (ACPI_FAILURE
(acpi_processor_hotadd_init(pr->handle, &pr->id))) { (acpi_processor_hotadd_init(pr->handle, &pr->id))) {
printk(KERN_ERR PREFIX
"Getting cpuindex for acpiid 0x%x\n",
pr->acpi_id);
return -ENODEV; return -ENODEV;
} }
} }
......
...@@ -736,10 +736,6 @@ int acpi_processor_preregister_performance( ...@@ -736,10 +736,6 @@ int acpi_processor_preregister_performance(
} }
err_ret: err_ret:
if (retval) {
ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "Error while parsing _PSD domain information. Assuming no coordination\n"));
}
for_each_possible_cpu(i) { for_each_possible_cpu(i) {
pr = processors[i]; pr = processors[i];
if (!pr || !pr->performance) if (!pr || !pr->performance)
......
...@@ -47,6 +47,7 @@ enum acpi_irq_model_id { ...@@ -47,6 +47,7 @@ enum acpi_irq_model_id {
ACPI_IRQ_MODEL_PIC = 0, ACPI_IRQ_MODEL_PIC = 0,
ACPI_IRQ_MODEL_IOAPIC, ACPI_IRQ_MODEL_IOAPIC,
ACPI_IRQ_MODEL_IOSAPIC, ACPI_IRQ_MODEL_IOSAPIC,
ACPI_IRQ_MODEL_PLATFORM,
ACPI_IRQ_MODEL_COUNT ACPI_IRQ_MODEL_COUNT
}; };
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册