Loading drivers/acpi/dock.c +8 −3 Original line number Diff line number Diff line Loading @@ -563,9 +563,6 @@ EXPORT_SYMBOL_GPL(unregister_hotplug_dock_device); */ static int handle_eject_request(struct dock_station *ds, u32 event) { if (!dock_present(ds)) return -ENODEV; if (dock_in_progress(ds)) return -EBUSY; Loading @@ -573,8 +570,16 @@ static int handle_eject_request(struct dock_station *ds, u32 event) * here we need to generate the undock * event prior to actually doing the undock * so that the device struct still exists. * Also, even send the dock event if the * device is not present anymore */ dock_event(ds, event, UNDOCK_EVENT); if (!dock_present(ds)) { complete_undock(ds); return -ENODEV; } hotplug_dock_devices(ds, ACPI_NOTIFY_EJECT_REQUEST); undock(ds); eject_dock(ds); Loading drivers/acpi/ec.c +36 −0 Original line number Diff line number Diff line Loading @@ -110,6 +110,31 @@ static struct acpi_ec { u8 handlers_installed; } *boot_ec, *first_ec; /* * Some Asus system have exchanged ECDT data/command IO addresses. */ static int print_ecdt_error(const struct dmi_system_id *id) { printk(KERN_NOTICE PREFIX "%s detected - " "ECDT has exchanged control/data I/O address\n", id->ident); return 0; } static struct dmi_system_id __cpuinitdata ec_dmi_table[] = { { print_ecdt_error, "Asus L4R", { DMI_MATCH(DMI_BIOS_VERSION, "1008.006"), DMI_MATCH(DMI_PRODUCT_NAME, "L4R"), DMI_MATCH(DMI_BOARD_NAME, "L4R") }, NULL}, { print_ecdt_error, "Asus M6R", { DMI_MATCH(DMI_BIOS_VERSION, "0207"), DMI_MATCH(DMI_PRODUCT_NAME, "M6R"), DMI_MATCH(DMI_BOARD_NAME, "M6R") }, NULL}, {}, }; /* -------------------------------------------------------------------------- Transaction Management -------------------------------------------------------------------------- */ Loading Loading @@ -196,6 +221,8 @@ static int acpi_ec_wait(struct acpi_ec *ec, enum ec_event event, int force_poll) return 0; msleep(1); } if (acpi_ec_check_status(ec,event)) return 0; } pr_err(PREFIX "acpi_ec_wait timeout, status = 0x%2.2x, event = %s\n", acpi_ec_read_status(ec), Loading Loading @@ -911,6 +938,15 @@ int __init acpi_ec_ecdt_probe(void) pr_info(PREFIX "EC description table is found, configuring boot EC\n"); boot_ec->command_addr = ecdt_ptr->control.address; boot_ec->data_addr = ecdt_ptr->data.address; if (dmi_check_system(ec_dmi_table)) { /* * If the board falls into ec_dmi_table, it means * that ECDT table gives the incorrect command/status * & data I/O address. Just fix it. */ boot_ec->data_addr = ecdt_ptr->control.address; boot_ec->command_addr = ecdt_ptr->data.address; } boot_ec->gpe = ecdt_ptr->gpe; boot_ec->handle = ACPI_ROOT_OBJECT; acpi_get_handle(ACPI_ROOT_OBJECT, ecdt_ptr->id, &boot_ec->handle); Loading drivers/acpi/pci_link.c +7 −5 Original line number Diff line number Diff line Loading @@ -849,7 +849,7 @@ static int __init acpi_irq_penalty_update(char *str, int used) if (irq < 0) continue; if (irq >= ACPI_MAX_IRQS) if (irq >= ARRAY_SIZE(acpi_irq_penalty)) continue; if (used) Loading @@ -872,11 +872,13 @@ static int __init acpi_irq_penalty_update(char *str, int used) */ void acpi_penalize_isa_irq(int irq, int active) { if (irq >= 0 && irq < ARRAY_SIZE(acpi_irq_penalty)) { if (active) acpi_irq_penalty[irq] += PIRQ_PENALTY_ISA_USED; else acpi_irq_penalty[irq] += PIRQ_PENALTY_PCI_USING; } } /* * Over-ride default table to reserve additional IRQs for use by ISA Loading drivers/acpi/processor_core.c +1 −1 Original line number Diff line number Diff line Loading @@ -123,7 +123,7 @@ struct acpi_processor_errata errata __read_mostly; static int set_no_mwait(const struct dmi_system_id *id) { printk(KERN_NOTICE PREFIX "%s detected - " "disable mwait for CPU C-stetes\n", id->ident); "disabling mwait for CPU C-states\n", id->ident); idle_nomwait = 1; return 0; } Loading drivers/acpi/processor_idle.c +0 −1 Original line number Diff line number Diff line Loading @@ -41,7 +41,6 @@ #include <linux/pm_qos_params.h> #include <linux/clockchips.h> #include <linux/cpuidle.h> #include <linux/cpuidle.h> /* * Include the apic definitions for x86 to have the APIC timer related defines Loading Loading
drivers/acpi/dock.c +8 −3 Original line number Diff line number Diff line Loading @@ -563,9 +563,6 @@ EXPORT_SYMBOL_GPL(unregister_hotplug_dock_device); */ static int handle_eject_request(struct dock_station *ds, u32 event) { if (!dock_present(ds)) return -ENODEV; if (dock_in_progress(ds)) return -EBUSY; Loading @@ -573,8 +570,16 @@ static int handle_eject_request(struct dock_station *ds, u32 event) * here we need to generate the undock * event prior to actually doing the undock * so that the device struct still exists. * Also, even send the dock event if the * device is not present anymore */ dock_event(ds, event, UNDOCK_EVENT); if (!dock_present(ds)) { complete_undock(ds); return -ENODEV; } hotplug_dock_devices(ds, ACPI_NOTIFY_EJECT_REQUEST); undock(ds); eject_dock(ds); Loading
drivers/acpi/ec.c +36 −0 Original line number Diff line number Diff line Loading @@ -110,6 +110,31 @@ static struct acpi_ec { u8 handlers_installed; } *boot_ec, *first_ec; /* * Some Asus system have exchanged ECDT data/command IO addresses. */ static int print_ecdt_error(const struct dmi_system_id *id) { printk(KERN_NOTICE PREFIX "%s detected - " "ECDT has exchanged control/data I/O address\n", id->ident); return 0; } static struct dmi_system_id __cpuinitdata ec_dmi_table[] = { { print_ecdt_error, "Asus L4R", { DMI_MATCH(DMI_BIOS_VERSION, "1008.006"), DMI_MATCH(DMI_PRODUCT_NAME, "L4R"), DMI_MATCH(DMI_BOARD_NAME, "L4R") }, NULL}, { print_ecdt_error, "Asus M6R", { DMI_MATCH(DMI_BIOS_VERSION, "0207"), DMI_MATCH(DMI_PRODUCT_NAME, "M6R"), DMI_MATCH(DMI_BOARD_NAME, "M6R") }, NULL}, {}, }; /* -------------------------------------------------------------------------- Transaction Management -------------------------------------------------------------------------- */ Loading Loading @@ -196,6 +221,8 @@ static int acpi_ec_wait(struct acpi_ec *ec, enum ec_event event, int force_poll) return 0; msleep(1); } if (acpi_ec_check_status(ec,event)) return 0; } pr_err(PREFIX "acpi_ec_wait timeout, status = 0x%2.2x, event = %s\n", acpi_ec_read_status(ec), Loading Loading @@ -911,6 +938,15 @@ int __init acpi_ec_ecdt_probe(void) pr_info(PREFIX "EC description table is found, configuring boot EC\n"); boot_ec->command_addr = ecdt_ptr->control.address; boot_ec->data_addr = ecdt_ptr->data.address; if (dmi_check_system(ec_dmi_table)) { /* * If the board falls into ec_dmi_table, it means * that ECDT table gives the incorrect command/status * & data I/O address. Just fix it. */ boot_ec->data_addr = ecdt_ptr->control.address; boot_ec->command_addr = ecdt_ptr->data.address; } boot_ec->gpe = ecdt_ptr->gpe; boot_ec->handle = ACPI_ROOT_OBJECT; acpi_get_handle(ACPI_ROOT_OBJECT, ecdt_ptr->id, &boot_ec->handle); Loading
drivers/acpi/pci_link.c +7 −5 Original line number Diff line number Diff line Loading @@ -849,7 +849,7 @@ static int __init acpi_irq_penalty_update(char *str, int used) if (irq < 0) continue; if (irq >= ACPI_MAX_IRQS) if (irq >= ARRAY_SIZE(acpi_irq_penalty)) continue; if (used) Loading @@ -872,11 +872,13 @@ static int __init acpi_irq_penalty_update(char *str, int used) */ void acpi_penalize_isa_irq(int irq, int active) { if (irq >= 0 && irq < ARRAY_SIZE(acpi_irq_penalty)) { if (active) acpi_irq_penalty[irq] += PIRQ_PENALTY_ISA_USED; else acpi_irq_penalty[irq] += PIRQ_PENALTY_PCI_USING; } } /* * Over-ride default table to reserve additional IRQs for use by ISA Loading
drivers/acpi/processor_core.c +1 −1 Original line number Diff line number Diff line Loading @@ -123,7 +123,7 @@ struct acpi_processor_errata errata __read_mostly; static int set_no_mwait(const struct dmi_system_id *id) { printk(KERN_NOTICE PREFIX "%s detected - " "disable mwait for CPU C-stetes\n", id->ident); "disabling mwait for CPU C-states\n", id->ident); idle_nomwait = 1; return 0; } Loading
drivers/acpi/processor_idle.c +0 −1 Original line number Diff line number Diff line Loading @@ -41,7 +41,6 @@ #include <linux/pm_qos_params.h> #include <linux/clockchips.h> #include <linux/cpuidle.h> #include <linux/cpuidle.h> /* * Include the apic definitions for x86 to have the APIC timer related defines Loading