* ACPI & drivers patches for 2.6.30-rc7
@ 2009-05-30 1:37 Len Brown
2009-05-30 1:37 ` [PATCH 01/11] cpuidle: makes AMD C1E work in acpi_idle Len Brown
0 siblings, 1 reply; 12+ messages in thread
From: Len Brown @ 2009-05-30 1:37 UTC (permalink / raw)
To: linux-acpi
I'm pushing these up to 2.6.30 now.
Let me know if you seen any problems with any of them,
or if you think 2.6.30 needs something else.
thanks,
-Len
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 01/11] cpuidle: makes AMD C1E work in acpi_idle
2009-05-30 1:37 ACPI & drivers patches for 2.6.30-rc7 Len Brown
@ 2009-05-30 1:37 ` Len Brown
2009-05-30 1:37 ` [PATCH 02/11] cpuidle: fix AMD C1E suspend hang Len Brown
` (9 more replies)
0 siblings, 10 replies; 12+ messages in thread
From: Len Brown @ 2009-05-30 1:37 UTC (permalink / raw)
To: linux-acpi; +Cc: Shaohua Li, Len Brown
From: Shaohua Li <shaohua.li@intel.com>
When AMD C1E is enabled, local APIC timer will stop even in C1.
This patch uses broadcast IPI to replace local APIC timer in C1.
http://bugzilla.kernel.org/show_bug.cgi?id=13233
[ impact: avoid boot hang in AMD CPU with C1E enabled ]
Tested-by: Dmitry Lyzhyn <thisistempbox@yahoo.com>
Signed-off-by: Shaohua Li <shaohua.li@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
---
drivers/acpi/processor_idle.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c
index 72069ba..6b7bcc7 100644
--- a/drivers/acpi/processor_idle.c
+++ b/drivers/acpi/processor_idle.c
@@ -148,6 +148,9 @@ static void acpi_timer_check_state(int state, struct acpi_processor *pr,
if (cpu_has(&cpu_data(pr->id), X86_FEATURE_ARAT))
return;
+ if (boot_cpu_has(X86_FEATURE_AMDC1E))
+ type = ACPI_STATE_C1;
+
/*
* Check, if one of the previous states already marked the lapic
* unstable
@@ -611,6 +614,7 @@ static int acpi_processor_power_verify(struct acpi_processor *pr)
switch (cx->type) {
case ACPI_STATE_C1:
cx->valid = 1;
+ acpi_timer_check_state(i, pr, cx);
break;
case ACPI_STATE_C2:
@@ -835,6 +839,7 @@ static int acpi_idle_enter_c1(struct cpuidle_device *dev,
return 0;
}
+ acpi_state_timer_broadcast(pr, cx, 1);
kt1 = ktime_get_real();
acpi_idle_do_entry(cx);
kt2 = ktime_get_real();
@@ -842,6 +847,7 @@ static int acpi_idle_enter_c1(struct cpuidle_device *dev,
local_irq_enable();
cx->usage++;
+ acpi_state_timer_broadcast(pr, cx, 0);
return idle_time;
}
--
1.6.0.6
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 02/11] cpuidle: fix AMD C1E suspend hang
2009-05-30 1:37 ` [PATCH 01/11] cpuidle: makes AMD C1E work in acpi_idle Len Brown
@ 2009-05-30 1:37 ` Len Brown
2009-05-30 1:37 ` [PATCH 03/11] PCI/ACPI: fix wrong ref count handling in acpi_pci_bind() Len Brown
` (8 subsequent siblings)
9 siblings, 0 replies; 12+ messages in thread
From: Len Brown @ 2009-05-30 1:37 UTC (permalink / raw)
To: linux-acpi; +Cc: Shaohua Li, Len Brown
From: Shaohua Li <shaohua.li@intel.com>
When AMD C1E is enabled, local APIC timer will stop even in C1. To avoid
suspend/resume hang, this patch removes C1 and replace it with a cpu_relax() in
suspend/resume path. This hasn't any impact in runtime path.
http://bugzilla.kernel.org/show_bug.cgi?id=13233
[ impact: avoid suspend/resume hang in AMD CPU with C1E enabled ]
Tested-by: Dmitry Lyzhyn <thisistempbox@yahoo.com>
Signed-off-by: Shaohua Li <shaohua.li@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
---
drivers/acpi/processor_idle.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c
index 6b7bcc7..10a2d91 100644
--- a/drivers/acpi/processor_idle.c
+++ b/drivers/acpi/processor_idle.c
@@ -834,8 +834,8 @@ static int acpi_idle_enter_c1(struct cpuidle_device *dev,
/* Do not access any ACPI IO ports in suspend path */
if (acpi_idle_suspend) {
- acpi_safe_halt();
local_irq_enable();
+ cpu_relax();
return 0;
}
--
1.6.0.6
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 03/11] PCI/ACPI: fix wrong ref count handling in acpi_pci_bind()
2009-05-30 1:37 ` [PATCH 01/11] cpuidle: makes AMD C1E work in acpi_idle Len Brown
2009-05-30 1:37 ` [PATCH 02/11] cpuidle: fix AMD C1E suspend hang Len Brown
@ 2009-05-30 1:37 ` Len Brown
2009-05-30 1:37 ` [PATCH 04/11] i7300_idle: allow testing on i5000-series hardware w/o re-compile Len Brown
` (7 subsequent siblings)
9 siblings, 0 replies; 12+ messages in thread
From: Len Brown @ 2009-05-30 1:37 UTC (permalink / raw)
To: linux-acpi; +Cc: Kenji Kaneshige, Len Brown
From: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
The 'dev' field of struct acpi_pci_data is having a pointer to struct
pci_dev without incrementing the reference counter. Because of this, I
got the following kernel oops when I was doing some pci hotplug
operations. This patch fixes this bug by replacing wrong hand-made
pci_find_slot() with pci_get_slot() in acpi_pci_bind().
BUG: unable to handle kernel NULL pointer dereference at 00000000000000e8
IP: [<ffffffff803f0e9b>] acpi_pci_unbind+0xb1/0xdd
Call Trace:
[<ffffffff803ecee4>] acpi_bus_remove+0x54/0x68
[<ffffffff803ecf6d>] acpi_bus_trim+0x75/0xe3
[<ffffffffa0345ddd>] acpiphp_disable_slot+0x16d/0x1e0 [acpiphp]
[<ffffffffa03441f0>] disable_slot+0x20/0x60 [acpiphp]
[<ffffffff803cfc18>] power_write_file+0xc8/0x110
[<ffffffff803c6a54>] pci_slot_attr_store+0x24/0x30
[<ffffffff803469ce>] sysfs_write_file+0xce/0x140
[<ffffffff802e94e7>] vfs_write+0xc7/0x170
[<ffffffff802e9aa0>] sys_write+0x50/0x90
[<ffffffff8020bd6b>] system_call_fastpath+0x16/0x1b
Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Reviewed-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Reviewed-by: Alex Chiang <achiang@hp.com>
Tested-by: Alex Chiang <achiang@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
---
drivers/acpi/pci_bind.c | 24 ++++++------------------
1 files changed, 6 insertions(+), 18 deletions(-)
diff --git a/drivers/acpi/pci_bind.c b/drivers/acpi/pci_bind.c
index 95650f8..bc46de3 100644
--- a/drivers/acpi/pci_bind.c
+++ b/drivers/acpi/pci_bind.c
@@ -116,9 +116,6 @@ int acpi_pci_bind(struct acpi_device *device)
struct acpi_pci_data *pdata;
struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL };
acpi_handle handle;
- struct pci_dev *dev;
- struct pci_bus *bus;
-
if (!device || !device->parent)
return -EINVAL;
@@ -176,20 +173,9 @@ int acpi_pci_bind(struct acpi_device *device)
* Locate matching device in PCI namespace. If it doesn't exist
* this typically means that the device isn't currently inserted
* (e.g. docking station, port replicator, etc.).
- * We cannot simply search the global pci device list, since
- * PCI devices are added to the global pci list when the root
- * bridge start ops are run, which may not have happened yet.
*/
- bus = pci_find_bus(data->id.segment, data->id.bus);
- if (bus) {
- list_for_each_entry(dev, &bus->devices, bus_list) {
- if (dev->devfn == PCI_DEVFN(data->id.device,
- data->id.function)) {
- data->dev = dev;
- break;
- }
- }
- }
+ data->dev = pci_get_slot(pdata->bus,
+ PCI_DEVFN(data->id.device, data->id.function));
if (!data->dev) {
ACPI_DEBUG_PRINT((ACPI_DB_INFO,
"Device %04x:%02x:%02x.%d not present in PCI namespace\n",
@@ -259,9 +245,10 @@ int acpi_pci_bind(struct acpi_device *device)
end:
kfree(buffer.pointer);
- if (result)
+ if (result) {
+ pci_dev_put(data->dev);
kfree(data);
-
+ }
return result;
}
@@ -303,6 +290,7 @@ static int acpi_pci_unbind(struct acpi_device *device)
if (data->dev->subordinate) {
acpi_pci_irq_del_prt(data->id.segment, data->bus->number);
}
+ pci_dev_put(data->dev);
kfree(data);
end:
--
1.6.0.6
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 04/11] i7300_idle: allow testing on i5000-series hardware w/o re-compile
2009-05-30 1:37 ` [PATCH 01/11] cpuidle: makes AMD C1E work in acpi_idle Len Brown
2009-05-30 1:37 ` [PATCH 02/11] cpuidle: fix AMD C1E suspend hang Len Brown
2009-05-30 1:37 ` [PATCH 03/11] PCI/ACPI: fix wrong ref count handling in acpi_pci_bind() Len Brown
@ 2009-05-30 1:37 ` Len Brown
2009-05-30 1:37 ` [PATCH 05/11] ACPI: sanity check _PSS frequency to prevent cpufreq crash Len Brown
` (6 subsequent siblings)
9 siblings, 0 replies; 12+ messages in thread
From: Len Brown @ 2009-05-30 1:37 UTC (permalink / raw)
To: linux-acpi; +Cc: Len Brown
From: Len Brown <len.brown@intel.com>
Testing the i7300_idle driver on i5000-series hardware required
an edit to i7300_idle.h to "#define SUPPORT_I5000 1" and a re-build
of both i7300_idle and ioat_dma.
Replace that build-time scheme with a load-time module parameter:
"7300_idle.forceload=1" to make it easier to test the driver
on hardware that while not officially validated, works fine
and is much more commonly available.
By default (no modparam) the driver will continue to load
only on the i7300.
Note that ioat_dma runs a copy of i7300_idle's probe routine
to know to reserve an IOAT channel for i7300_idle.
This change makes ioat_dma do that always on the i5000,
just like it does on the i7300.
Signed-off-by: Len Brown <len.brown@intel.com>
Acked-by: Andrew Henroid <andrew.d.henroid@intel.com>
---
drivers/dma/ioat_dma.c | 2 +-
drivers/idle/i7300_idle.c | 6 +++++-
include/linux/i7300_idle.h | 20 ++++++++++----------
3 files changed, 16 insertions(+), 12 deletions(-)
diff --git a/drivers/dma/ioat_dma.c b/drivers/dma/ioat_dma.c
index 1955ee8..a600fc0 100644
--- a/drivers/dma/ioat_dma.c
+++ b/drivers/dma/ioat_dma.c
@@ -173,7 +173,7 @@ static int ioat_dma_enumerate_channels(struct ioatdma_device *device)
xfercap = (xfercap_scale == 0 ? -1 : (1UL << xfercap_scale));
#ifdef CONFIG_I7300_IDLE_IOAT_CHANNEL
- if (i7300_idle_platform_probe(NULL, NULL) == 0) {
+ if (i7300_idle_platform_probe(NULL, NULL, 1) == 0) {
device->common.chancnt--;
}
#endif
diff --git a/drivers/idle/i7300_idle.c b/drivers/idle/i7300_idle.c
index bf74039..949c97f 100644
--- a/drivers/idle/i7300_idle.c
+++ b/drivers/idle/i7300_idle.c
@@ -41,6 +41,10 @@ static int debug;
module_param_named(debug, debug, uint, 0644);
MODULE_PARM_DESC(debug, "Enable debug printks in this driver");
+static int forceload;
+module_param_named(forceload, forceload, uint, 0644);
+MODULE_PARM_DESC(debug, "Enable driver testing on unvalidated i5000");
+
#define dprintk(fmt, arg...) \
do { if (debug) printk(KERN_INFO I7300_PRINT fmt, ##arg); } while (0)
@@ -552,7 +556,7 @@ static int __init i7300_idle_init(void)
cpus_clear(idle_cpumask);
total_us = 0;
- if (i7300_idle_platform_probe(&fbd_dev, &ioat_dev))
+ if (i7300_idle_platform_probe(&fbd_dev, &ioat_dev, forceload))
return -ENODEV;
if (i7300_idle_thrt_save())
diff --git a/include/linux/i7300_idle.h b/include/linux/i7300_idle.h
index 05a80c4..1587b7d 100644
--- a/include/linux/i7300_idle.h
+++ b/include/linux/i7300_idle.h
@@ -16,35 +16,33 @@
struct fbd_ioat {
unsigned int vendor;
unsigned int ioat_dev;
+ unsigned int enabled;
};
/*
* The i5000 chip-set has the same hooks as the i7300
- * but support is disabled by default because this driver
- * has not been validated on that platform.
+ * but it is not enabled by default and must be manually
+ * manually enabled with "forceload=1" because it is
+ * only lightly validated.
*/
-#define SUPPORT_I5000 0
static const struct fbd_ioat fbd_ioat_list[] = {
- {PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_IOAT_CNB},
-#if SUPPORT_I5000
- {PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_IOAT},
-#endif
+ {PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_IOAT_CNB, 1},
+ {PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_IOAT, 0},
{0, 0}
};
/* table of devices that work with this driver */
static const struct pci_device_id pci_tbl[] = {
{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_FBD_CNB) },
-#if SUPPORT_I5000
{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_5000_ERR) },
-#endif
{ } /* Terminating entry */
};
/* Check for known platforms with I/O-AT */
static inline int i7300_idle_platform_probe(struct pci_dev **fbd_dev,
- struct pci_dev **ioat_dev)
+ struct pci_dev **ioat_dev,
+ int enable_all)
{
int i;
struct pci_dev *memdev, *dmadev;
@@ -69,6 +67,8 @@ static inline int i7300_idle_platform_probe(struct pci_dev **fbd_dev,
for (i = 0; fbd_ioat_list[i].vendor != 0; i++) {
if (dmadev->vendor == fbd_ioat_list[i].vendor &&
dmadev->device == fbd_ioat_list[i].ioat_dev) {
+ if (!(fbd_ioat_list[i].enabled || enable_all))
+ continue;
if (fbd_dev)
*fbd_dev = memdev;
if (ioat_dev)
--
1.6.0.6
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 05/11] ACPI: sanity check _PSS frequency to prevent cpufreq crash
2009-05-30 1:37 ` [PATCH 01/11] cpuidle: makes AMD C1E work in acpi_idle Len Brown
` (2 preceding siblings ...)
2009-05-30 1:37 ` [PATCH 04/11] i7300_idle: allow testing on i5000-series hardware w/o re-compile Len Brown
@ 2009-05-30 1:37 ` Len Brown
2009-05-30 1:37 ` [PATCH 06/11] ACPI: video: DMI workaround broken eMachines E510 BIOS enabling display brightness Len Brown
` (5 subsequent siblings)
9 siblings, 0 replies; 12+ messages in thread
From: Len Brown @ 2009-05-30 1:37 UTC (permalink / raw)
To: linux-acpi; +Cc: Len Brown
From: Len Brown <len.brown@intel.com>
When BIOS SETUP is changed to disable EIST, some BIOS
hand the OS an un-initialized _PSS:
Name (_PSS, Package (0x06)
{
Package (0x06)
{
0x80000000, // frequency [MHz]
0x80000000, // power [mW]
0x80000000, // latency [us]
0x80000000, // BM latency [us]
0x80000000, // control
0x80000000 // status
},
...
These are outrageous values for frequency,
power and latency, raising the question where to draw
the line between legal and illegal. We tend to survive
garbage in the power and latency fields, but we can BUG_ON
when garbage is in the frequency field.
Cpufreq multiplies the frequency by 1000 and stores it in a u32 KHz.
So disregard a _PSS with a frequency so large
that it can't be represented by cpufreq.
https://bugzilla.redhat.com/show_bug.cgi?id=500311
Signed-off-by: Len Brown <len.brown@intel.com>
---
drivers/acpi/processor_perflib.c | 12 +++++++++---
1 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/drivers/acpi/processor_perflib.c b/drivers/acpi/processor_perflib.c
index cafb410..60e543d 100644
--- a/drivers/acpi/processor_perflib.c
+++ b/drivers/acpi/processor_perflib.c
@@ -309,9 +309,15 @@ static int acpi_processor_get_performance_states(struct acpi_processor *pr)
(u32) px->bus_master_latency,
(u32) px->control, (u32) px->status));
- if (!px->core_frequency) {
- printk(KERN_ERR PREFIX
- "Invalid _PSS data: freq is zero\n");
+ /*
+ * Check that ACPI's u64 MHz will be valid as u32 KHz in cpufreq
+ */
+ if (!px->core_frequency ||
+ ((u32)(px->core_frequency * 1000) !=
+ (px->core_frequency * 1000))) {
+ printk(KERN_ERR FW_BUG PREFIX
+ "Invalid BIOS _PSS frequency: 0x%llx MHz\n",
+ px->core_frequency);
result = -EFAULT;
kfree(pr->performance->states);
goto end;
--
1.6.0.6
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 06/11] ACPI: video: DMI workaround broken eMachines E510 BIOS enabling display brightness
2009-05-30 1:37 ` [PATCH 01/11] cpuidle: makes AMD C1E work in acpi_idle Len Brown
` (3 preceding siblings ...)
2009-05-30 1:37 ` [PATCH 05/11] ACPI: sanity check _PSS frequency to prevent cpufreq crash Len Brown
@ 2009-05-30 1:37 ` Len Brown
2009-05-30 1:37 ` [PATCH 07/11] ACPI: video: DMI workaround broken Acer 5315 " Len Brown
` (4 subsequent siblings)
9 siblings, 0 replies; 12+ messages in thread
From: Len Brown @ 2009-05-30 1:37 UTC (permalink / raw)
To: linux-acpi; +Cc: Zhang Rui, Len Brown
From: Zhang Rui <rui.zhang@intel.com>
http://bugzilla.kernel.org/show_bug.cgi?id=13376
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
---
drivers/acpi/video.c | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c
index 810cca9..ee45e76 100644
--- a/drivers/acpi/video.c
+++ b/drivers/acpi/video.c
@@ -570,6 +570,14 @@ static struct dmi_system_id video_dmi_table[] __initdata = {
DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5710Z"),
},
},
+ {
+ .callback = video_set_bqc_offset,
+ .ident = "eMachines E510",
+ .matches = {
+ DMI_MATCH(DMI_BOARD_VENDOR, "EMACHINES"),
+ DMI_MATCH(DMI_PRODUCT_NAME, "eMachines E510"),
+ },
+ },
{}
};
--
1.6.0.6
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 07/11] ACPI: video: DMI workaround broken Acer 5315 BIOS enabling display brightness
2009-05-30 1:37 ` [PATCH 01/11] cpuidle: makes AMD C1E work in acpi_idle Len Brown
` (4 preceding siblings ...)
2009-05-30 1:37 ` [PATCH 06/11] ACPI: video: DMI workaround broken eMachines E510 BIOS enabling display brightness Len Brown
@ 2009-05-30 1:37 ` Len Brown
2009-05-30 1:37 ` [PATCH 08/11] drm/i915: acpi/video.c fix section mismatch warning Len Brown
` (3 subsequent siblings)
9 siblings, 0 replies; 12+ messages in thread
From: Len Brown @ 2009-05-30 1:37 UTC (permalink / raw)
To: linux-acpi; +Cc: Zhang Rui, Len Brown
From: Zhang Rui <rui.zhang@intel.com>
http://bugzilla.kernel.org/show_bug.cgi?id=13121
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
---
drivers/acpi/video.c | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c
index ee45e76..6d897bb 100644
--- a/drivers/acpi/video.c
+++ b/drivers/acpi/video.c
@@ -578,6 +578,14 @@ static struct dmi_system_id video_dmi_table[] __initdata = {
DMI_MATCH(DMI_PRODUCT_NAME, "eMachines E510"),
},
},
+ {
+ .callback = video_set_bqc_offset,
+ .ident = "Acer Aspire 5315",
+ .matches = {
+ DMI_MATCH(DMI_BOARD_VENDOR, "Acer"),
+ DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5315"),
+ },
+ },
{}
};
--
1.6.0.6
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 08/11] drm/i915: acpi/video.c fix section mismatch warning
2009-05-30 1:37 ` [PATCH 01/11] cpuidle: makes AMD C1E work in acpi_idle Len Brown
` (5 preceding siblings ...)
2009-05-30 1:37 ` [PATCH 07/11] ACPI: video: DMI workaround broken Acer 5315 " Len Brown
@ 2009-05-30 1:37 ` Len Brown
2009-05-30 1:37 ` [PATCH 09/11] ACPI processor: remove spurious newline from warning message Len Brown
` (2 subsequent siblings)
9 siblings, 0 replies; 12+ messages in thread
From: Len Brown @ 2009-05-30 1:37 UTC (permalink / raw)
To: linux-acpi; +Cc: Jaswinder Singh Rajput, Jaswinder Singh Rajput, Len Brown
From: Jaswinder Singh Rajput <jaswinder@kernel.org>
Currently acpi_video_exit() is exported as well as using __exit which causes:
WARNING: drivers/acpi/video.o(__ksymtab+0x0): Section mismatch in reference from the variable __ksymtab_acpi_video_exit to the function .exit.text:acpi_video_exit()
The symbol acpi_video_exit is exported and annotated __exit
Fix this by removing the __exit annotation of acpi_video_exit or drop the export.
Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
Signed-off-by: Len Brown <len.brown@intel.com>
---
drivers/acpi/video.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c
index 810cca9..a79b885 100644
--- a/drivers/acpi/video.c
+++ b/drivers/acpi/video.c
@@ -2334,7 +2334,7 @@ static int __init acpi_video_init(void)
return acpi_video_register();
}
-void __exit acpi_video_exit(void)
+void acpi_video_exit(void)
{
acpi_bus_unregister_driver(&acpi_video_bus);
--
1.6.0.6
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 09/11] ACPI processor: remove spurious newline from warning message
2009-05-30 1:37 ` [PATCH 01/11] cpuidle: makes AMD C1E work in acpi_idle Len Brown
` (6 preceding siblings ...)
2009-05-30 1:37 ` [PATCH 08/11] drm/i915: acpi/video.c fix section mismatch warning Len Brown
@ 2009-05-30 1:37 ` Len Brown
2009-05-30 1:37 ` [PATCH 10/11] acpi-cpufreq: fix printk typo and indentation Len Brown
2009-05-30 1:37 ` [PATCH 11/11] ACPI, i915: build fix (v2) Len Brown
9 siblings, 0 replies; 12+ messages in thread
From: Len Brown @ 2009-05-30 1:37 UTC (permalink / raw)
To: linux-acpi; +Cc: Frans Pop, Len Brown
From: Frans Pop <elendil@planet.nl>
Commit 4973b22a ("ACPI processor: reset the throttling state once it's
invalid") introduced a new warning which prints a spurious newline.
The ACPI_WARNING macro that is used already takes care of adding a
newline, after adding ACPI_CA_VERSION to the message. Remove the newline
to avoid the message getting split into two lines.
Signed-off-by: Frans Pop <elendil@planet.nl>
Signed-off-by: Len Brown <len.brown@intel.com>
---
drivers/acpi/processor_throttling.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/acpi/processor_throttling.c b/drivers/acpi/processor_throttling.c
index 7f16f5f..2275437 100644
--- a/drivers/acpi/processor_throttling.c
+++ b/drivers/acpi/processor_throttling.c
@@ -840,7 +840,7 @@ static int acpi_processor_get_throttling_ptc(struct acpi_processor *pr)
state = acpi_get_throttling_state(pr, value);
if (state == -1) {
ACPI_WARNING((AE_INFO,
- "Invalid throttling state, reset\n"));
+ "Invalid throttling state, reset"));
state = 0;
ret = acpi_processor_set_throttling(pr, state);
if (ret)
--
1.6.0.6
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 10/11] acpi-cpufreq: fix printk typo and indentation
2009-05-30 1:37 ` [PATCH 01/11] cpuidle: makes AMD C1E work in acpi_idle Len Brown
` (7 preceding siblings ...)
2009-05-30 1:37 ` [PATCH 09/11] ACPI processor: remove spurious newline from warning message Len Brown
@ 2009-05-30 1:37 ` Len Brown
2009-05-30 1:37 ` [PATCH 11/11] ACPI, i915: build fix (v2) Len Brown
9 siblings, 0 replies; 12+ messages in thread
From: Len Brown @ 2009-05-30 1:37 UTC (permalink / raw)
To: linux-acpi; +Cc: Joe Perches, Andrew Morton, Len Brown
From: Joe Perches <joe@perches.com>
Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Len Brown <len.brown@intel.com>
---
arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c b/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c
index 208ecf6..54b6de2 100644
--- a/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c
+++ b/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c
@@ -693,8 +693,8 @@ static int acpi_cpufreq_cpu_init(struct cpufreq_policy *policy)
if (perf->control_register.space_id == ACPI_ADR_SPACE_FIXED_HARDWARE &&
policy->cpuinfo.transition_latency > 20 * 1000) {
policy->cpuinfo.transition_latency = 20 * 1000;
- printk_once(KERN_INFO "Capping off P-state tranision"
- " latency at 20 uS\n");
+ printk_once(KERN_INFO
+ "P-state transition latency capped at 20 uS\n");
}
/* table init */
--
1.6.0.6
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 11/11] ACPI, i915: build fix (v2)
2009-05-30 1:37 ` [PATCH 01/11] cpuidle: makes AMD C1E work in acpi_idle Len Brown
` (8 preceding siblings ...)
2009-05-30 1:37 ` [PATCH 10/11] acpi-cpufreq: fix printk typo and indentation Len Brown
@ 2009-05-30 1:37 ` Len Brown
9 siblings, 0 replies; 12+ messages in thread
From: Len Brown @ 2009-05-30 1:37 UTC (permalink / raw)
To: linux-acpi; +Cc: Len Brown, Randy Dunlap
From: Len Brown <len.brown@intel.com>
drivers/built-in.o: In function `intel_opregion_init':
(.text+0x9d540): undefined reference to `acpi_video_register'
v2: move under DRM_I915 from DRM_I915_KMS
Signed-off-by: Len Brown <len.brown@intel.com>
Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
---
drivers/gpu/drm/Kconfig | 14 +++++++-------
1 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
index 4cd35d8..f5d46e7 100644
--- a/drivers/gpu/drm/Kconfig
+++ b/drivers/gpu/drm/Kconfig
@@ -67,12 +67,18 @@ config DRM_I830
will load the correct one.
config DRM_I915
+ tristate "i915 driver"
select FB_CFB_FILLRECT
select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT
select FB
select FRAMEBUFFER_CONSOLE if !EMBEDDED
- tristate "i915 driver"
+ # i915 depends on ACPI_VIDEO when ACPI is enabled
+ # but for select to work, need to select ACPI_VIDEO's dependencies, ick
+ select VIDEO_OUTPUT_CONTROL if ACPI
+ select BACKLIGHT_CLASS_DEVICE if ACPI
+ select INPUT if ACPI
+ select ACPI_VIDEO if ACPI
help
Choose this option if you have a system that has Intel 830M, 845G,
852GM, 855GM 865G or 915G integrated graphics. If M is selected, the
@@ -84,12 +90,6 @@ config DRM_I915
config DRM_I915_KMS
bool "Enable modesetting on intel by default"
depends on DRM_I915
- # i915 KMS depends on ACPI_VIDEO when ACPI is enabled
- # but for select to work, need to select ACPI_VIDEO's dependencies, ick
- select VIDEO_OUTPUT_CONTROL if ACPI
- select BACKLIGHT_CLASS_DEVICE if ACPI
- select INPUT if ACPI
- select ACPI_VIDEO if ACPI
help
Choose this option if you want kernel modesetting enabled by default,
and you have a new enough userspace to support this. Running old
--
1.6.0.6
^ permalink raw reply related [flat|nested] 12+ messages in thread
end of thread, other threads:[~2009-05-30 1:37 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-05-30 1:37 ACPI & drivers patches for 2.6.30-rc7 Len Brown
2009-05-30 1:37 ` [PATCH 01/11] cpuidle: makes AMD C1E work in acpi_idle Len Brown
2009-05-30 1:37 ` [PATCH 02/11] cpuidle: fix AMD C1E suspend hang Len Brown
2009-05-30 1:37 ` [PATCH 03/11] PCI/ACPI: fix wrong ref count handling in acpi_pci_bind() Len Brown
2009-05-30 1:37 ` [PATCH 04/11] i7300_idle: allow testing on i5000-series hardware w/o re-compile Len Brown
2009-05-30 1:37 ` [PATCH 05/11] ACPI: sanity check _PSS frequency to prevent cpufreq crash Len Brown
2009-05-30 1:37 ` [PATCH 06/11] ACPI: video: DMI workaround broken eMachines E510 BIOS enabling display brightness Len Brown
2009-05-30 1:37 ` [PATCH 07/11] ACPI: video: DMI workaround broken Acer 5315 " Len Brown
2009-05-30 1:37 ` [PATCH 08/11] drm/i915: acpi/video.c fix section mismatch warning Len Brown
2009-05-30 1:37 ` [PATCH 09/11] ACPI processor: remove spurious newline from warning message Len Brown
2009-05-30 1:37 ` [PATCH 10/11] acpi-cpufreq: fix printk typo and indentation Len Brown
2009-05-30 1:37 ` [PATCH 11/11] ACPI, i915: build fix (v2) Len Brown
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).