02 Nov, 2017

1 commit

  • Many source files in the tree are missing licensing information, which
    makes it harder for compliance tools to determine the correct license.

    By default all files without license information are under the default
    license of the kernel, which is GPL version 2.

    Update the files which contain no license information with the 'GPL-2.0'
    SPDX license identifier. The SPDX identifier is a legally binding
    shorthand, which can be used instead of the full boiler plate text.

    This patch is based on work done by Thomas Gleixner and Kate Stewart and
    Philippe Ombredanne.

    How this work was done:

    Patches were generated and checked against linux-4.14-rc6 for a subset of
    the use cases:
    - file had no licensing information it it.
    - file was a */uapi/* one with no licensing information in it,
    - file was a */uapi/* one with existing licensing information,

    Further patches will be generated in subsequent months to fix up cases
    where non-standard license headers were used, and references to license
    had to be inferred by heuristics based on keywords.

    The analysis to determine which SPDX License Identifier to be applied to
    a file was done in a spreadsheet of side by side results from of the
    output of two independent scanners (ScanCode & Windriver) producing SPDX
    tag:value files created by Philippe Ombredanne. Philippe prepared the
    base worksheet, and did an initial spot review of a few 1000 files.

    The 4.13 kernel was the starting point of the analysis with 60,537 files
    assessed. Kate Stewart did a file by file comparison of the scanner
    results in the spreadsheet to determine which SPDX license identifier(s)
    to be applied to the file. She confirmed any determination that was not
    immediately clear with lawyers working with the Linux Foundation.

    Criteria used to select files for SPDX license identifier tagging was:
    - Files considered eligible had to be source code files.
    - Make and config files were included as candidates if they contained >5
    lines of source
    - File already had some variant of a license header in it (even if
    Reviewed-by: Philippe Ombredanne
    Reviewed-by: Thomas Gleixner
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

04 Sep, 2017

1 commit

  • * acpi-sysfs:
    ACPI / sysfs: Extend ACPI sysfs to provide access to boot error region

    * acpi-apei:
    ACPI / APEI: Suppress message if HEST not present
    ACPI, APEI, EINJ: Subtract any matching Register Region from Trigger resources
    ACPI: APEI: fix the wrong iteration of generic error status block
    ACPI: APEI: Enable APEI multiple GHES source to share a single external IRQ

    * acpi-blacklist:
    intel_pstate: convert to use acpi_match_platform_list()
    ACPI / blacklist: add acpi_match_platform_list()

    Rafael J. Wysocki
     

24 Aug, 2017

1 commit

  • The ACPI sysfs interface provides a way to read each ACPI table from
    userspace via entries in /sys/firmware/acpi/tables/

    The BERT table simply provides the size and address of the error
    record in BIOS reserved memory and users may want access to this
    record.

    In an earlier age we might have used /dev/mem to retrieve this error
    record, but many systems disable /dev/mem for security reasons.

    Extend this driver to provide read-only access to the data via a
    file in a new directory /sys/firmware/acpi/tables/data/BERT

    Acked-by: Punit Agrawal
    Signed-off-by: Tony Luck

    v4: fix typo reported by Punit
    Signed-off-by: Rafael J. Wysocki

    Tony Luck
     

18 Aug, 2017

1 commit


03 Jun, 2017

1 commit


27 Apr, 2017

1 commit

  • Reading an ACPI table through the /sys/firmware/acpi/tables interface
    more than 65,536 times leads to the following log message:

    ACPI Error: Table ffff88033595eaa8, Validation count is zero after increment
    (20170119/tbutils-423)

    ...and the table being unavailable until the next reboot. Add the
    missing acpi_put_table() so the table ->validation_count is decremented
    after each read.

    Reported-by: Anush Seetharaman
    Fixes: 174cc7187e6f "ACPICA: Tables: Back port acpi_get_table_with_size() ..."
    Signed-off-by: Dan Williams
    Cc: 4.10+ # 4.10+
    Signed-off-by: Rafael J. Wysocki

    Dan Williams
     

13 Apr, 2017

1 commit

  • /sys/firmware/acpi/hotplug/force_remove was presumably added to support
    auto offlining in the past. This is, however, inherently dangerous for
    some hotplugable resources like memory. The memory offlining fails when
    the memory is still in use and cannot be dropped or migrated. If we
    ignore the failure we are basically allowing for subtle memory
    corruption or a crash.

    We have actually noticed the later while hitting BUG() during the memory
    hotremove (remove_memory):
    ret = walk_memory_range(PFN_DOWN(start), PFN_UP(start + size - 1), NULL,
    check_memblock_offlined_cb);
    if (ret)
    BUG();

    it took us quite non-trivial time realize that the customer had
    force_remove enabled. Even if the BUG was removed here and we could
    propagate the error up the call chain it wouldn't help at all because
    then we would hit a crash or a memory corruption later and harder to
    debug. So force_remove is unfixable for the memory hotremove. We haven't
    checked other hotplugable resources to be prone to a similar problems.

    Remove the force_remove functionality because it is not fixable currently.
    Keep the sysfs file and report an error if somebody tries to enable it.
    Encourage users to report about the missing functionality and work with
    them with an alternative solution.

    Reviewed-by: Lee, Chun-Yi
    Signed-off-by: Michal Hocko
    Signed-off-by: Rafael J. Wysocki

    Michal Hocko
     

27 Dec, 2016

1 commit

  • Sometimes, the users may require a quirk to be provided from ACPI subsystem
    core to prevent a GPE from flooding.
    Normally, if a GPE cannot be dispatched, ACPICA core automatically prevents
    the GPE from firing. But there are cases the GPE is dispatched by _Lxx/_Exx
    provided via AML table, and OSPM is lacking of the knowledge to get
    _Lxx/_Exx correctly executed to handle the GPE, thus the GPE flooding may
    still occur.

    The existing quirk mechanism can be enabled/disabled using the following
    commands to prevent such kind of GPE flooding during runtime:
    # echo mask > /sys/firmware/acpi/interrupts/gpe00
    # echo unmask > /sys/firmware/acpi/interrupts/gpe00
    To avoid GPE flooding during boot, we need a boot stage mechanism.

    This patch provides such a boot stage quirk mechanism to stop this kind of
    GPE flooding. This patch doesn't fix any feature gap but since the new
    feature gaps could be found in the future endlessly, and can disappear if
    the feature gaps are filled, providing a boot parameter rather than a DMI
    table should suffice.

    Link: https://bugzilla.kernel.org/show_bug.cgi?id=53071
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=117481
    Link: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/887793
    Signed-off-by: Lv Zheng
    Signed-off-by: Rafael J. Wysocki

    Lv Zheng
     

17 Sep, 2016

2 commits

  • This patch cleans up sysfs table signature handling code:

    1. Convert the signature handling code to use the ACPICA APIs to
    benefit from the future improvements of the APIs.

    2. Add 'filename' attribute in order to handle both BE/LE name tags.

    3. Add instance check in order to avoid the possible buffer overflow
    related to the table file name.

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

    Lv Zheng
     
  • OEM tables can be installed via RSDT/XSDT, in this case, they have already
    been created under /sys/firmware/acpi/tables.

    For this kind of tables, normally LoadTable opcode will be executed to load
    them. If LoadTable opcode is executed after acpi_sysfs_init(),
    acpi_sysfs_table_handler() will be invoked, thus a redundant table file
    will be created under /sys/firmware/acpi/tables/dynamic. Then running
    "acpidump" on such platform results in an error, complaining blank empty
    table (see Link 1 below).

    The bug can be reproduced by customizing an OEM1 table, allowing it to be
    overridden via 'table_sigs' (drivers/acpi/tables.c), adding the following
    code to the customized DSDT to load it:

    Name (OEMH, Zero)
    Name (OEMF, One)
    If (LEqual (OEMF, One)) {
    Store (LoadTable ("OEM1", "Intel", "Test"), OEMH)
    Store (Zero, OEMF)
    }

    In order to make sure that the OEM1 table is installed after
    acpi_sysfs_init(), acpi_sysfs_init() can be moved before invoking
    acpi_load_tables(). Then the following command execution result can be
    seen:
    # acpidump > acpidump.txt
    Could not read table header: /sysfs/firmware/acpi/tables/dynamic/OEM12
    Could not get ACPI table at index 17, AE_BAD_HEADER

    Link: https://bugzilla.kernel.org/show_bug.cgi?id=150841 # [1]
    Link: https://github.com/acpica/acpica/commit/ed6a5fbc
    Reported-by: Jason Voelz
    Reported-by: Francisco Leoner
    Signed-off-by: Lv Zheng
    Signed-off-by: Rafael J. Wysocki

    Lv Zheng
     

17 Aug, 2016

1 commit

  • Now GPE can be masked via the new acpi_mask_gpe() API and this patch
    modifies /sys/firmware/acpi/interrupts/gpexx to use this new facility.

    Writes "mask/unmask" to this file now invokes acpi_mask_gpe().

    Reads from this file now returns new "EN/STS" when the corresponding GPE
    hardware register's EN/STS bits are flagged, and new "masked/unmasked"
    attribute to indicate the status of the masking mechanism.

    Signed-off-by: Lv Zheng
    [ rjw: Subject ]
    Signed-off-by: Rafael J. Wysocki

    Lv Zheng
     

09 Jul, 2016

1 commit

  • Add support for ACPI reconfiguration notifiers to allow subsystems
    to react to changes in the ACPI tables that happen after the initial
    enumeration. This is similar with the way dynamic device tree
    notifications work.

    The reconfigure notifications supported for now are device add and
    device remove.

    Since ACPICA allows only one table notification handler, this patch
    makes the table notifier function generic and moves it out of the
    sysfs specific code.

    Signed-off-by: Octavian Purdila
    Reviewed-by: Mika Westerberg
    Signed-off-by: Rafael J. Wysocki

    Octavian Purdila
     

05 May, 2016

1 commit

  • The problem with ornamental, do-nothing gotos is that they lead to
    "forgot to set the error code" bugs. We should be returning -EINVAL
    here but we don't. It leads to an uninitalized variable in
    counter_show():

    drivers/acpi/sysfs.c:603 counter_show()
    error: uninitialized symbol 'status'.

    Fixes: 1c8fce27e275 (ACPI: introduce drivers/acpi/sysfs.c)
    Signed-off-by: Dan Carpenter
    Signed-off-by: Rafael J. Wysocki

    Dan Carpenter
     

26 Oct, 2015

1 commit


07 Aug, 2015

3 commits

  • Since _SB.PCI0 can be used as relative path from root and can be easily
    converted into internal trace_method_name format, we allow users to specify
    trace_method_name using relative paths from root.
    Note this is useful for grub2 for which users failed to pass "\" from the
    grub configuration file.

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

    Lv Zheng
     
  • This patch updates the method tracing facility as the acpi_debug_trace()
    API has been updated to allow it to trace AML interpreter execution, the
    meanings and the usages of the API parameters are changed due to the
    updates.

    The new API:
    1. Uses ACPI_TRACE_ENABLED flag to indicate the enabling of the tracer;
    2. Allows tracer still can be enabled when method name is not specified so
    that the AML interpreter execution can be traced without knowing the
    method name, which is useful for kernel boot tracing;
    3. Supports arbitrary full path name, it doesn't need to be a name related
    to an entrance of acpi_evaluate_object().

    Note that the sysfs parameters are also updated so that when reading the
    attribute files, ACPICA internal settings are returned.

    In order to make the sysfs parameters (acpi.trace_state) available during
    boot, this patch adds code to bypass ACPICA semaphore/mutex invocations
    when acpi mutex utilities haven't been initialized.

    This patch doesn't update documentation of method tracing facility, it will
    be updated by further patches.

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

    Lv Zheng
     
  • This patch updates debug_level file, adding ACPI_LV_REPAIR.

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

    Lv Zheng
     

10 Mar, 2015

1 commit

  • The count field is an unsigned 32bit value, and the
    counter_show() function should also treat it as a unsigned
    value.

    Otherwise the counter may show negative number as we found on a
    machine:
    ...
    gpe23: 0 invalid
    gpe24: -2071733 enabled
    gpe25: 0 invalid
    ...
    gpe_all: -2070980
    sci: -2070949

    Signed-off-by: Nan Li
    Signed-off-by: Lee, Chun-Yi
    Signed-off-by: Rafael J. Wysocki

    Nan Li
     

21 Oct, 2014

1 commit

  • This patch is partial linuxized result of the following ACPICA commit:
    ACPICA commit: a73b66c6aa1846d055bb6390d9c9b9902f7d804d
    Subject: Add "has handler" flag to event/gpe status interfaces.
    This change adds a new flag, ACPI_EVENT_FLAGS_HAS_HANDLER to the
    acpi_get_event_status and acpi_get_gpe_status external interfaces. It
    is set if the event/gpe currently has a handler associated with it.
    This patch contains the code to rename ACPI_EVENT_FLAG_HANDLE to
    ACPI_EVENT_FLAG_HAS_HANDLER, and the corresponding updates of its usages.

    Link: https://github.com/acpica/acpica/commit/a73b66c6
    Signed-off-by: Lv Zheng
    Signed-off-by: Bob Moore
    Signed-off-by: Rafael J. Wysocki

    Lv Zheng
     

19 Mar, 2014

1 commit


29 Jan, 2014

1 commit

  • * acpi-processor:
    ACPI / scan: reduce log level of "ACPI: \_PR_.CPU4: failed to get CPU APIC ID"
    ACPI / processor: Return specific error value when mapping lapic id

    * acpi-hotplug:
    ACPI / scan: Clear match_driver flag in acpi_bus_trim()

    * acpi-init:
    ACPI / init: Flag use of ACPI and ACPI idioms for power supplies to regulator API

    * acpi-pm:
    ACPI / PM: Use ACPI_COMPANION() to get ACPI companions of devices

    * acpica:
    ACPICA: Remove bool usage from ACPICA.

    Rafael J. Wysocki
     

28 Jan, 2014

1 commit

  • The use of "bool" is not safe for ACPICA code where it is originally using
    a "BOOLEAN" defined as "unsigned char".

    This patch removes the only "bool" usage from kernel source tree to reduce
    the source code differences between Linux and ACPICA upstream.

    This patch is required by future acpidump release automation.

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

    Lv Zheng
     

13 Jan, 2014

1 commit

  • * acpi-cleanup: (22 commits)
    ACPI / tables: Return proper error codes from acpi_table_parse() and fix comment.
    ACPI / tables: Check if id is NULL in acpi_table_parse()
    ACPI / proc: Include appropriate header file in proc.c
    ACPI / EC: Remove unused functions and add prototype declaration in internal.h
    ACPI / dock: Include appropriate header file in dock.c
    ACPI / PCI: Include appropriate header file in pci_link.c
    ACPI / PCI: Include appropriate header file in pci_slot.c
    ACPI / EC: Mark the function acpi_ec_add_debugfs() as static in ec_sys.c
    ACPI / NVS: Include appropriate header file in nvs.c
    ACPI / OSL: Mark the function acpi_table_checksum() as static
    ACPI / processor: initialize a variable to silence compiler warning
    ACPI / processor: use ACPI_COMPANION() to get ACPI device
    ACPI: correct minor typos
    ACPI / sleep: Drop redundant acpi_disabled check
    ACPI / dock: Drop redundant acpi_disabled check
    ACPI / table: Replace '1' with specific error return values
    ACPI: remove trailing whitespace
    ACPI / IBFT: Fix incorrect inclusion in iSCSI boot firmware module
    ACPI / i915: Fix incorrect inclusions via
    SFI / ACPI: Fix warnings reported during builds with W=1
    ...

    Conflicts:
    drivers/acpi/nvs.c
    drivers/hwmon/asus_atk0110.c

    Rafael J. Wysocki
     

07 Dec, 2013

1 commit

  • Replace direct inclusions of , and
    , which are incorrect, with
    inclusions and remove some inclusions of those files that aren't
    necessary.

    First of all, , and
    should not be included directly from any files that are built for
    CONFIG_ACPI unset, because that generally leads to build warnings about
    undefined symbols in !CONFIG_ACPI builds. For CONFIG_ACPI set,
    includes those files and for CONFIG_ACPI unset it
    provides stub ACPI symbols to be used in that case.

    Second, there are ordering dependencies between those files that always
    have to be met. Namely, it is required that be included
    prior to so that the acpi_pci_root declarations the
    latter depends on are always there. And which provides
    basic ACPICA type declarations should always be included prior to any other
    ACPI headers in CONFIG_ACPI builds. That also is taken care of including
    as appropriate.

    Signed-off-by: Lv Zheng
    Cc: Greg Kroah-Hartman
    Cc: Matthew Garrett
    Cc: Tony Luck
    Cc: "H. Peter Anvin"
    Acked-by: Bjorn Helgaas (drivers/pci stuff)
    Acked-by: Konrad Rzeszutek Wilk (Xen stuff)
    Signed-off-by: Rafael J. Wysocki

    Lv Zheng
     

21 Nov, 2013

2 commits

  • When executing on an ACPI Hardware Reduced hardware, all the ACPI
    tables are not exposed in sysfs due to the fact that FACS is
    silently ignored by the kernel in the ACPI hardware reduced mode
    and, moreover, the acpi_tables_sysfs_init() ACPI table walk
    is buggy and stops too soon.

    The acpi_tables_sysfs_init() function should rely on the acpi_status
    return value from acpi_get_table_by_index() to decide whether or not
    to stop the iteration (the walk should only be terminated when that
    value is AE_BAD_PARAMETER). This way, when running in an ACPI Harware
    Reduced environment (where the FACS table is silently ignored by the
    kernel) or if some ACPI tables are not correctly memory mapped or
    have bad checksums, it will still walk through the remaining tables
    that may be correct.

    [rjw: Changelog]
    Signed-off-by: Jeremy Compostella
    Signed-off-by: Rafael J. Wysocki

    Jeremy Compostella
     
  • Currently, each of the ACPI tables exported from
    /sys/firmware/acpi/tables is of zero size:

    $ LANG=C ls -ld /sys/firmware/acpi/tables/*
    -r-------- 1 root root 0 Nov 19 09:48 /sys/firmware/acpi/tables/APIC
    -r-------- 1 root root 0 Nov 19 09:48 /sys/firmware/acpi/tables/BOOT
    -r-------- 1 root root 0 Nov 19 14:25 /sys/firmware/acpi/tables/DSDT
    -r-------- 1 root root 0 Nov 19 14:25 /sys/firmware/acpi/tables/FACP
    -r-------- 1 root root 0 Nov 19 14:25 /sys/firmware/acpi/tables/FACS
    -r-------- 1 root root 0 Nov 19 14:25 /sys/firmware/acpi/tables/MCFG
    -r-------- 1 root root 0 Nov 19 14:25 /sys/firmware/acpi/tables/SRAT
    drwxr-xr-x 2 root root 0 Nov 19 09:48 /sys/firmware/acpi/tables/dynamic/

    due to which, user-land tools fail reading each table. For example:

    $ acpidump -f /sys/firmware/acpi/tables/SRAT
    Could not get input file size: /sys/firmware/acpi/tables/SRAT

    To deal with the issue, this patch assigns size of each ACPI table to
    the corresponding sysfs file.

    $ LANG=C ls -hld /sys/firmware/acpi/tables/*
    -r-------- 1 root root 94 Nov 19 16:45 /sys/firmware/acpi/tables/APIC
    -r-------- 1 root root 40 Nov 19 16:45 /sys/firmware/acpi/tables/BOOT
    -r-------- 1 root root 58K Nov 19 16:55 /sys/firmware/acpi/tables/DSDT
    -r-------- 1 root root 244 Nov 19 16:55 /sys/firmware/acpi/tables/FACP
    -r-------- 1 root root 64 Nov 19 16:55 /sys/firmware/acpi/tables/FACS
    -r-------- 1 root root 60 Nov 19 16:55 /sys/firmware/acpi/tables/MCFG
    -r-------- 1 root root 168 Nov 19 16:45 /sys/firmware/acpi/tables/SRAT
    drwxr-xr-x 2 root root 0 Nov 19 16:55 /sys/firmware/acpi/tables/dynamic/

    Then, user-land tools work well like:

    $ acpidump -f /sys/firmware/acpi/tables/SRAT
    SRAT @ 0x0000000000000000
    0000: 53 52 41 54 A8 00 00 00 02 65 56 4D 57 41 52 45 SRAT.....eVMWARE
    0010: 4D 45 4D 50 4C 55 47 20 00 00 04 06 56 4D 57 20 MEMPLUG ....VMW
    0020: 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 ................
    0030: 01 28 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .(..............
    0040: 00 00 0A 00 00 00 00 00 00 00 00 00 01 00 00 00 ................
    0050: 00 00 00 00 00 00 00 00 01 28 00 00 00 00 00 00 .........(......
    0060: 00 00 10 00 00 00 00 00 00 00 F0 BF 00 00 00 00 ................
    0070: 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 ................
    0080: 01 28 00 00 00 00 00 00 00 00 00 00 01 00 00 00 .(..............
    0090: 00 00 00 40 00 00 00 00 00 00 00 00 01 00 00 00 ...@............
    00A0: 00 00 00 00 00 00 00 00 ........

    Signed-off-by: HATAYAMA Daisuke
    Acked-by: Toshi Kani
    Acked-by: Zhang Rui
    Signed-off-by: Rafael J. Wysocki

    Daisuke HATAYAMA
     

28 Oct, 2013

1 commit

  • * acpi-assorted:
    ACPI: Add Toshiba NB100 to Vista _OSI blacklist
    ACPI / osl: remove an unneeded NULL check
    ACPI / platform: add ACPI ID for a Broadcom GPS chip
    ACPI: improve acpi_extract_package() utility
    ACPI / LPSS: fix UART Auto Flow Control
    ACPI / platform: Add ACPI IDs for Intel SST audio device
    x86 / ACPI: fix incorrect placement of __initdata tag
    ACPI / thermal: convert printk(LEVEL...) to pr_
    ACPI / sysfs: make GPE sysfs attributes only accept correct values
    ACPI / EC: Convert all printk() calls to dynamic debug function
    ACPI / button: Using input_set_capability() to mark device's event capability
    ACPI / osl: implement acpi_os_sleep() with msleep()

    Rafael J. Wysocki
     

01 Oct, 2013

3 commits


25 Sep, 2013

1 commit

  • According to the design, GPE sysfs attributes should accept "disable",
    "enable", "clear" and integer numbers as params. Current code checks
    "disable", "enable" and "clear" first. If the param doesn't match,
    pass it to strtoul() as a string representing an integer number and
    assign the return value to the given GPE count. It is missing the check
    of whether or not the param really represents an integer number and
    strtoul() will return 0 if the string is not a number. This causes any
    params except for "enable", "disable", "clear" and a number to make the
    GPE count become 0. This patch is to use kstrtoul() to replace strtoul()
    and check the return value. If the convertion is successful, use as the
    new GPE count. If not, return an error.

    Signed-off-by: Lan Tianyu
    Signed-off-by: Rafael J. Wysocki

    Lan Tianyu
     

04 Jul, 2013

2 commits

  • Merge first patch-bomb from Andrew Morton:
    - various misc bits
    - I'm been patchmonkeying ocfs2 for a while, as Joel and Mark have been
    distracted. There has been quite a bit of activity.
    - About half the MM queue
    - Some backlight bits
    - Various lib/ updates
    - checkpatch updates
    - zillions more little rtc patches
    - ptrace
    - signals
    - exec
    - procfs
    - rapidio
    - nbd
    - aoe
    - pps
    - memstick
    - tools/testing/selftests updates

    * emailed patches from Andrew Morton : (445 commits)
    tools/testing/selftests: don't assume the x bit is set on scripts
    selftests: add .gitignore for kcmp
    selftests: fix clean target in kcmp Makefile
    selftests: add .gitignore for vm
    selftests: add hugetlbfstest
    self-test: fix make clean
    selftests: exit 1 on failure
    kernel/resource.c: remove the unneeded assignment in function __find_resource
    aio: fix wrong comment in aio_complete()
    drivers/w1/slaves/w1_ds2408.c: add magic sequence to disable P0 test mode
    drivers/memstick/host/r592.c: convert to module_pci_driver
    drivers/memstick/host/jmb38x_ms: convert to module_pci_driver
    pps-gpio: add device-tree binding and support
    drivers/pps/clients/pps-gpio.c: convert to module_platform_driver
    drivers/pps/clients/pps-gpio.c: convert to devm_* helpers
    drivers/parport/share.c: use kzalloc
    Documentation/accounting/getdelays.c: avoid strncpy in accounting tool
    aoe: update internal version number to v83
    aoe: update copyright date
    aoe: perform I/O completions in parallel
    ...

    Linus Torvalds
     
  • Fix various weird constructions of strncpy(dst, src, strlen(src)).

    Length limits should be about the space available in the destination,
    not repurposed as a method to either always include or always exclude a
    trailing NULL byte. Either the NULL should always be copied (using
    strlcpy), or it should not be copied (using something like memcpy).
    Readable code should not depend on the weird behavior of strncpy when it
    hits the length limit. Better to avoid the anti-pattern entirely.

    [akpm@linux-foundation.org: revert getdelays.c part due to missing bsd/string.h]
    Signed-off-by: Kees Cook
    Acked-by: Greg Kroah-Hartman [staging]
    Acked-by: Rafael J. Wysocki [acpi]
    Cc: Martin Schwidefsky
    Cc: Heiko Carstens
    Cc: Ursula Braun
    Cc: Frank Blaschka
    Cc: Richard Weinberger
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kees Cook
     

12 May, 2013

1 commit

  • Modify the generic ACPI hotplug code to be able to check if devices
    scheduled for hot-removal may be gracefully removed from the system
    using the device offline/online mechanism introduced previously.

    Namely, make acpi_scan_hot_remove() handling device hot-removal call
    device_offline() for all physical companions of the ACPI device nodes
    involved in the operation and check the results. If any of the
    device_offline() calls fails, the function will not progress to the
    removal phase (which cannot be aborted), unless its (new) force
    argument is set (in case of a failing offline it will put the devices
    offlined by it back online).

    In support of 'forced' device hot-removal, add a new sysfs attribute
    'force_remove' that will reside under /sys/firmware/acpi/hotplug/.

    Signed-off-by: Rafael J. Wysocki
    Reviewed-by: Toshi Kani

    Rafael J. Wysocki
     

19 Mar, 2013

1 commit


04 Mar, 2013

1 commit

  • Introduce user space interface for manipulating hotplug profiles
    associated with ACPI scan handlers.

    The interface consists of sysfs directories under
    /sys/firmware/acpi/hotplug/, one for each hotplug profile, containing
    an attribute allowing user space to manipulate the enabled field of
    the corresponding profile. Namely, switching the enabled attribute
    from '0' to '1' will cause the common hotplug notify handler to be
    installed for all ACPI namespace objects representing devices matching
    the scan handler associated with the given hotplug profile (and
    analogously for the converse switch).

    Drivers willing to use the new user space interface should add their
    ACPI scan handlers with the help of new funtion
    acpi_scan_add_handler_with_hotplug().

    Signed-off-by: Rafael J. Wysocki
    Acked-by: Toshi Kani
    Tested-by: Toshi Kani

    Rafael J. Wysocki
     

26 Jan, 2013

1 commit


15 Nov, 2012

1 commit

  • There are definitions that can been converted into new styles by
    the recent AcpiSrc while they remain the old styles in the Linux.
    This patch fixes those definitions that will be converted by the
    AcpiSrc.

    This patch will not affect the generated vmlinux binary.
    This will decrease 97 lines of 20120913 divergence.diff.

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

    Lv Zheng
     

27 Jul, 2012

1 commit


05 Jun, 2012

1 commit