From: Linus Torvalds Date: Sun, 7 Oct 2012 22:14:06 +0000 (+0900) Subject: Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=d8dc91b753b881c60c766c06aeec87675a07df4a;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git Merge branch 'release' of git://git./linux/kernel/git/lenb/linux Pul ACPI & Power Management updates from Len Brown: - acpidump utility added - intel_idle driver now supports IVB Xeon - turbostat utility can now count SMIs - ACPI can now bind to USB3 hubs - misc fixes * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux: (49 commits) ACPI: Add new sysfs interface to export device description ACPI: Harden acpi_table_parse_entries() against BIOS bug tools/power/turbostat: add option to count SMIs, re-name some options tools/power turbostat: add [-d MSR#][-D MSR#] options to print counter deltas intel_idle: enable IVB Xeon support tools/power turbostat: add [-m MSR#] option tools/power turbostat: make -M output pretty tools/power turbostat: print more turbo-limit information tools/power turbostat: delete unused line tools/power turbostat: run on IVB Xeon tools/power/acpi/acpidump: create acpidump(8), local make install targets tools/power/acpi/acpidump: version 20101221 - find dynamic tables in sysfs ACPI: run _OSC after ACPI_FULL_INITIALIZATION tools/power/acpi/acpidump: create acpidump(8), local make install targets tools/power/acpi/acpidump: version 20101221 - find dynamic tables in sysfs tools/power/acpi/acpidump: version 20071116 tools/power/acpi/acpidump: version 20070714 tools/power/acpi/acpidump: version 20060606 tools/power/acpi/acpidump: version 20051111 xo15-ebook: convert to module_acpi_driver() ... --- d8dc91b753b881c60c766c06aeec87675a07df4a diff --cc drivers/usb/core/usb-acpi.c index 0ef7d42d8abe,ce45f5535236..cef4252bb31a --- a/drivers/usb/core/usb-acpi.c +++ b/drivers/usb/core/usb-acpi.c @@@ -87,18 -24,10 +87,18 @@@ static int usb_acpi_check_port_connect_ acpi_status status; struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL }; union acpi_object *upc; - struct acpi_pld pld; ++ struct acpi_pld_info *pld; int ret = 0; - status = acpi_evaluate_object(handle, "_UPC", NULL, &buffer); - + /* + * Accoding to ACPI Spec 9.13. PLD indicates whether usb port is + * user visible and _UPC indicates whether it is connectable. If + * the port was visible and connectable, it could be freely connected + * and disconnected with USB devices. If no visible and connectable, + * a usb device is directly hard-wired to the port. If no visible and + * no connectable, the port would be not used. + */ + status = acpi_get_physical_device_location(handle, &pld); if (ACPI_FAILURE(status)) return -ENODEV; @@@ -111,16 -40,11 +111,17 @@@ } if (upc->package.elements[0].integer.value) - if (pld.user_visible) - udev->removable = USB_DEVICE_REMOVABLE; - else - udev->removable = USB_DEVICE_FIXED; ++ if (pld->user_visible) + usb_set_hub_port_connect_type(hdev, port1, + USB_PORT_CONNECT_TYPE_HOT_PLUG); + else + usb_set_hub_port_connect_type(hdev, port1, + USB_PORT_CONNECT_TYPE_HARD_WIRED); - else if (!pld.user_visible) ++ else if (!pld->user_visible) + usb_set_hub_port_connect_type(hdev, port1, USB_PORT_NOT_USED); out: ++ ACPI_FREE(pld); kfree(upc); return ret; } diff --cc include/acpi/acpixf.h index 51405d32ac64,267bfc4b26a9..8b891dbead66 --- a/include/acpi/acpixf.h +++ b/include/acpi/acpixf.h @@@ -47,11 -47,12 +47,12 @@@ /* Current ACPICA subsystem version in YYYYMMDD format */ - #define ACPI_CA_VERSION 0x20120711 + #define ACPI_CA_VERSION 0x20120913 -#include "acconfig.h" -#include "actypes.h" -#include "actbl.h" -#include "acbuffer.h" +#include +#include +#include ++#include extern u8 acpi_gbl_permanent_mmap;