07 Feb, 2019

1 commit

  • There was a divergence between Linux and ACPICA on the definition of
    ACPI_DEBUG_DEFAULT. This divergence was solved by taking ACPICA's
    definition in 4c1379d7bb42. After resolving the divergence, it was
    clear that Linux users wanted to use their old set of debug flags.
    This change fixes the divergence by setting these debug flags during
    acpi_early_init() rather than during global variable initialization
    in acpixf.h (owned by ACPICA).

    Fixes: 4c1379d7bb42 ("ACPICA: Debug output: Add option to display method/object evaluation")
    Reported-by: Michael J Ruhl
    Reported-by: Alex Gagniuc
    Signed-off-by: Erik Schmauss
    Signed-off-by: Rafael J. Wysocki

    Erik Schmauss
     

22 Jan, 2019

3 commits

  • The _DSM function number validation only happens to succeed when the
    generic Linux command number translation corresponds with a
    DSM-family-specific function number. This breaks NVDIMM-N
    implementations that correctly implement _LSR, _LSW, and _LSI, but do
    not happen to publish support for DSM function numbers 4, 5, and 6.

    Recall that the support for _LS{I,R,W} family of methods results in the
    DIMM being marked as supporting those command numbers at
    acpi_nfit_register_dimms() time. The DSM function mask is only used for
    ND_CMD_CALL support of non-NVDIMM_FAMILY_INTEL devices.

    Fixes: 31eca76ba2fc ("nfit, libnvdimm: limited/whitelisted dimm command...")
    Cc:
    Link: https://github.com/pmem/ndctl/issues/78
    Reported-by: Sujith Pandel
    Tested-by: Sujith Pandel
    Reviewed-by: Vishal Verma
    Reviewed-by: Jeff Moyer
    Signed-off-by: Dan Williams

    Dan Williams
     
  • In preparation for using function number 0 as an error value, prevent it
    from being considered a valid function value by acpi_nfit_ctl().

    Cc:
    Cc: stuart hayes
    Fixes: e02fb7264d8a ("nfit: add Microsoft NVDIMM DSM command set...")
    Reported-by: Jeff Moyer
    Reviewed-by: Jeff Moyer
    Signed-off-by: Dan Williams

    Dan Williams
     
  • The following warning:

    ACPI0012:00: security event setup failed: -19

    ...is meant to capture exceptional failures of sysfs_get_dirent(),
    however it will also fail in the common case when security support is
    disabled. A few issues:

    1/ A dev_warn() report for a common case is too chatty
    2/ The setup of this notifier is generic, no need for it to be driven
    from the nfit driver, it can exist completely in the core.
    3/ If it fails for any reason besides security support being disabled,
    that's fatal and should abort DIMM activation. Userspace may hang if
    it never gets overwrite notifications.
    4/ The dirent needs to be released.

    Move the call to the core 'dimm' driver, make it conditional on security
    support being active, make it fatal for the exceptional case, add the
    missing sysfs_put() at device disable time.

    Fixes: 7d988097c546 ("...Add security DSM overwrite support")
    Reviewed-by: Dave Jiang
    Signed-off-by: Dan Williams

    Dan Williams
     

20 Jan, 2019

1 commit

  • Pull libnvdimm fixes from Dan Williams:
    "A crash fix, a build warning fix, a miscellaneous small cleanups.

    In case anyone is looking for them, there was a regression caught by
    testing that caused two patches to be dropped from this update. Those
    patches have been reworked and will soak for another week / re-target
    5.0-rc4.

    - Fix driver initialization crash due to the inability to report an
    'error' state for a DIMM's security capability.

    - Build warning fix for little-endian ARM64 builds

    - Fix a potential race between the EDAC driver's usage of the NFIT
    SMBIOS id for a DIMM and the driver shutdown path.

    - A small collection of one-line benign cleanups for duplicate
    variable assignments, a duplicate header include and a mis-typed
    function argument"

    * tag 'libnvdimm-fixes-5.0-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
    libnvdimm/security: Fix nvdimm_security_state() state request selection
    acpi/nfit: Remove duplicate set nd_set in acpi_nfit_init_interleave_set()
    acpi/nfit: Fix race accessing memdev in nfit_get_smbios_id()
    libnvdimm/dimm: Fix security capability detection for non-Intel NVDIMMs
    nfit: Mark some functions as __maybe_unused
    ACPI/nfit: delete the function to_acpi_nfit_desc
    ACPI/nfit: delete the redundant header file

    Linus Torvalds
     

18 Jan, 2019

1 commit

  • * acpi-pci:
    drivers: thermal: int340x_thermal: Make PCI dependency explicit
    x86/intel/lpss: Make PCI dependency explicit
    platform/x86: apple-gmux: Make PCI dependency explicit
    platform/x86: intel_pmc: Make PCI dependency explicit
    platform/x86: intel_ips: make PCI dependency explicit
    vga-switcheroo: make PCI dependency explicit
    ata: pata_acpi: Make PCI dependency explicit
    ACPI / LPSS: Make PCI dependency explicit

    Rafael J. Wysocki
     

16 Jan, 2019

2 commits

  • Some systems have had functional issues since commit 5a8361f7ecce
    (ACPICA: Integrate package handling with module-level code) that,
    among other things, changed the initial values of the
    acpi_gbl_group_module_level_code and acpi_gbl_parse_table_as_term_list
    global flags in ACPICA which implicitly caused acpi_ec_ecdt_probe() to
    be called before acpi_load_tables() on the vast majority of platforms.

    Namely, before commit 5a8361f7ecce, acpi_load_tables() was called from
    acpi_early_init() if acpi_gbl_parse_table_as_term_list was FALSE and
    acpi_gbl_group_module_level_code was TRUE, which almost always was
    the case as FALSE and TRUE were their initial values, respectively.
    The acpi_gbl_parse_table_as_term_list value would be changed to TRUE
    for a couple of platforms in acpi_quirks_dmi_table[], but it remained
    FALSE in the vast majority of cases.

    After commit 5a8361f7ecce, the initial values of the two flags have
    been reversed, so in effect acpi_load_tables() has not been called
    from acpi_early_init() any more. That, in turn, affects
    acpi_ec_ecdt_probe() which is invoked before acpi_load_tables() now
    and it is not possible to evaluate the _REG method for the EC address
    space handler installed by it. That effectively causes the EC address
    space to be inaccessible to AML on platforms with an ECDT matching the
    EC device definition in the DSDT and functional problems ensue in
    there.

    Because the default behavior before commit 5a8361f7ecce was to call
    acpi_ec_ecdt_probe() after acpi_load_tables(), it should be safe to
    do that again. Moreover, the EC address space handler installed by
    acpi_ec_ecdt_probe() is only needed for AML to be able to access the
    EC address space and the only AML that can run during acpi_load_tables()
    is module-level code which only is allowed to access address spaces
    with default handlers (memory, I/O and PCI config space).

    For this reason, move the acpi_ec_ecdt_probe() invocation back to
    acpi_bus_init(), from where it was taken away by commit d737f333b211
    (ACPI: probe ECDT before loading AML tables regardless of module-level
    code flag), and put it after the invocation of acpi_load_tables() to
    restore the original code ordering from before commit 5a8361f7ecce.

    Fixes: 5a8361f7ecce ("ACPICA: Integrate package handling with module-level code")
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=199981
    Reported-by: step-ali
    Reported-by: Charles Stanhope
    Tested-by: Charles Stanhope
    Reported-by: Paulo Nascimento
    Reported-by: David Purton
    Reported-by: Adam Harvey
    Reported-by: Zhang Rui
    Tested-by: Zhang Rui
    Tested-by: Jean-Marc Lenoir
    Signed-off-by: Rafael J. Wysocki

    Rafael J. Wysocki
     
  • After commit 5d32a66541c4 (PCI/ACPI: Allow ACPI to be built without
    CONFIG_PCI set), it is possible to build ACPI without any PCI support.

    This code depends on PCI. Compile only when PCI is present.

    Fixes: 5d32a66541c46 ("PCI/ACPI: Allow ACPI to be built without CONFIG_PCI set")
    Signed-off-by: Sinan Kaya
    Signed-off-by: Rafael J. Wysocki

    Sinan Kaya
     

15 Jan, 2019

1 commit


12 Jan, 2019

2 commits

  • Possible race accessing memdev structures after dropping the
    mutex. Dan Williams says this could race against another thread
    that is doing:

    # echo "ACPI0012:00" > /sys/bus/acpi/drivers/nfit/unbind

    Reported-by: Jane Chu
    Fixes: 23222f8f8dce ("acpi, nfit: Add function to look up nvdimm...")
    Signed-off-by: Tony Luck
    Signed-off-by: Dan Williams

    Tony Luck
     
  • Pull arm64 fixes from Will Deacon:
    "Another handful of arm64 fixes here. Most of the complication comes
    from improving our kpti code to avoid lengthy pauses (30+ seconds)
    during boot when we rewrite the page tables. There are also a couple
    of IORT fixes that came in via Lorenzo.

    Summary:

    - Don't error in kexec_file_load if kaslr-seed is missing in
    device-tree

    - Fix incorrect argument type passed to iort_match_node_callback()

    - Fix IORT build failure when CONFIG_IOMMU_API=n

    - Fix kpti performance regression with new rodata default option

    - Typo fix"

    * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
    arm64: kexec_file: return successfully even if kaslr-seed doesn't exist
    ACPI/IORT: Fix rc_dma_get_range()
    arm64: kpti: Avoid rewriting early page tables when KASLR is enabled
    arm64: asm-prototypes: Fix fat-fingered typo in comment
    ACPI/IORT: Fix build when CONFIG_IOMMU_API=n

    Linus Torvalds
     

11 Jan, 2019

2 commits

  • When executed for a PCI_ROOT_COMPLEX type, iort_match_node_callback()
    expects the opaque pointer argument to be a PCI bus device. At the
    moment rc_dma_get_range() passes the PCI endpoint instead of the bus,
    and we've been lucky to have pci_domain_nr(ptr) return 0 instead of
    crashing. Pass the bus device to iort_scan_node().

    Fixes: 5ac65e8c8941 ("ACPI/IORT: Support address size limit for root complexes")
    Reported-by: Eric Auger
    Signed-off-by: Jean-Philippe Brucker
    Signed-off-by: Lorenzo Pieralisi
    Reviewed-by: Eric Auger
    Acked-by: Robin Murphy
    Cc: stable@vger.kernel.org
    Cc: Will Deacon
    Cc: Hanjun Guo
    Cc: Sudeep Holla
    Cc: Catalin Marinas
    Cc: "Rafael J. Wysocki"
    Signed-off-by: Will Deacon

    Jean-Philippe Brucker
     
  • * acpi-pci:
    ACPI: Fix build failure when CONFIG_NLS is set to 'n'

    * acpi-power:
    ACPI: power: Skip duplicate power resource references in _PRx

    * acpi-misc:
    ACPI: NUMA: Use correct type for printing addresses on i386-PAE

    Rafael J. Wysocki
     

09 Jan, 2019

3 commits

  • On arm64 little endian allyesconfig:

    drivers/acpi/nfit/intel.c:149:12: warning: unused function 'intel_security_unlock' [-Wunused-function]
    static int intel_security_unlock(struct nvdimm *nvdimm,
    ^
    drivers/acpi/nfit/intel.c:230:12: warning: unused function 'intel_security_erase' [-Wunused-function]
    static int intel_security_erase(struct nvdimm *nvdimm,
    ^
    drivers/acpi/nfit/intel.c:279:12: warning: unused function 'intel_security_query_overwrite' [-Wunused-function]
    static int intel_security_query_overwrite(struct nvdimm *nvdimm)
    ^
    drivers/acpi/nfit/intel.c:316:12: warning: unused function 'intel_security_overwrite' [-Wunused-function]
    static int intel_security_overwrite(struct nvdimm *nvdimm,
    ^
    4 warnings generated.

    Mark these functions as __maybe_unused because they are only used when
    CONFIG_X86 is set.

    Fixes: 4c6926a23b76 ("acpi/nfit, libnvdimm: Add unlock of nvdimm support for Intel DIMMs")
    Suggested-by: Dan Williams
    Signed-off-by: Nathan Chancellor
    Signed-off-by: Dan Williams

    Nathan Chancellor
     
  • The function to_acpi_nfit_desc and function to_acpi_desc
    do the same things,delete the function to_acpi_nfit_desc,
    and keep the inline function to_acpi_desc.

    Signed-off-by: Xiaochun Lee
    Signed-off-by: Dan Williams

    Xiaochun Lee
     
  • The header file "intel.h" is repeated here, So delete one.

    Signed-off-by: Xiaochun Lee
    Signed-off-by: Dan Williams

    Xiaochun Lee
     

08 Jan, 2019

1 commit

  • Commit 8097e53eaba2 ("ACPI/IORT: Use helper functions to access
    dev->iommu_fwspec") changed by mistake the iort_fwspec_iommu_ops() stub
    definition (compiled in when CONFIG_IOMMU_API=n), that caused the
    following compilation failure:

    drivers/acpi/arm64/iort.c:880:1: error: expected identifier or
    '(' before '{' token
    { return NULL; }
    ^
    drivers/acpi/arm64/iort.c:879:39: warning: 'iort_fwspec_iommu_ops'
    used but never defined
    static inline const struct iommu_ops *iort_fwspec_iommu_ops(struct device *dev);
    ^~~~~~~~~~~~~~~~~~~~~

    Fix it.

    Fixes: 8097e53eaba2 ("ACPI/IORT: Use helper functions to access dev->iommu_fwspec")
    Signed-off-by: Qian Cai
    [lorenzo.pieralisi@arm.com: updated tags and log]
    Signed-off-by: Lorenzo Pieralisi
    Acked-by: Hanjun Guo
    Cc: Will Deacon
    Cc: Sudeep Holla
    Cc: Catalin Marinas
    Cc: Joerg Roedel
    Signed-off-by: Will Deacon

    Qian Cai
     

07 Jan, 2019

1 commit

  • The current-source used for the battery temp-sensor (TS) is shared with the
    GPADC. For proper fuel-gauge and charger operation the TS current-source
    needs to be permanently on. But to read the GPADC we need to temporary
    switch the TS current-source to ondemand, so that the GPADC can use it,
    otherwise we will always read an all 0 value.

    The switching from on to on-ondemand is not necessary when the TS
    current-source is off (this happens on devices which do not have a TS).

    Prior to this commit there were 2 issues with our handling of the TS
    current-source switching:

    1) We were writing hardcoded values to the ADC TS pin-ctrl register,
    overwriting various other unrelated bits. Specifically we were overwriting
    the current-source setting for the TS and GPIO0 pins, forcing it to 80ųA
    independent of its original setting. On a Chuwi Vi10 tablet this was
    causing us to get a too high adc value (due to a too high current-source)
    resulting in acpi_lpat_raw_to_temp() returning -ENOENT, resulting in:

    ACPI Error: AE_ERROR, Returned by Handler for [UserDefinedRegion]
    ACPI Error: Method parse/execution failed \_SB.SXP1._TMP, AE_ERROR

    This commit fixes this by using regmap_update_bits to change only the
    relevant bits.

    2) At the end of intel_xpower_pmic_get_raw_temp() we were unconditionally
    enabling the TS current-source even on devices where the TS-pin is not used
    and the current-source thus was off on entry of the function.

    This commit fixes this by checking if the TS current-source is off when
    entering intel_xpower_pmic_get_raw_temp() and if so it is left as is.

    Fixes: 58eefe2f3f53 (ACPI / PMIC: xpower: Do pinswitch ... reading GPADC)
    Signed-off-by: Hans de Goede
    Acked-by: Andy Shevchenko
    Cc: 4.14+ # 4.14+
    Signed-off-by: Rafael J. Wysocki

    Hans de Goede
     

04 Jan, 2019

1 commit

  • Nobody has actually used the type (VERIFY_READ vs VERIFY_WRITE) argument
    of the user address range verification function since we got rid of the
    old racy i386-only code to walk page tables by hand.

    It existed because the original 80386 would not honor the write protect
    bit when in kernel mode, so you had to do COW by hand before doing any
    user access. But we haven't supported that in a long time, and these
    days the 'type' argument is a purely historical artifact.

    A discussion about extending 'user_access_begin()' to do the range
    checking resulted this patch, because there is no way we're going to
    move the old VERIFY_xyz interface to that model. And it's best done at
    the end of the merge window when I've done most of my merges, so let's
    just get this done once and for all.

    This patch was mostly done with a sed-script, with manual fix-ups for
    the cases that weren't of the trivial 'access_ok(VERIFY_xyz' form.

    There were a couple of notable cases:

    - csky still had the old "verify_area()" name as an alias.

    - the iter_iov code had magical hardcoded knowledge of the actual
    values of VERIFY_{READ,WRITE} (not that they mattered, since nothing
    really used it)

    - microblaze used the type argument for a debug printout

    but other than those oddities this should be a total no-op patch.

    I tried to fix up all architectures, did fairly extensive grepping for
    access_ok() uses, and the changes are trivial, but I may have missed
    something. Any missed conversion should be trivially fixable, though.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

03 Jan, 2019

1 commit

  • The addresses of NUMA nodes are not printed correctly on i386-PAE
    which is misleading.

    Here is a debian9-32bit with PAE in a QEMU guest having more than 4G
    of memory:

    qemu-system-i386 \
    -hda /var/lib/libvirt/images/debian32.qcow2 \
    -m 5G \
    -enable-kvm \
    -smp 10 \
    -numa node,mem=512M,nodeid=0,cpus=0 \
    -numa node,mem=512M,nodeid=1,cpus=1 \
    -numa node,mem=512M,nodeid=2,cpus=2 \
    -numa node,mem=512M,nodeid=3,cpus=3 \
    -numa node,mem=512M,nodeid=4,cpus=4 \
    -numa node,mem=512M,nodeid=5,cpus=5 \
    -numa node,mem=512M,nodeid=6,cpus=6 \
    -numa node,mem=512M,nodeid=7,cpus=7 \
    -numa node,mem=512M,nodeid=8,cpus=8 \
    -numa node,mem=512M,nodeid=9,cpus=9 \
    -serial stdio

    Because of the wrong value type, it prints as below:

    [ 0.021049] ACPI: SRAT Memory (0x0 length 0xa0000) in proximity domain 0 enabled
    [ 0.021740] ACPI: SRAT Memory (0x100000 length 0x1ff00000) in proximity domain 0 enabled
    [ 0.022425] ACPI: SRAT Memory (0x20000000 length 0x20000000) in proximity domain 1 enabled
    [ 0.023092] ACPI: SRAT Memory (0x40000000 length 0x20000000) in proximity domain 2 enabled
    [ 0.023764] ACPI: SRAT Memory (0x60000000 length 0x20000000) in proximity domain 3 enabled
    [ 0.024431] ACPI: SRAT Memory (0x80000000 length 0x20000000) in proximity domain 4 enabled
    [ 0.025104] ACPI: SRAT Memory (0xa0000000 length 0x20000000) in proximity domain 5 enabled
    [ 0.025791] ACPI: SRAT Memory (0x0 length 0x20000000) in proximity domain 6 enabled
    [ 0.026412] ACPI: SRAT Memory (0x20000000 length 0x20000000) in proximity domain 7 enabled
    [ 0.027118] ACPI: SRAT Memory (0x40000000 length 0x20000000) in proximity domain 8 enabled
    [ 0.027802] ACPI: SRAT Memory (0x60000000 length 0x20000000) in proximity domain 9 enabled

    The upper half of the start address of the NUMA domains between 6
    and 9 inclusive was cut, so the printed values are incorrect.

    Fix the value type, to get the correct values in the log as follows:

    [ 0.023698] ACPI: SRAT Memory (0x0 length 0xa0000) in proximity domain 0 enabled
    [ 0.024325] ACPI: SRAT Memory (0x100000 length 0x1ff00000) in proximity domain 0 enabled
    [ 0.024981] ACPI: SRAT Memory (0x20000000 length 0x20000000) in proximity domain 1 enabled
    [ 0.025659] ACPI: SRAT Memory (0x40000000 length 0x20000000) in proximity domain 2 enabled
    [ 0.026317] ACPI: SRAT Memory (0x60000000 length 0x20000000) in proximity domain 3 enabled
    [ 0.026980] ACPI: SRAT Memory (0x80000000 length 0x20000000) in proximity domain 4 enabled
    [ 0.027635] ACPI: SRAT Memory (0xa0000000 length 0x20000000) in proximity domain 5 enabled
    [ 0.028311] ACPI: SRAT Memory (0x100000000 length 0x20000000) in proximity domain 6 enabled
    [ 0.028985] ACPI: SRAT Memory (0x120000000 length 0x20000000) in proximity domain 7 enabled
    [ 0.029667] ACPI: SRAT Memory (0x140000000 length 0x20000000) in proximity domain 8 enabled
    [ 0.030334] ACPI: SRAT Memory (0x160000000 length 0x20000000) in proximity domain 9 enabled

    Signed-off-by: Chao Fan
    [ rjw: Subject & changelog ]
    Signed-off-by: Rafael J. Wysocki

    Chao Fan
     

02 Jan, 2019

3 commits

  • Some ACPI tables contain duplicate power resource references like this:

    Name (_PR0, Package (0x04) // _PR0: Power Resources for D0
    {
    P28P,
    P18P,
    P18P,
    CLK4
    })

    This causes a WARN_ON in sysfs_add_link_to_group() because we end up
    adding a link to the same acpi_device twice:

    sysfs: cannot create duplicate filename '/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/808622C1:00/OVTI2680:00/power_resources_D0/LNXPOWER:0a'
    CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.19.12-301.fc29.x86_64 #1
    Hardware name: Insyde CherryTrail/Type2 - Board Product Name, BIOS jumperx.T87.KFBNEEA02 04/13/2016
    Call Trace:
    dump_stack+0x5c/0x80
    sysfs_warn_dup.cold.3+0x17/0x2a
    sysfs_do_create_link_sd.isra.2+0xa9/0xb0
    sysfs_add_link_to_group+0x30/0x50
    acpi_power_expose_list+0x74/0xa0
    acpi_power_add_remove_device+0x50/0xa0
    acpi_add_single_object+0x26b/0x5f0
    acpi_bus_check_add+0xc4/0x250
    ...

    To address this issue, make acpi_extract_power_resources() check for
    duplicates and simply skip them when found.

    Cc: All applicable
    Signed-off-by: Hans de Goede
    [ rjw: Subject & changelog, comments ]
    Signed-off-by: Rafael J. Wysocki

    Hans de Goede
     
  • Observing link failure as follows when CONFIG_ACPI is set but
    both CONFIG_NLS and CONFIG_PCI are no set:

    drivers/acpi/device_sysfs.o: In function `description_show':
    device_sysfs.c:(.text+0x48a): undefined reference to `utf16s_to_utf8s'

    This issue was previously addressed implicitly by commit 8a226e00eeed
    (PCI: pci-label: Fix build failure when CONFIG_NLS is set to 'm' by
    allmodconfig) causing PCI_LABEL to be selected when ACPI was set
    which caused NLS to be selected too in that case.

    However, after commit 5d32a66541c46 (PCI/ACPI: Allow ACPI to be built
    without CONFIG_PCI set) it is possible to build ACPI support without
    PCI, so make ACPI select NLS directly to cover that case.

    Fixes: 5d32a66541c46 (PCI/ACPI: Allow ACPI to be built without CONFIG_PCI set)
    Signed-off-by: Sinan Kaya
    [ rjw: Changelog ]
    Signed-off-by: Rafael J. Wysocki

    Sinan Kaya
     
  • Pull IOMMU updates from Joerg Roedel:

    - Page table code for AMD IOMMU now supports large pages where smaller
    page-sizes were mapped before. VFIO had to work around that in the
    past and I included a patch to remove it (acked by Alex Williamson)

    - Patches to unmodularize a couple of IOMMU drivers that would never
    work as modules anyway.

    - Work to unify the the iommu-related pointers in 'struct device' into
    one pointer. This work is not finished yet, but will probably be in
    the next cycle.

    - NUMA aware allocation in iommu-dma code

    - Support for r8a774a1 and r8a774c0 in the Renesas IOMMU driver

    - Scalable mode support for the Intel VT-d driver

    - PM runtime improvements for the ARM-SMMU driver

    - Support for the QCOM-SMMUv2 IOMMU hardware from Qualcom

    - Various smaller fixes and improvements

    * tag 'iommu-updates-v4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (78 commits)
    iommu: Check for iommu_ops == NULL in iommu_probe_device()
    ACPI/IORT: Don't call iommu_ops->add_device directly
    iommu/of: Don't call iommu_ops->add_device directly
    iommu: Consolitate ->add/remove_device() calls
    iommu/sysfs: Rename iommu_release_device()
    dmaengine: sh: rcar-dmac: Use device_iommu_mapped()
    xhci: Use device_iommu_mapped()
    powerpc/iommu: Use device_iommu_mapped()
    ACPI/IORT: Use device_iommu_mapped()
    iommu/of: Use device_iommu_mapped()
    driver core: Introduce device_iommu_mapped() function
    iommu/tegra: Use helper functions to access dev->iommu_fwspec
    iommu/qcom: Use helper functions to access dev->iommu_fwspec
    iommu/of: Use helper functions to access dev->iommu_fwspec
    iommu/mediatek: Use helper functions to access dev->iommu_fwspec
    iommu/ipmmu-vmsa: Use helper functions to access dev->iommu_fwspec
    iommu/dma: Use helper functions to access dev->iommu_fwspec
    iommu/arm-smmu: Use helper functions to access dev->iommu_fwspec
    ACPI/IORT: Use helper functions to access dev->iommu_fwspec
    iommu: Introduce wrappers around dev->iommu_fwspec
    ...

    Linus Torvalds
     

29 Dec, 2018

3 commits

  • Pull char/misc driver updates from Greg KH:
    "Here is the big set of char and misc driver patches for 4.21-rc1.

    Lots of different types of driver things in here, as this tree seems
    to be the "collection of various driver subsystems not big enough to
    have their own git tree" lately.

    Anyway, some highlights of the changes in here:

    - binderfs: is it a rule that all driver subsystems will eventually
    grow to have their own filesystem? Binder now has one to handle the
    use of it in containerized systems.

    This was discussed at the Plumbers conference a few months ago and
    knocked into mergable shape very fast by Christian Brauner. Who
    also has signed up to be another binder maintainer, showing a
    distinct lack of good judgement :)

    - binder updates and fixes

    - mei driver updates

    - fpga driver updates and additions

    - thunderbolt driver updates

    - soundwire driver updates

    - extcon driver updates

    - nvmem driver updates

    - hyper-v driver updates

    - coresight driver updates

    - pvpanic driver additions and reworking for more device support

    - lp driver updates. Yes really, it's _finally_ moved to the proper
    parallal port driver model, something I never thought I would see
    happen. Good stuff.

    - other tiny driver updates and fixes.

    All of these have been in linux-next for a while with no reported
    issues"

    * tag 'char-misc-4.21-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (116 commits)
    MAINTAINERS: add another Android binder maintainer
    intel_th: msu: Fix an off-by-one in attribute store
    stm class: Add a reference to the SyS-T document
    stm class: Fix a module refcount leak in policy creation error path
    char: lp: use new parport device model
    char: lp: properly count the lp devices
    char: lp: use first unused lp number while registering
    char: lp: detach the device when parallel port is removed
    char: lp: introduce list to save port number
    bus: qcom: remove duplicated include from qcom-ebi2.c
    VMCI: Use memdup_user() rather than duplicating its implementation
    char/rtc: Use of_node_name_eq for node name comparisons
    misc: mic: fix a DMA pool free failure
    ptp: fix an IS_ERR() vs NULL check
    genwqe: Fix size check
    binder: implement binderfs
    binder: fix use-after-free due to ksys_close() during fdget()
    bus: fsl-mc: remove duplicated include files
    bus: fsl-mc: explicitly define the fsl_mc_command endianness
    misc: ti-st: make array read_ver_cmd static, shrinks object size
    ...

    Linus Torvalds
     
  • Pull libnvdimm updates from Dan Williams:
    "The vast bulk of this update is the new support for the security
    capabilities of some nvdimms.

    The userspace tooling for this capability is still a work in progress,
    but the changes survive the existing libnvdimm unit tests. The changes
    also pass manual checkout on hardware and the new nfit_test emulation
    of the security capability.

    The touches of the security/keys/ files have received the necessary
    acks from Mimi and David. Those changes were necessary to allow for a
    new generic encrypted-key type, and allow the nvdimm sub-system to
    lookup key material referenced by the libnvdimm-sysfs interface.

    Summary:

    - Add support for the security features of nvdimm devices that
    implement a security model similar to ATA hard drive security. The
    security model supports locking access to the media at
    device-power-loss, to be unlocked with a passphrase, and
    secure-erase (crypto-scramble).

    Unlike the ATA security case where the kernel expects device
    security to be managed in a pre-OS environment, the libnvdimm
    security implementation allows key provisioning and key-operations
    at OS runtime. Keys are managed with the kernel's encrypted-keys
    facility to provide data-at-rest security for the libnvdimm key
    material. The usage model mirrors fscrypt key management, but is
    driven via libnvdimm sysfs.

    - Miscellaneous updates for api usage and comment fixes"

    * tag 'libnvdimm-for-4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: (21 commits)
    libnvdimm/security: Quiet security operations
    libnvdimm/security: Add documentation for nvdimm security support
    tools/testing/nvdimm: add Intel DSM 1.8 support for nfit_test
    tools/testing/nvdimm: Add overwrite support for nfit_test
    tools/testing/nvdimm: Add test support for Intel nvdimm security DSMs
    acpi/nfit, libnvdimm/security: add Intel DSM 1.8 master passphrase support
    acpi/nfit, libnvdimm/security: Add security DSM overwrite support
    acpi/nfit, libnvdimm: Add support for issue secure erase DSM to Intel nvdimm
    acpi/nfit, libnvdimm: Add enable/update passphrase support for Intel nvdimms
    acpi/nfit, libnvdimm: Add disable passphrase support to Intel nvdimm.
    acpi/nfit, libnvdimm: Add unlock of nvdimm support for Intel DIMMs
    acpi/nfit, libnvdimm: Add freeze security support to Intel nvdimm
    acpi/nfit, libnvdimm: Introduce nvdimm_security_ops
    keys-encrypted: add nvdimm key format type to encrypted keys
    keys: Export lookup_user_key to external users
    acpi/nfit, libnvdimm: Store dimm id as a member to struct nvdimm
    libnvdimm, namespace: Replace kmemdup() with kstrndup()
    libnvdimm, label: Switch to bitmap_zalloc()
    ACPI/nfit: Adjust annotation for why return 0 if fail to find NFIT at start
    libnvdimm, bus: Check id immediately following ida_simple_get
    ...

    Linus Torvalds
     
  • Pull DMA mapping updates from Christoph Hellwig:
    "A huge update this time, but a lot of that is just consolidating or
    removing code:

    - provide a common DMA_MAPPING_ERROR definition and avoid indirect
    calls for dma_map_* error checking

    - use direct calls for the DMA direct mapping case, avoiding huge
    retpoline overhead for high performance workloads

    - merge the swiotlb dma_map_ops into dma-direct

    - provide a generic remapping DMA consistent allocator for
    architectures that have devices that perform DMA that is not cache
    coherent. Based on the existing arm64 implementation and also used
    for csky now.

    - improve the dma-debug infrastructure, including dynamic allocation
    of entries (Robin Murphy)

    - default to providing chaining scatterlist everywhere, with opt-outs
    for the few architectures (alpha, parisc, most arm32 variants) that
    can't cope with it

    - misc sparc32 dma-related cleanups

    - remove the dma_mark_clean arch hook used by swiotlb on ia64 and
    replace it with the generic noncoherent infrastructure

    - fix the return type of dma_set_max_seg_size (Niklas Söderlund)

    - move the dummy dma ops for not DMA capable devices from arm64 to
    common code (Robin Murphy)

    - ensure dma_alloc_coherent returns zeroed memory to avoid kernel
    data leaks through userspace. We already did this for most common
    architectures, but this ensures we do it everywhere.
    dma_zalloc_coherent has been deprecated and can hopefully be
    removed after -rc1 with a coccinelle script"

    * tag 'dma-mapping-4.21' of git://git.infradead.org/users/hch/dma-mapping: (73 commits)
    dma-mapping: fix inverted logic in dma_supported
    dma-mapping: deprecate dma_zalloc_coherent
    dma-mapping: zero memory returned from dma_alloc_*
    sparc/iommu: fix ->map_sg return value
    sparc/io-unit: fix ->map_sg return value
    arm64: default to the direct mapping in get_arch_dma_ops
    PCI: Remove unused attr variable in pci_dma_configure
    ia64: only select ARCH_HAS_DMA_COHERENT_TO_PFN if swiotlb is enabled
    dma-mapping: bypass indirect calls for dma-direct
    vmd: use the proper dma_* APIs instead of direct methods calls
    dma-direct: merge swiotlb_dma_ops into the dma_direct code
    dma-direct: use dma_direct_map_page to implement dma_direct_map_sg
    dma-direct: improve addressability error reporting
    swiotlb: remove dma_mark_clean
    swiotlb: remove SWIOTLB_MAP_ERROR
    ACPI / scan: Refactor _CCA enforcement
    dma-mapping: factor out dummy DMA ops
    dma-mapping: always build the direct mapping code
    dma-mapping: move dma_cache_sync out of line
    dma-mapping: move various slow path functions out of line
    ...

    Linus Torvalds
     

28 Dec, 2018

2 commits

  • * Use common helpers, bitmap_zalloc() and kstrndup(), to replace open
    coded versions.
    * Clarify the comments around hotplug vs initial init case for the nfit
    driver.
    * Cleanup the libnvdimm init path.

    Dan Williams
     
  • Pull pstore updates from Kees Cook:
    "Improvements and refactorings:

    - Improve compression handling

    - Refactor argument handling during initialization

    - Avoid needless locking for saner EFI backend handling

    - Add more kern-doc and improve debugging output"

    * tag 'pstore-v4.21-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
    pstore/ram: Avoid NULL deref in ftrace merging failure path
    pstore: Convert buf_lock to semaphore
    pstore: Fix bool initialization/comparison
    pstore/ram: Do not treat empty buffers as valid
    pstore/ram: Simplify ramoops_get_next_prz() arguments
    pstore: Map PSTORE_TYPE_* to strings
    pstore: Replace open-coded << with BIT()
    pstore: Improve and update some comments and status output
    pstore/ram: Add kern-doc for struct persistent_ram_zone
    pstore/ram: Report backend assignments with finer granularity
    pstore/ram: Standardize module name in ramoops
    pstore: Avoid duplicate call of persistent_ram_zap()
    pstore: Remove needless lock during console writes
    pstore: Do not use crash buffer for decompression

    Linus Torvalds
     

26 Dec, 2018

4 commits

  • Pull device properties framework updates from Rafael Wysocki:
    "This introduces 'software nodes' that are analogous to the DT and ACPI
    firmware nodes except that they can be created by drivers themselves
    and do a couple of assorted cleanups.

    Specifics:

    - Introduce "software nodes", analogous to the DT and ACPI firmware
    nodes except that they can be created by kernel code, in order to
    complement fwnodes representing real firmware nodes when they are
    incomplete (for example missing device properties) and to supply
    the primary fwnode when the firmware lacks hardware description for
    a device completely, and replace the "property_set" struct
    fwnode_handle type with software nodes (Heikki Krogerus).

    - Clean up the just introduced software nodes support and fix a
    commet in the graph-handling code (Colin Ian King, Marco Felsch)"

    * tag 'devprop-4.21-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    device property: fix fwnode_graph_get_next_endpoint() documentation
    drivers: base: swnode: remove need for a temporary string for the node name
    device property: Remove struct property_set
    device property: Move device_add_properties() to swnode.c
    drivers: base: Introducing software nodes to the firmware node framework
    ACPI / glue: Add acpi_platform_notify() function
    drivers core: Prepare support for multiple platform notifications
    driver core: platform: Remove duplicated device_remove_properties() call

    Linus Torvalds
     
  • Pull ACPI updates from Rafael Wysocki:
    "These update the ACPICA code in the kernel to the 20181213 upstream
    revision, make it possible to build the ACPI subsystem without PCI
    support, and a new OEM _OSI string, add a new device support to the
    ACPI driver for AMD SoCs and fix PM handling in the ACPI driver for
    Intel SoCs, fix the SPCR table handling and do some assorted fixes and
    cleanups.

    Specifics:

    - Update the ACPICA code in the kernel to the 20181213 upstream
    revision including:
    * New Windows _OSI strings (Bob Moore, Jung-uk Kim).
    * Buffers-to-string conversions update (Bob Moore).
    * Removal of support for expressions in package elements (Bob
    Moore).
    * New option to display method/object evaluation in debug output
    (Bob Moore).
    * Compiler improvements (Bob Moore, Erik Schmauss).
    * Minor debugger fix (Erik Schmauss).
    * Disassembler improvement (Erik Schmauss).
    * Assorted cleanups (Bob Moore, Colin Ian King, Erik Schmauss).

    - Add support for a new OEM _OSI string to indicate special handling
    of secondary graphics adapters on some systems (Alex Hung).

    - Make it possible to build the ACPI subystem without PCI support
    (Sinan Kaya).

    - Make the SPCR table handling regard baud rate 0 in accordance with
    the specification of it and make the DSDT override code support
    DSDT code names generated by recent ACPICA (Andy Shevchenko, Wang
    Dongsheng, Nathan Chancellor).

    - Add clock frequency for Hisilicon Hip08 SPI controller to the ACPI
    driver for AMD SoCs (APD) (Jay Fang).

    - Fix the PM handling during device init in the ACPI driver for Intel
    SoCs (LPSS) (Hans de Goede).

    - Avoid double panic()s by clearing the APEI GHES block_status before
    panic() (Lenny Szubowicz).

    - Clean up a function invocation in the ACPI core and get rid of some
    code duplication by using the DEFINE_SHOW_ATTRIBUTE macro in the
    APEI support code (Alexey Dobriyan, Yangtao Li)"

    * tag 'acpi-4.21-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (31 commits)
    ACPI / tables: Add an ifdef around amlcode and dsdt_amlcode
    ACPI/APEI: Clear GHES block_status before panic()
    ACPI: Make PCI slot detection driver depend on PCI
    ACPI/IORT: Stub out ACS functions when CONFIG_PCI is not set
    arm64: select ACPI PCI code only when both features are enabled
    PCI/ACPI: Allow ACPI to be built without CONFIG_PCI set
    ACPICA: Remove PCI bits from ACPICA when CONFIG_PCI is unset
    ACPI: Allow CONFIG_PCI to be unset for reboot
    ACPI: Move PCI reset to a separate function
    ACPI / OSI: Add OEM _OSI string to enable dGPU direct output
    ACPI / tables: add DSDT AmlCode new declaration name support
    ACPICA: Update version to 20181213
    ACPICA: change coding style to match ACPICA, no functional change
    ACPICA: Debug output: Add option to display method/object evaluation
    ACPICA: disassembler: disassemble OEMx tables as AML
    ACPICA: Add "Windows 2018.2" string in the _OSI support
    ACPICA: Expressions in package elements are not supported
    ACPICA: Update buffer-to-string conversions
    ACPICA: add comments, no functional change
    ACPICA: Remove defines that use deprecated flag
    ...

    Linus Torvalds
     
  • Pull power management updates from Rafael Wysocki:
    "These add sysadmin documentation for cpuidle, extend the cpuidle
    subsystem somewhat, improve the handling of performance states in the
    generic power domains (genpd) and operating performance points (OPP)
    frameworks, add a new cpufreq driver for Qualcomm SoCs, update some
    other cpufreq drivers, switch over the runtime PM framework to using
    high-res timers for device autosuspend, fix a problem with
    suspend-to-idle on ACPI-based platforms, add system-wide suspend and
    resume handling to the devfreq framework, do some janitorial cleanups
    all over and update some utilities.

    Specifics:

    - Add sysadmin documentation for cpuidle (Rafael Wysocki).

    - Make it possible to specify a cpuidle governor from kernel command
    line, add new cpuidle state sysfs attributes for governor
    evaluation, and improve the "polling" idle state handling (Rafael
    Wysocki).

    - Fix the handling of the "required-opps" DT property in the
    operating performance points (OPP) framework, improve the
    integration of it with the generic power domains (genpd) framework,
    improve the handling of performance states in them and clean up the
    idle states vs performance states separation in genpd (Viresh
    Kumar, Ulf Hansson).

    - Add a cpufreq driver called "qcom-hw" for Qualcomm SoCs using a
    hardware engine to control CPU frequency transitions along with DT
    bindings for it (Taniya Das).

    - Fix an intel_pstate driver issue related to CPU offline and update
    the documentation of it (Srinivas Pandruvada).

    - Clean up the imx6q cpufreq driver (Anson Huang).

    - Add SPDX license IDs to cpufreq schedutil governor files (Daniel
    Lezcano).

    - Switch over the runtime PM framework to using high-res timers for
    device autosuspend to allow the control of it to be more precise
    (Vincent Guittot).

    - Disable non-wakeup ACPI GPEs during suspend-to-idle so that they
    don't prevent the system from reaching the target low-power state
    and simplify the suspend-to-idle handling on ACPI platforms without
    full Low-Power S0 Idle (LPS0) support (Rafael Wysocki).

    - Add system-wide suspend and resume support to the devfreq framework
    (Lukasz Luba).

    - Clean up the SmartReflex adaptive voltage scaling (AVS) driver and
    add an SPDX license ID to it (Nishanth Menon, Uwe Kleine-König,
    Thomas Meyer).

    - Get rid of code duplication by using the DEFINE_SHOW_ATTRIBUTE
    macro in some places, fix some DT node refcount leaks, and do some
    other janitorial cleanups (Yangtao Li).

    - Update the cpupower, intel_pstate_tracer and turbosat utilities
    (Abhishek Goel, Doug Smythies, Len Brown)"

    * tag 'pm-4.21-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (54 commits)
    PM / Domains: remove define_genpd_open_function() and define_genpd_debugfs_fops()
    PM-runtime: Switch autosuspend over to using hrtimers
    cpufreq: qcom-hw: Add support for QCOM cpufreq HW driver
    dt-bindings: cpufreq: Introduce QCOM cpufreq firmware bindings
    ACPI: PM: Loop in full LPS0 mode only
    ACPI: EC / PM: Disable non-wakeup GPEs for suspend-to-idle
    tools/power/x86/intel_pstate_tracer: Fix non root execution for post processing a trace file
    tools/power turbostat: consolidate duplicate model numbers
    tools/power turbostat: fix goldmont C-state limit decoding
    PM / Domains: Propagate performance state updates
    PM / Domains: Factorize dev_pm_genpd_set_performance_state()
    PM / Domains: Save OPP table pointer in genpd
    OPP: Don't return 0 on error from of_get_required_opp_performance_state()
    OPP: Add dev_pm_opp_xlate_performance_state() helper
    OPP: Improve _find_table_of_opp_np()
    PM / Domains: Make genpd performance states orthogonal to the idlestates
    PM / sleep: convert to DEFINE_SHOW_ATTRIBUTE
    cpuidle: Add 'above' and 'below' idle state metrics
    PM / AVS: SmartReflex: Switch to SPDX Licence ID
    PM / AVS: SmartReflex: NULL check before some freeing functions is not needed
    ...

    Linus Torvalds
     
  • Pull x86 platform driver updates from Andy Shevchenko:

    - The USB Power Delivery discrete components now can be enumerated by
    i2c-multi-instantiate driver via several resources under single ACPI
    device node (ACPI ID is INT3515).

    - Touchscreen support is added for the Mediacom Flexbook Edge 11.

    - Mellanox driver got fixed due to updates in their firmware.

    - The power management stub driver for AtomISP v2 is fixed in order to
    support Intel Baytrail SoCs where same quirk is needed for S0ix to
    work.

    - Special key handling has been fixed for Favorites hotkey on Thinkpad,
    and Screen LOCK on ASUS.

    - Ideapad Yoga 2 13 has no HW rfkill switch, thus, driver has been
    updated to support this.

    - Few cleanups related to debugfs have been made in Intel IPS and Intel
    PMC drivers. Besides that Intel PMC has been extended to show more
    detailed information about Latency Tolerance

    * tag 'platform-drivers-x86-v4.21-1' of git://git.infradead.org/linux-platform-drivers-x86: (41 commits)
    platform/x86: mlx-platform: Convert to use SPDX identifier
    Documentation/ABI: Add new attribute for mlxreg-io sysfs interfaces
    platform/x86: mlx-platform: Allow mlxreg-io driver activation for new systems
    platform/x86: mlx-platform: Fix LED configuration
    platform/x86: mlx-platform: Fix tachometer registers
    platform/x86: mlx-platform: Rename new systems product names
    platform/x86: mlx-platform: Add definitions for new registers
    platform/x86: intel_telemetry: convert to DEFINE_SHOW_ATTRIBUTE
    platform/x86: intel_pmc_core: convert to DEFINE_SHOW_ATTRIBUTE
    platform/x86: thinkpad_acpi: Cleanup quirks macros
    platform/x86: touchscreen_dmi: Add info for the Mediacom Flexbook Edge 11
    platform/x86: Fix config space access for intel_atomisp2_pm
    platform/x86: Add the VLV ISP PCI ID to atomisp2_pm
    platform/x86: intel_ips: Convert to use DEFINE_SHOW_ATTRIBUTE macro
    platform/x86: intel_ips: Remove never happen condition
    platform/x86: intel_ips: NULL check before some freeing functions is not needed
    platform/x86: intel_ips: remove unnecessary checks in ips_debugfs_init
    iio: inv_mpu6050: Use i2c_acpi_get_i2c_resource() helper
    ACPI / scan: Create platform device for INT3515 ACPI nodes
    platform/x86: i2c-multi-instantiate: Allow to have same slaves
    ...

    Linus Torvalds
     

22 Dec, 2018

4 commits

  • With Intel DSM 1.8 [1] two new security DSMs are introduced. Enable/update
    master passphrase and master secure erase. The master passphrase allows
    a secure erase to be performed without the user passphrase that is set on
    the NVDIMM. The commands of master_update and master_erase are added to
    the sysfs knob in order to initiate the DSMs. They are similar in opeartion
    mechanism compare to update and erase.

    [1]: http://pmem.io/documents/NVDIMM_DSM_Interface-V1.8.pdf

    Signed-off-by: Dave Jiang
    Signed-off-by: Dan Williams

    Dave Jiang
     
  • Add support for the NVDIMM_FAMILY_INTEL "ovewrite" capability as
    described by the Intel DSM spec v1.7. This will allow triggering of
    overwrite on Intel NVDIMMs. The overwrite operation can take tens of
    minutes. When the overwrite DSM is issued successfully, the NVDIMMs will
    be unaccessible. The kernel will do backoff polling to detect when the
    overwrite process is completed. According to the DSM spec v1.7, the 128G
    NVDIMMs can take up to 15mins to perform overwrite and larger DIMMs will
    take longer.

    Given that overwrite puts the DIMM in an indeterminate state until it
    completes introduce the NDD_SECURITY_OVERWRITE flag to prevent other
    operations from executing when overwrite is happening. The
    NDD_WORK_PENDING flag is added to denote that there is a device reference
    on the nvdimm device for an async workqueue thread context.

    Signed-off-by: Dave Jiang
    Signed-off-by: Dan Williams

    Dave Jiang
     
  • Add support to issue a secure erase DSM to the Intel nvdimm. The
    required passphrase is acquired from an encrypted key in the kernel user
    keyring. To trigger the action, "erase " is written to the
    "security" sysfs attribute.

    Signed-off-by: Dave Jiang
    Signed-off-by: Dan Williams

    Dave Jiang
     
  • Add support to disable passphrase (security) for the Intel nvdimm. The
    passphrase used for disabling is pulled from an encrypted-key in the kernel
    user keyring. The action is triggered by writing "disable " to the
    sysfs attribute "security".

    Signed-off-by: Dave Jiang
    Signed-off-by: Dan Williams

    Dave Jiang
     

21 Dec, 2018

4 commits

  • * acpi-pci:
    ACPI: Make PCI slot detection driver depend on PCI
    ACPI/IORT: Stub out ACS functions when CONFIG_PCI is not set
    arm64: select ACPI PCI code only when both features are enabled
    PCI/ACPI: Allow ACPI to be built without CONFIG_PCI set
    ACPICA: Remove PCI bits from ACPICA when CONFIG_PCI is unset
    ACPI: Allow CONFIG_PCI to be unset for reboot
    ACPI: Move PCI reset to a separate function

    Rafael J. Wysocki
     
  • * acpi-tables:
    ACPI / tables: Add an ifdef around amlcode and dsdt_amlcode
    ACPI / tables: add DSDT AmlCode new declaration name support
    ACPI: SPCR: Consider baud rate 0 as preconfigured state

    * acpi-soc:
    ACPI / LPSS: Ignore acpi_device_fix_up_power() return value
    ACPI / APD: Add clock frequency for Hisilicon Hip08 SPI controller

    * acpi-apei:
    ACPI/APEI: Clear GHES block_status before panic()
    ACPI, APEI, EINJ: Change to use DEFINE_SHOW_ATTRIBUTE macro

    * acpi-misc:
    ACPI: fix acpi_find_child_device() invocation in acpi_preset_companion()

    Rafael J. Wysocki
     
  • * acpica:
    ACPICA: Update version to 20181213
    ACPICA: change coding style to match ACPICA, no functional change
    ACPICA: Debug output: Add option to display method/object evaluation
    ACPICA: disassembler: disassemble OEMx tables as AML
    ACPICA: Add "Windows 2018.2" string in the _OSI support
    ACPICA: Expressions in package elements are not supported
    ACPICA: Update buffer-to-string conversions
    ACPICA: add comments, no functional change
    ACPICA: Remove defines that use deprecated flag
    ACPICA: Add "Windows 2018" string in the _OSI support
    ACPICA: Update version to 20181031
    ACPICA: iASL: Enhance error detection
    ACPICA: iASL: adding definition and disassembly for TPM2 revision 3
    ACPICA: Use %d for signed int print formatting instead of %u
    ACPICA: Debugger: refactor to fix unused variable warning

    Rafael J. Wysocki
     
  • Clang warns:

    drivers/acpi/tables.c:715:14: warning: unused variable 'amlcode'
    [-Wunused-variable]
    static void *amlcode __attribute__ ((weakref("AmlCode")));
    ^
    drivers/acpi/tables.c:716:14: warning: unused variable 'dsdt_amlcode'
    [-Wunused-variable]
    static void *dsdt_amlcode __attribute__ ((weakref("dsdt_aml_code")));
    ^
    2 warnings generated.

    The only uses of these variables are hiddem behind CONFIG_ACPI_CUSTOM_DSDT
    so do the same thing here.

    Fixes: 82e4eb4e9653 (ACPI / tables: add DSDT AmlCode new declaration name support)
    Signed-off-by: Nathan Chancellor
    Signed-off-by: Rafael J. Wysocki

    Nathan Chancellor