Pull misc-for-upstream into release branch

This commit is contained in:
Len Brown 2007-03-09 23:19:50 -05:00
commit 63e34ca93a
7 changed files with 32 additions and 31 deletions

View file

@ -126,7 +126,8 @@ and is between 256 and 4096 characters. It is defined in the file
See header of drivers/scsi/53c7xx.c. See header of drivers/scsi/53c7xx.c.
See also Documentation/scsi/ncr53c7xx.txt. See also Documentation/scsi/ncr53c7xx.txt.
acpi= [HW,ACPI] Advanced Configuration and Power Interface acpi= [HW,ACPI,X86-64,i386]
Advanced Configuration and Power Interface
Format: { force | off | ht | strict | noirq } Format: { force | off | ht | strict | noirq }
force -- enable ACPI if default was off force -- enable ACPI if default was off
off -- disable ACPI if default was on off -- disable ACPI if default was on

View file

@ -7,6 +7,7 @@ menu "ACPI (Advanced Configuration and Power Interface) Support"
depends on !X86_VISWS depends on !X86_VISWS
depends on !IA64_HP_SIM depends on !IA64_HP_SIM
depends on IA64 || X86 depends on IA64 || X86
depends on PM
config ACPI config ACPI
bool "ACPI Support" bool "ACPI Support"

View file

@ -79,11 +79,17 @@ static int __init blacklist_by_year(void)
{ {
int year = dmi_get_year(DMI_BIOS_DATE); int year = dmi_get_year(DMI_BIOS_DATE);
/* Doesn't exist? Likely an old system */ /* Doesn't exist? Likely an old system */
if (year == -1) if (year == -1) {
printk(KERN_ERR PREFIX "no DMI BIOS year, "
"acpi=force is required to enable ACPI\n" );
return 1; return 1;
}
/* 0? Likely a buggy new BIOS */ /* 0? Likely a buggy new BIOS */
if (year == 0) if (year == 0) {
printk(KERN_ERR PREFIX "DMI BIOS year==0, "
"assuming ACPI-capable machine\n" );
return 0; return 0;
}
if (year < CONFIG_ACPI_BLACKLIST_YEAR) { if (year < CONFIG_ACPI_BLACKLIST_YEAR) {
printk(KERN_ERR PREFIX "BIOS age (%d) fails cutoff (%d), " printk(KERN_ERR PREFIX "BIOS age (%d) fails cutoff (%d), "
"acpi=force is required to enable ACPI\n", "acpi=force is required to enable ACPI\n",

View file

@ -688,13 +688,6 @@ static int acpi_power_resume(struct acpi_device *device)
return result; return result;
mutex_lock(&resource->resource_lock); mutex_lock(&resource->resource_lock);
if ((resource->state == ACPI_POWER_RESOURCE_STATE_ON) &&
list_empty(&resource->reference)) {
mutex_unlock(&resource->resource_lock);
result = acpi_power_off_device(device->handle, NULL);
return result;
}
if ((resource->state == ACPI_POWER_RESOURCE_STATE_OFF) && if ((resource->state == ACPI_POWER_RESOURCE_STATE_OFF) &&
!list_empty(&resource->reference)) { !list_empty(&resource->reference)) {
ref = container_of(resource->reference.next, struct acpi_power_reference, node); ref = container_of(resource->reference.next, struct acpi_power_reference, node);

View file

@ -102,9 +102,9 @@ struct acpi_video_bus_cap {
struct acpi_video_device_attrib { struct acpi_video_device_attrib {
u32 display_index:4; /* A zero-based instance of the Display */ u32 display_index:4; /* A zero-based instance of the Display */
u32 display_port_attachment:4; /*This field differenates displays type */ u32 display_port_attachment:4; /*This field differentiates the display type */
u32 display_type:4; /*Describe the specific type in use */ u32 display_type:4; /*Describe the specific type in use */
u32 vendor_specific:4; /*Chipset Vendor Specifi */ u32 vendor_specific:4; /*Chipset Vendor Specific */
u32 bios_can_detect:1; /*BIOS can detect the device */ u32 bios_can_detect:1; /*BIOS can detect the device */
u32 depend_on_vga:1; /*Non-VGA output device whose power is related to u32 depend_on_vga:1; /*Non-VGA output device whose power is related to
the VGA device. */ the VGA device. */
@ -484,16 +484,16 @@ acpi_video_bus_POST_options(struct acpi_video_bus *video,
* 0. The system BIOS should NOT automatically switch(toggle) * 0. The system BIOS should NOT automatically switch(toggle)
* the active display output. * the active display output.
* 1. The system BIOS should automatically switch (toggle) the * 1. The system BIOS should automatically switch (toggle) the
* active display output. No swich event. * active display output. No switch event.
* 2. The _DGS value should be locked. * 2. The _DGS value should be locked.
* 3. The system BIOS should not automatically switch (toggle) the * 3. The system BIOS should not automatically switch (toggle) the
* active display output, but instead generate the display switch * active display output, but instead generate the display switch
* event notify code. * event notify code.
* lcd_flag : * lcd_flag :
* 0. The system BIOS should automatically control the brightness level * 0. The system BIOS should automatically control the brightness level
* of the LCD, when the power changes from AC to DC * of the LCD when the power changes from AC to DC
* 1. The system BIOS should NOT automatically control the brightness * 1. The system BIOS should NOT automatically control the brightness
* level of the LCD, when the power changes from AC to DC. * level of the LCD when the power changes from AC to DC.
* Return Value: * Return Value:
* -1 wrong arg. * -1 wrong arg.
*/ */
@ -525,7 +525,7 @@ acpi_video_bus_DOS(struct acpi_video_bus *video, int bios_flag, int lcd_flag)
* Return Value: * Return Value:
* None * None
* *
* Find out all required AML method defined under the output * Find out all required AML methods defined under the output
* device. * device.
*/ */
@ -636,7 +636,7 @@ static void acpi_video_device_find_cap(struct acpi_video_device *device)
* Return Value: * Return Value:
* None * None
* *
* Find out all required AML method defined under the video bus device. * Find out all required AML methods defined under the video bus device.
*/ */
static void acpi_video_bus_find_cap(struct acpi_video_bus *video) static void acpi_video_bus_find_cap(struct acpi_video_bus *video)
@ -681,19 +681,19 @@ static int acpi_video_bus_check(struct acpi_video_bus *video)
* to check well known required nodes. * to check well known required nodes.
*/ */
/* Does this device able to support video switching ? */ /* Does this device support video switching? */
if (video->cap._DOS) { if (video->cap._DOS) {
video->flags.multihead = 1; video->flags.multihead = 1;
status = 0; status = 0;
} }
/* Does this device able to retrieve a retrieve a video ROM ? */ /* Does this device support retrieving a video ROM? */
if (video->cap._ROM) { if (video->cap._ROM) {
video->flags.rom = 1; video->flags.rom = 1;
status = 0; status = 0;
} }
/* Does this device able to configure which video device to POST ? */ /* Does this device support configuring which video device to POST? */
if (video->cap._GPD && video->cap._SPD && video->cap._VPO) { if (video->cap._GPD && video->cap._SPD && video->cap._VPO) {
video->flags.post = 1; video->flags.post = 1;
status = 0; status = 0;
@ -860,7 +860,7 @@ acpi_video_device_write_brightness(struct file *file,
if (level > 100) if (level > 100)
return -EFAULT; return -EFAULT;
/* validate though the list of available levels */ /* validate through the list of available levels */
for (i = 0; i < dev->brightness->count; i++) for (i = 0; i < dev->brightness->count; i++)
if (level == dev->brightness->levels[i]) { if (level == dev->brightness->levels[i]) {
if (ACPI_SUCCESS if (ACPI_SUCCESS
@ -1065,10 +1065,10 @@ static int acpi_video_bus_POST_info_seq_show(struct seq_file *seq, void *offset)
printk(KERN_WARNING PREFIX printk(KERN_WARNING PREFIX
"The motherboard VGA device is not listed as a possible POST device.\n"); "The motherboard VGA device is not listed as a possible POST device.\n");
printk(KERN_WARNING PREFIX printk(KERN_WARNING PREFIX
"This indicate a BIOS bug. Please contact the manufacturer.\n"); "This indicates a BIOS bug. Please contact the manufacturer.\n");
} }
printk("%lx\n", options); printk("%lx\n", options);
seq_printf(seq, "can POST: <intgrated video>"); seq_printf(seq, "can POST: <integrated video>");
if (options & 2) if (options & 2)
seq_printf(seq, " <PCI video>"); seq_printf(seq, " <PCI video>");
if (options & 4) if (options & 4)
@ -1102,7 +1102,7 @@ static int acpi_video_bus_POST_seq_show(struct seq_file *seq, void *offset)
seq_printf(seq, "<not supported>\n"); seq_printf(seq, "<not supported>\n");
goto end; goto end;
} }
seq_printf(seq, "device posted is <%s>\n", device_decode[id & 3]); seq_printf(seq, "device POSTed is <%s>\n", device_decode[id & 3]);
end: end:
return 0; return 0;
@ -1156,7 +1156,7 @@ acpi_video_bus_write_POST(struct file *file,
if (opt > 3) if (opt > 3)
return -EFAULT; return -EFAULT;
/* just in case an OEM 'forget' the motherboard... */ /* just in case an OEM 'forgot' the motherboard... */
options |= 1; options |= 1;
if (options & (1ul << opt)) { if (options & (1ul << opt)) {
@ -1527,13 +1527,13 @@ static int acpi_video_device_enumerate(struct acpi_video_bus *video)
/* /*
* Arg: * Arg:
* video : video bus device * video : video bus device
* event : Nontify Event * event : notify event
* *
* Return: * Return:
* < 0 : error * < 0 : error
* *
* 1. Find out the current active output device. * 1. Find out the current active output device.
* 2. Identify the next output device to switch * 2. Identify the next output device to switch to.
* 3. call _DSS to do actual switch. * 3. call _DSS to do actual switch.
*/ */
@ -1723,12 +1723,12 @@ static void acpi_video_bus_notify(acpi_handle handle, u32 event, void *data)
device = video->device; device = video->device;
switch (event) { switch (event) {
case ACPI_VIDEO_NOTIFY_SWITCH: /* User request that a switch occur, case ACPI_VIDEO_NOTIFY_SWITCH: /* User requested a switch,
* most likely via hotkey. */ * most likely via hotkey. */
acpi_bus_generate_event(device, event, 0); acpi_bus_generate_event(device, event, 0);
break; break;
case ACPI_VIDEO_NOTIFY_PROBE: /* User plug or remove a video case ACPI_VIDEO_NOTIFY_PROBE: /* User plugged in or removed a video
* connector. */ * connector. */
acpi_video_device_enumerate(video); acpi_video_device_enumerate(video);
acpi_video_device_rebind(video); acpi_video_device_rebind(video);

View file

@ -211,7 +211,7 @@ static struct workqueue_struct *led_workqueue;
enum led_brightness value); \ enum led_brightness value); \
static void object##_led_update(struct work_struct *ignored); \ static void object##_led_update(struct work_struct *ignored); \
static int object##_led_wk; \ static int object##_led_wk; \
DECLARE_WORK(object##_led_work, object##_led_update); \ static DECLARE_WORK(object##_led_work, object##_led_update); \
static struct led_classdev object##_led = { \ static struct led_classdev object##_led = { \
.name = "asus:" ledname, \ .name = "asus:" ledname, \
.brightness_set = object##_led_set, \ .brightness_set = object##_led_set, \

View file

@ -453,7 +453,7 @@ static int sony_acpi_resume(struct acpi_device *device)
static int sony_acpi_add(struct acpi_device *device) static int sony_acpi_add(struct acpi_device *device)
{ {
acpi_status status; acpi_status status;
int result; int result = 0;
acpi_handle handle; acpi_handle handle;
sony_acpi_acpi_device = device; sony_acpi_acpi_device = device;