09 Mar, 2016

1 commit

  • Per the x86-specific footnote to PCI spec r3.0, sec 6.2.4, the value 255 in
    the Interrupt Line register means "unknown" or "no connection."
    Previously, when we couldn't derive an IRQ from the _PRT, we fell back to
    using the value from Interrupt Line as an IRQ. It's questionable whether
    we should do that at all, but the spec clearly suggests we shouldn't do it
    for the value 255 on x86.

    Calling request_irq() with IRQ 255 may succeed, but the driver won't
    receive any interrupts. Or, if IRQ 255 is shared with another device, it
    may succeed, and the driver's ISR will be called at random times when the
    *other* device interrupts. Or it may fail if another device is using IRQ
    255 with incompatible flags. What we *want* is for request_irq() to fail
    predictably so the driver can fall back to polling.

    On x86, assume 255 in the Interrupt Line means the INTx line is not
    connected. In that case, set dev->irq to IRQ_NOTCONNECTED so request_irq()
    will fail gracefully with -ENOTCONN.

    We found this problem on a system where Secure Boot firmware assigned
    Interrupt Line 255 to an i801_smbus device and another device was already
    using MSI-X IRQ 255. This was in v3.10, where i801_probe() fails if
    request_irq() fails:

    i801_smbus 0000:00:1f.3: enabling device (0140 -> 0143)
    i801_smbus 0000:00:1f.3: can't derive routing for PCI INT C
    i801_smbus 0000:00:1f.3: PCI INT C: no GSI
    genirq: Flags mismatch irq 255. 00000080 (i801_smbus) vs. 00000000 (megasa)
    CPU: 0 PID: 2487 Comm: kworker/0:1 Not tainted 3.10.0-229.el7.x86_64 #1
    Hardware name: FUJITSU PRIMEQUEST 2800E2/D3736, BIOS PRIMEQUEST 2000 Serie5
    Call Trace:
    dump_stack+0x19/0x1b
    __setup_irq+0x54a/0x570
    request_threaded_irq+0xcc/0x170
    i801_probe+0x32f/0x508 [i2c_i801]
    local_pci_probe+0x45/0xa0
    i801_smbus 0000:00:1f.3: Failed to allocate irq 255: -16
    i801_smbus: probe of 0000:00:1f.3 failed with error -16

    After aeb8a3d16ae0 ("i2c: i801: Check if interrupts are disabled"),
    i801_probe() will fall back to polling if request_irq() fails. But we
    still need this patch because request_irq() may succeed or fail depending
    on other devices in the system. If request_irq() fails, i801_smbus will
    work by falling back to polling, but if it succeeds, i801_smbus won't work
    because it expects interrupts that it may not receive.

    Signed-off-by: Chen Fan
    Acked-by: Thomas Gleixner
    Acked-by: Bjorn Helgaas
    Signed-off-by: Rafael J. Wysocki

    Chen Fan
     

05 Mar, 2016

1 commit

  • If firmware doesn't implement any of the ARS commands, take that to
    mean that ARS is unsupported, and continue to initialize regions without
    bad block lists. We cannot make the assumption that ARS commands will be
    unconditionally supported on all NVDIMMs.

    Reported-by: Haozhong Zhang
    Signed-off-by: Vishal Verma
    Acked-by: Xiao Guangrong
    Tested-by: Haozhong Zhang
    Signed-off-by: Dan Williams

    Vishal Verma
     

28 Feb, 2016

1 commit

  • Pull PCI fixes from Bjorn Helgaas:
    "Enumeration:
    Revert x86 pcibios_alloc_irq() to fix regression (Bjorn Helgaas)

    Marvell MVEBU host bridge driver:
    Restrict build to 32-bit ARM (Thierry Reding)"

    * tag 'pci-v4.5-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
    PCI: mvebu: Restrict build to 32-bit ARM
    Revert "PCI, x86: Implement pcibios_alloc_irq() and pcibios_free_irq()"
    Revert "PCI: Add helpers to manage pci_dev->irq and pci_dev->irq_managed"
    Revert "x86/PCI: Don't alloc pcibios-irq when MSI is enabled"

    Linus Torvalds
     

27 Feb, 2016

2 commits

  • 991de2e59090 ("PCI, x86: Implement pcibios_alloc_irq() and
    pcibios_free_irq()") appeared in v4.3 and helps support IOAPIC hotplug.

    Олег reported that the Elcus-1553 TA1-PCI driver worked in v4.2 but not
    v4.3 and bisected it to 991de2e59090. Sunjin reported that the RocketRAID
    272x driver worked in v4.2 but not v4.3. In both cases booting with
    "pci=routirq" is a workaround.

    I think the problem is that after 991de2e59090, we no longer call
    pcibios_enable_irq() for upstream bridges. Prior to 991de2e59090, when a
    driver called pci_enable_device(), we recursively called
    pcibios_enable_irq() for upstream bridges via pci_enable_bridge().

    After 991de2e59090, we call pcibios_enable_irq() from pci_device_probe()
    instead of the pci_enable_device() path, which does *not* call
    pcibios_enable_irq() for upstream bridges.

    Revert 991de2e59090 to fix these driver regressions.

    Link: https://bugzilla.kernel.org/show_bug.cgi?id=111211
    Fixes: 991de2e59090 ("PCI, x86: Implement pcibios_alloc_irq() and pcibios_free_irq()")
    Reported-and-tested-by: Олег Мороз
    Reported-by: Sunjin Yang
    Signed-off-by: Bjorn Helgaas
    Acked-by: Rafael J. Wysocki
    CC: Jiang Liu

    Bjorn Helgaas
     
  • Pull power management and ACPI fixes from Rafael Wysocki:
    "These are two reverts of recent PCI-related ACPI core changes (one of
    which caused some systems to crash on boot and the other was a cleanup
    on top of it) and a devfreq fix for Tegra.

    Specifics:

    - Revert an ACPI core change related to IRQ management in PCI that
    introduced code relying on the use of kmalloc() which turned out to
    also run during early init when that's not available yet and caused
    some systems to crash on boot for this reason along with a cleanup
    on top of it (Rafael Wysocki).

    - Prevent devfreq from flooding the kernel log with useless messages
    on Tegra (which started to happen after some recent changes in the
    devfreq core) by fixing the driver to follow the documentation and
    the core's expectations in its ->target callback (Tomeu Vizoso)"

    * tag 'pm+acpi-4.5-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    Revert "ACPI, PCI, irq: remove interrupt count restriction"
    Revert "ACPI / PCI: Simplify acpi_penalize_isa_irq()"
    PM / devfreq: tegra: Set freq in rate callback

    Linus Torvalds
     

24 Feb, 2016

3 commits

  • Revert commit b5bd02695471 (ACPI, PCI, irq: remove interrupt count
    restriction) that introduced a boot regression on some systems
    where it caused kmalloc() to be used too early.

    Link: http://marc.info/?l=linux-acpi&m=145580159209240&w=2
    Reported-by: Nalla, Ravikanth
    Signed-off-by: Rafael J. Wysocki

    Rafael J. Wysocki
     
  • Revert commit 0971686954f9 "ACPI / PCI: Simplify acpi_penalize_isa_irq()"
    that depends on commit b5bd02695471 (ACPI, PCI, irq: remove interrupt
    count restriction) which introduced a regression and needs to be
    reverted for this reason.

    Signed-off-by: Rafael J. Wysocki

    Rafael J. Wysocki
     
  • The original format of these commands from the "NVDIMM DSM Interface
    Example" [1] are superseded by the ACPI 6.1 definition of the "NVDIMM Root
    Device _DSMs" [2].

    [1]: http://pmem.io/documents/NVDIMM_DSM_Interface_Example.pdf
    [2]: http://www.uefi.org/sites/default/files/resources/ACPI_6_1.pdf
    "9.20.7 NVDIMM Root Device _DSMs"

    Changes include:
    1/ New 'restart' fields in ars_status, unfortunately these are
    implemented in the middle of the existing definition so this change
    is not backwards compatible. The expectation is that shipping
    platforms will only ever support the ACPI 6.1 definition.

    2/ New status values for ars_start ('busy') and ars_status ('overflow').

    Cc: Vishal Verma
    Cc: Linda Knippers
    Cc:
    Signed-off-by: Dan Williams

    Dan Williams
     

20 Feb, 2016

2 commits

  • Use the output length specified in the command to size the receive
    buffer rather than the arbitrary 4K limit.

    This bug was hiding the fact that the ndctl implementation of
    ndctl_bus_cmd_new_ars_status() was not specifying an output buffer size.

    Cc:
    Cc: Vishal Verma
    Signed-off-by: Dan Williams

    Dan Williams
     
  • ACPI 6.1 clarified that multi-interface dimms require multiple control
    region entries (DCRs) per dimm. Previously we were assuming that a
    control region is only present when block-data-windows are present.
    This implementation was done with an eye to be compatibility with the
    looser ACPI 6.0 interpretation of this table.

    1/ When coalescing the memory device (MEMDEV) tables for a single dimm,
    coalesce on device_handle rather than control region index.

    2/ Whenever we disocver a control region with non-zero block windows
    re-scan for block-data-window (BDW) entries.

    We may need to revisit this if a DIMM ever implements a format interface
    outside of blk or pmem, but that is not on the foreseeable horizon.

    Cc:
    Signed-off-by: Dan Williams

    Dan Williams
     

18 Feb, 2016

1 commit

  • Revert 811a4e6fce09 ("PCI: Add helpers to manage pci_dev->irq and
    pci_dev->irq_managed").

    This is part of reverting 991de2e59090 ("PCI, x86: Implement
    pcibios_alloc_irq() and pcibios_free_irq()") to fix regressions it
    introduced.

    Link: https://bugzilla.kernel.org/show_bug.cgi?id=111211
    Fixes: 991de2e59090 ("PCI, x86: Implement pcibios_alloc_irq() and pcibios_free_irq()")
    Signed-off-by: Bjorn Helgaas
    Acked-by: Rafael J. Wysocki
    CC: Jiang Liu

    Bjorn Helgaas
     

06 Feb, 2016

1 commit


03 Feb, 2016

1 commit

  • The commit 989561de9b51 ("PM / Domains: add setter for dev.pm_domain") changed
    acpi_lpss.c module to use PM domain setter, though it missed one assignment.
    Add it here.

    Fixes: 989561de9b51 (PM / Domains: add setter for dev.pm_domain)
    Signed-off-by: Andy Shevchenko
    Signed-off-by: Rafael J. Wysocki

    Andy Shevchenko
     

30 Jan, 2016

1 commit


23 Jan, 2016

2 commits

  • The quirk to get "acpi_backlight=vendor" behavior by default on the
    Dell Inspiron 5737 was added before we started doing
    "acpi_backlight=native" by default on Win8 ready machines.

    Since we now avoid using acpi-video as backlight driver on these machines
    by default (using the native driver instead) we no longer need this quirk.

    Moreover the vendor driver does not work after a suspend/resume where
    as the native driver does.

    This reverts commit 08a56226d847 (ACPI / video: Add Dell Inspiron 5737
    to the blacklist).

    Link: https://bugzilla.kernel.org/show_bug.cgi?id=111061
    Cc: 3.19+ # 3.19+
    Reported-and-tested-by: erusan@gmail.com
    Signed-off-by: Hans de Goede
    Signed-off-by: Rafael J. Wysocki

    Hans de Goede
     
  • There are many locations that do

    if (memory_was_allocated_by_vmalloc)
    vfree(ptr);
    else
    kfree(ptr);

    but kvfree() can handle both kmalloc()ed memory and vmalloc()ed memory
    using is_vmalloc_addr(). Unless callers have special reasons, we can
    replace this branch with kvfree(). Please check and reply if you found
    problems.

    Signed-off-by: Tetsuo Handa
    Acked-by: Michal Hocko
    Acked-by: Jan Kara
    Acked-by: Russell King
    Reviewed-by: Andreas Dilger
    Acked-by: "Rafael J. Wysocki"
    Acked-by: David Rientjes
    Cc: "Luck, Tony"
    Cc: Oleg Drokin
    Cc: Boris Petkov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Tetsuo Handa
     

21 Jan, 2016

3 commits

  • Pull more power management and ACPI updates from Rafael Wysocki:
    "This includes fixes on top of the previous batch of PM+ACPI updates
    and some new material as well.

    From the new material perspective the most significant are the driver
    core changes that should allow USB devices to stay suspended over
    system suspend/resume cycles if they have been runtime-suspended
    already beforehand. Apart from that, ACPICA is updated to upstream
    revision 20160108 (cosmetic mostly, but including one fixup on top of
    the previous ACPICA update) and there are some devfreq updates the
    didn't make it before (due to timing).

    A few recent regressions are fixed, most importantly in the cpuidle
    menu governor and in the ACPI backlight driver and some x86 platform
    drivers depending on it.

    Some more bugs are fixed and cleanups are made on top of that.

    Specifics:

    - Modify the driver core and the USB subsystem to allow USB devices
    to stay suspended over system suspend/resume cycles if they have
    been runtime-suspended already beforehand and fix some bugs on top
    of these changes (Tomeu Vizoso, Rafael Wysocki).

    - Update ACPICA to upstream revision 20160108, including updates of
    the ACPICA's copyright notices, a code fixup resulting from a
    regression fix that was necessary in the upstream code only (the
    regression fixed by it has never been present in Linux) and a
    compiler warning fix (Bob Moore, Lv Zheng).

    - Fix a recent regression in the cpuidle menu governor that broke it
    on practically all architectures other than x86 and make a couple
    of optimizations on top of that fix (Rafael Wysocki).

    - Clean up the selection of cpuidle governors depending on whether or
    not the kernel is configured for tickless systems (Jean Delvare).

    - Revert a recent commit that introduced a regression in the ACPI
    backlight driver, address the problem it attempted to fix in a
    different way and revert one more cosmetic change depending on the
    problematic commit (Hans de Goede).

    - Add two more ACPI backlight quirks (Hans de Goede).

    - Fix a few minor problems in the core devfreq code, clean it up a
    bit and update the MAINTAINERS information related to it (Chanwoo
    Choi, MyungJoo Ham).

    - Improve an error message in the ACPI fan driver (Andy Lutomirski).

    - Fix a recent build regression in the cpupower tool (Shreyas
    Prabhu)"

    * tag 'pm+acpi-4.5-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (32 commits)
    cpuidle: menu: Avoid pointless checks in menu_select()
    sched / idle: Drop default_idle_call() fallback from call_cpuidle()
    cpupower: Fix build error in cpufreq-info
    cpuidle: Don't enable all governors by default
    cpuidle: Default to ladder governor on ticking systems
    time: nohz: Expose tick_nohz_enabled
    ACPICA: Update version to 20160108
    ACPICA: Silence a -Wbad-function-cast warning when acpi_uintptr_t is 'uintptr_t'
    ACPICA: Additional 2016 copyright changes
    ACPICA: Reduce regression fix divergence from upstream ACPICA
    ACPI / video: Add disable_backlight_sysfs_if quirk for the Toshiba Satellite R830
    ACPI / video: Revert "thinkpad_acpi: Use acpi_video_handles_brightness_key_presses()"
    ACPI / video: Document acpi_video_handles_brightness_key_presses() a bit
    ACPI / video: Fix using an uninitialized mutex / list_head in acpi_video_handles_brightness_key_presses()
    ACPI / video: Revert "ACPI / video: driver must be registered before checking for keypresses"
    ACPI / fan: Improve acpi_device_update_power error message
    ACPI / video: Add disable_backlight_sysfs_if quirk for the Toshiba Portege R700
    cpuidle: menu: Fix menu_select() for CPUIDLE_DRIVER_STATE_START == 0
    MAINTAINERS: Add devfreq-event entry
    MAINTAINERS: Add missing git repository and directory for devfreq
    ...

    Linus Torvalds
     
  • * pm-core:
    driver core: Avoid NULL pointer dereferences in device_is_bound()
    platform: Do not detach from PM domains on shutdown
    USB / PM: Allow USB devices to remain runtime-suspended when sleeping
    PM / sleep: Go direct_complete if driver has no callbacks
    PM / Domains: add setter for dev.pm_domain
    device core: add device_is_bound()

    Rafael J. Wysocki
     
  • * acpica:
    ACPICA: Update version to 20160108
    ACPICA: Silence a -Wbad-function-cast warning when acpi_uintptr_t is 'uintptr_t'
    ACPICA: Additional 2016 copyright changes
    ACPICA: Reduce regression fix divergence from upstream ACPICA

    * acpi-video:
    ACPI / video: Add disable_backlight_sysfs_if quirk for the Toshiba Satellite R830
    ACPI / video: Revert "thinkpad_acpi: Use acpi_video_handles_brightness_key_presses()"
    ACPI / video: Document acpi_video_handles_brightness_key_presses() a bit
    ACPI / video: Fix using an uninitialized mutex / list_head in acpi_video_handles_brightness_key_presses()
    ACPI / video: Revert "ACPI / video: driver must be registered before checking for keypresses"
    ACPI / video: Add disable_backlight_sysfs_if quirk for the Toshiba Portege R700

    * acpi-fan:
    ACPI / fan: Improve acpi_device_update_power error message

    Rafael J. Wysocki
     

16 Jan, 2016

8 commits

  • Do not pass the return value of strtoul() to the ACPI_TO_POINTER()
    macro to avoid a -Wbad-function-cast warning.

    Signed-off-by: Sascha Wildner
    Signed-off-by: Lv Zheng
    [ rjw: Changelog ]
    Signed-off-by: Rafael J. Wysocki

    Lv Zheng
     
  • All tool/utility signons.
    Dual-license module header.

    Signed-off-by: Bob Moore
    Signed-off-by: Lv Zheng
    Signed-off-by: Rafael J. Wysocki

    Bob Moore
     
  • Linux has been fixed during 20151218 release cycle by reverting wrong code
    in the following commit:
    ACPICA commit: 071eff738c59eda1792ac24b3b688b61691d7e7c
    Subject: Add per-table execution of module-level code, early region
    handlers
    While upstream ACPICA fixes later in the following commit:
    ACPICA commit: bf6cfddb4784c349f781758981b207253b5a1252
    Subject: Fix for module-level-code regression introduced in 20151218

    This results in the divergences and this patch is meant to reduce such
    divergences. Lv Zheng.

    Signed-off-by: Lv Zheng
    Signed-off-by: Rafael J. Wysocki

    Lv Zheng
     
  • The Toshiba Satellite R830 needs disable_backlight_sysfs_if=1, just like
    the Toshiba Portege R830. Add a quirk for this.

    Link: https://bugzilla.kernel.org/show_bug.cgi?id=21012
    Cc: 4.2+ # 4.2+
    Tested-by: To Do
    Signed-off-by: Hans de Goede
    Signed-off-by: Rafael J. Wysocki

    Hans de Goede
     
  • …_brightness_key_presses()

    If acpi_video_handles_brightness_key_presses() was called before
    acpi_video_register(), it would use the video_list mutex / list_head
    uninitialized.

    This patch fixes this by using DEFINE_MUTEX / LIST_HEAD when declaring
    these, instead of initializing them runtime from acpi_video_register().

    Fixes: 90b066b15eda "ACPI / video: Add a acpi_video_handles_brightness_key_presses() helper"
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

    Hans de Goede
     
  • On systems with an intel video opcode region, the completion used in the
    patch this commit reverts will only complete if the i915 driver loads.

    If for some reason the i915 driver never loads calls to
    acpi_video_handles_brightness_key_presses() may be delayed indefinitely.

    This reverts commit aecbd9b1bff6 ("ACPI / video: driver must be registered
    before checking for keypresses") fixing this.

    This reintroduces a potential NULL pointer deref due to using an
    uninitalized mutex, this is fixed differently in a follow-up patch.

    Fixes: aecbd9b1bff6 (ACPI / video: driver must be registered before checking for keypresses)
    Signed-off-by: Hans de Goede
    Signed-off-by: Rafael J. Wysocki

    Hans de Goede
     
  • On my laptop, I see "Setting initial power state" on boot. It's a
    firmware bug on my laptop, but the message made me think that the
    initial power state was bogus and the driver fixed it. The error
    actually means that the driver failed to set the initial power
    state. Fix the message.

    Signed-off-by: Andy Lutomirski
    Signed-off-by: Rafael J. Wysocki

    Andy Lutomirski
     
  • The Toshiba Portege R700 needs disable_backlight_sysfs_if=1, just like
    the Toshiba Portege R830. Add a quirk for this.

    Link: https://bugzilla.kernel.org/show_bug.cgi?id=21012
    Cc: 4.2+ # 4.2+
    Tested-by: Emma Reisz
    Signed-off-by: Hans de Goede
    Signed-off-by: Rafael J. Wysocki

    Hans de Goede
     

14 Jan, 2016

1 commit

  • Pull libnvdimm updates from Dan Williams:
    "The bulk of this has appeared in -next and independently received a
    build success notification from the kbuild robot. The 'for-4.5/block-
    dax' topic branch was rebased over the weekend to drop the "block
    device end-of-life" rework that Al would like to see re-implemented
    with a notifier, and to address bug reports against the badblocks
    integration.

    There is pending feedback against "libnvdimm: Add a poison list and
    export badblocks" received last week. Linda identified some localized
    fixups that we will handle incrementally.

    Summary:

    - Media error handling: The 'badblocks' implementation that
    originated in md-raid is up-levelled to a generic capability of a
    block device. This initial implementation is limited to being
    consulted in the pmem block-i/o path. Later, 'badblocks' will be
    consulted when creating dax mappings.

    - Raw block device dax: For virtualization and other cases that want
    large contiguous mappings of persistent memory, add the capability
    to dax-mmap a block device directly.

    - Increased /dev/mem restrictions: Add an option to treat all
    io-memory as IORESOURCE_EXCLUSIVE, i.e. disable /dev/mem access
    while a driver is actively using an address range. This behavior
    is controlled via the new CONFIG_IO_STRICT_DEVMEM option and can be
    overridden by the existing "iomem=relaxed" kernel command line
    option.

    - Miscellaneous fixes include a 'pfn'-device huge page alignment fix,
    block device shutdown crash fix, and other small libnvdimm fixes"

    * tag 'libnvdimm-for-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: (32 commits)
    block: kill disk_{check|set|clear|alloc}_badblocks
    libnvdimm, pmem: nvdimm_read_bytes() badblocks support
    pmem, dax: disable dax in the presence of bad blocks
    pmem: fail io-requests to known bad blocks
    libnvdimm: convert to statically allocated badblocks
    libnvdimm: don't fail init for full badblocks list
    block, badblocks: introduce devm_init_badblocks
    block: clarify badblocks lifetime
    badblocks: rename badblocks_free to badblocks_exit
    libnvdimm, pmem: move definition of nvdimm_namespace_add_poison to nd.h
    libnvdimm: Add a poison list and export badblocks
    nfit_test: Enable DSMs for all test NFITs
    md: convert to use the generic badblocks code
    block: Add badblock management for gendisks
    badblocks: Add core badblock management code
    block: fix del_gendisk() vs blkdev_ioctl crash
    block: enable dax for raw block devices
    block: introduce bdev_file_inode()
    restrict /dev/mem to idle io memory ranges
    arch: consolidate CONFIG_STRICT_DEVM in lib/Kconfig.debug
    ...

    Linus Torvalds
     

12 Jan, 2016

8 commits

  • * acpi-pnp:
    ACPI / PNP: constify device IDs

    * pnp:
    PNP: respect PNP_DRIVER_RES_DO_NOT_CHANGE when detaching
    PNP: Add Broadwell to Intel MCH size workaround

    Rafael J. Wysocki
     
  • * acpi-pci:
    ACPI, PCI, irq: remove redundant check for null string pointer
    ACPI / PCI: Simplify acpi_penalize_isa_irq()
    ACPI, PCI, irq: remove interrupt number restriction
    ACPI, PCI, irq: remove interrupt count restriction

    * acpi-irq:
    ACPI / spi: attach GPIO IRQ from ACPI description to SPI device
    ACPI / gpio: Add irq_type when a GPIO is used as an interrupt
    ACPI: Rename acpi_gsi_get_irq_type to acpi_dev_get_irq_type and export symbol

    * acpi-assorted:
    ACPI / SBS: fix inconsistent indenting inside if statement
    ACPI: Fix build errors due objects compiled unconditionally

    Rafael J. Wysocki
     
  • * acpi-scan:
    ACPI: Fix white space in a structure definition
    ACPI / utils: Add acpi_dev_present()
    ACPI / scan: Fix acpi_bus_id_list bookkeeping
    ACPI / scan: set status to 0 if _STA failed

    * acpi-bus:
    ACPI / bus: Show _OSC UUID when _OSC fails
    ACPI / bus: Tidy up _OSC error spacing

    * acpi-osl:
    ACPI / OSL: Add kerneldoc comments to memory mapping functions

    * acpi-pm:
    ACPI / PM: Support D3 COLD device in old BIOS for ZPODD

    Rafael J. Wysocki
     
  • * acpi-video:
    ACPI / video: driver must be registered before checking for keypresses
    ACPI / video: Add a quirk to force acpi-video backlight on SAMSUNG 530U4E/540U4E
    ACPI / video: Add quirks for the Dell Vostro V131
    ACPI / video: Add a module option to disable the reporting of keypresses
    thinkpad_acpi: Use acpi_video_handles_brightness_key_presses()
    dell-wmi: Use acpi_video_handles_brightness_key_presses()
    ACPI / video: Add a acpi_video_handles_brightness_key_presses() helper

    Rafael J. Wysocki
     
  • * acpica: (43 commits)
    ACPICA: Drop Linux-specific waking vector functions
    ACPICA: Update version to 20151218
    ACPICA: Add per-table execution of module-level code
    ACPICA: Add "root node" case to the ACPI name repair code
    ACPICA: Events: Introduce ACPI_REG_DISCONNECT invocation to acpi_ev_execute_reg_methods()
    ACPICA: Events: Enhance acpi_ev_execute_reg_method() to ensure no _REG evaluations can happen during OS early boot stages
    ACPICA: Events: Split acpi_ev_associate_reg_method() from region initialization code
    ACPICA: Events: Fix an issue that region object is re-attached to another scope when it is already attached
    ACPICA: Utilities: Reorder initialization code
    ACPICA: Events: Uses common_notify for address space handlers
    ACPICA: Events: Deploys acpi_ev_find_region_handler()
    ACPICA: Cleanup code related to the per-table module level improvement
    ACPICA: Update for CondRefOf and RefOf operators
    ACPICA: Update internal #defines for ObjectType operator. No functional change
    ACPICA: Update parameter type for ObjectType operator
    ACPICA: Parser: Fix for SuperName method invocation
    ACPICA: Parser: Add constants for internal namepath function
    ACPICA: iasl/Disassembler: Support ASL ElseIf operator
    ACPICA: Add new exception code, AE_IO_ERROR
    ACPICA: Tools: Add spacing and missing options in acpibin tool
    ...

    Rafael J. Wysocki
     
  • * acpi-debug:
    ACPI / debugger: Fix a redundant mutex unlock issue in acpi_aml_open()
    ACPI / debugger: copy_to_user doesn't return errors
    ACPI / debugger: remove some unneeded conditions
    ACPI / debugger: Fix an issue a flag is modified without locking
    ACPI / debugger: Add module support for ACPI debugger
    tools/power/acpi: Add userspace AML interface support
    ACPI / debugger: Add IO interface to access debugger functionalities
    ACPICA: Debugger: Fix runtime stub issues of ACPI_DEBUGGER_EXEC using different stub mechanism
    ACPICA: Debugger: Convert some mechanisms to OSPM specific
    ACPICA: Debugger: Remove unnecessary status check

    Rafael J. Wysocki
     
  • * acpi-soc:
    PM / clk: don't leave clocks enabled when driver not bound
    i2c: dw: Add APM X-Gene ACPI I2C device support
    ACPI / APD: Add APM X-Gene ACPI I2C device support
    ACPI / LPSS: change 'does not have' to 'has' in comment
    Revert "dmaengine: dw: platform: provide platform data for Intel"
    dmaengine: dw: return immediately from IRQ when DMA isn't in use
    dmaengine: dw: platform: power on device on shutdown
    ACPI / LPSS: override power state for LPSS DMA device
    ACPI / LPSS: power on when probe() and otherwise when remove()
    ACPI / LPSS: do delay for all LPSS devices when D3->D0
    ACPI / LPSS: allow to use specific PM domain during ->probe()
    Revert "ACPI / LPSS: allow to use specific PM domain during ->probe()"
    device core: add BUS_NOTIFY_DRIVER_NOT_BOUND notification
    x86/platform/iosf_mbi: Remove duplicate definitions

    Conflicts:
    drivers/i2c/busses/i2c-designware-platdrv.c

    Rafael J. Wysocki
     
  • * device-properties:
    device property: avoid allocations of 0 length
    device property: the secondary fwnode needs to depend on the primary
    device property: add spaces to PROPERTY_ENTRY_STRING macro
    include/linux/property.h: fix build issues with gcc-4.4.4
    i2c: designware: Convert to use unified device property API
    mfd: intel-lpss: Pass HSUART configuration via properties
    mfd: intel-lpss: Pass SDA hold time to I2C host controller driver
    mfd: intel-lpss: Add support for passing device properties
    mfd: core: propagate device properties to sub devices drivers
    driver core: Do not overwrite secondary fwnode with NULL if it is set
    driver core: platform: Add support for built-in device properties
    device property: Take a copy of the property set
    device property: Fallback to secondary fwnode if primary misses the property
    device property: return -EINVAL when property isn't found in ACPI
    device property: improve readability of macros
    device property: helper macros for property entry creation
    device property: keep single value inplace
    device property: refactor built-in properties support
    device property: rename helper functions
    device property: always check for fwnode type

    Rafael J. Wysocki
     

10 Jan, 2016

1 commit

  • During region creation, perform Address Range Scrubs (ARS) for the SPA
    (System Physical Address) ranges to retrieve known poison locations from
    firmware. Add a new data structure 'nd_poison' which is used as a list
    in nvdimm_bus to store these poison locations.

    When creating a pmem namespace, if there is any known poison associated
    with its physical address space, convert the poison ranges to bad sectors
    that are exposed using the badblocks interface.

    Signed-off-by: Vishal Verma
    Signed-off-by: Dan Williams

    Vishal Verma
     

08 Jan, 2016

2 commits

  • Adds a function that sets the pointer to dev_pm_domain in struct device
    and that warns if the device has already finished probing. The reason
    why we want to enforce that is because in the general case that can
    cause problems and also that we can simplify code quite a bit if we can
    always assume that.

    This patch also changes all current code that directly sets the
    dev.pm_domain pointer.

    Signed-off-by: Tomeu Vizoso
    Reviewed-by: Ulf Hansson
    Signed-off-by: Rafael J. Wysocki

    Tomeu Vizoso
     
  • The dn->name is expected to be used as a literal, so add the missing
    "%s".

    Fixes: 263b4c1a64bc (ACPI / property: Expose data-only subnodes via sysfs)
    Signed-off-by: Kees Cook
    Signed-off-by: Rafael J. Wysocki

    Kees Cook
     

07 Jan, 2016

1 commit