21 Jan, 2016

13 commits

  • Pull ARM SoC multiplatform code updates from Arnd Bergmann:
    "This branch is the culmination of 5 years of effort to bring the ARMv6
    and ARMv7 platforms together such that they can all be enabled and
    boot the same kernel. It has been a tremendous amount of cleanup and
    refactoring by a huge number of people, and creation of several new
    (and major) subsystems to better abstract out all the platform details
    in an appropriate manner.

    The bulk of this branch is a large patchset from Arnd that brings
    several of the more minor and older platforms we have closer to
    multiplatform support. Among these are MMP, S3C64xx, Orion5x, mv78xx0
    and realview Much of this is moving around header files from old mach
    directories, but there are also some cleanup patches of debug_ll
    (lowlevel debug per-platform options) and other parts.

    Linus Walleij also has some patchs to clean up the older ARM Realview
    platforms by finally introducing DT support, and Rob Herring has some
    for ARM Versatile which is now DT-only. Both of these platforms are
    now multiplatform.

    Finally, a couple of patches from Russell for Dove PMU, and a fix from
    Valentin Rothberg for Exynos ADC, which were rebased on top of the
    series to avoid conflicts"

    * tag 'armsoc-multiplatform' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (75 commits)
    ARM: realview: don't select SMP_ON_UP for UP builds
    ARM: s3c: simplify s3c_irqwake_{e,}intallow definition
    ARM: s3c64xx: fix pm-debug compilation
    iio: exynos-adc: fix irqf_oneshot.cocci warnings
    ARM: realview: build realview-dt SMP support only when used
    ARM: realview: select apropriate targets
    ARM: realview: clean up header files
    ARM: realview: make all header files local
    ARM: no longer make CPU targets visible separately
    ARM: integrator: use explicit core module options
    ARM: realview: enable multiplatform
    ARM: make default platform work for NOMMU
    ARM: debug-ll: move DEBUG_LL_UART_EFM32 to correct Kconfig location
    ARM: defconfig: use correct debug_ll settings
    ARM: versatile: convert to multi-platform
    ARM: versatile: merge mach code into a single file
    ARM: versatile: switch to DT only booting and remove legacy code
    ARM: versatile: add DT based PCI detection
    ARM: pxa: mark ezx structures as __maybe_unused
    ARM: pxa: mark raumfeld init functions as __maybe_unused
    ...

    Linus Torvalds
     
  • Pull ARM SoC cleanups from Olof Johansson:
    "A smallish number of general cleanup commits this release cycle. Some
    of these are minor tweaks:

    - shmobile change of binding for their GIC (using arm,pl390 now)
    - ARCH_RENESAS introduction
    - Misc other renesas updates

    There's also a couple of treewide commits from Masahiro Yamada
    cleaning up const/__initconst for SMP operation structs and a switch
    to using "depends on" instead of if-constructs on most of the Kconfig
    platform targets"

    * tag 'armsoc-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    staging: board: armadillo800eva: Use "arm,pl390"
    staging: board: kzm9d: Use "arm,pl390"
    ARM: shmobile: r8a7778 dtsi: Use "arm,pl390" for GIC
    ARM: shmobile: emev2 dtsi: Use "arm,pl390" for GIC
    ARM: shmobile: r8a7740 dtsi: Use "arm,pl390" for GIC
    ARM: shmobile: r7s72100 dtsi: Use "arm,pl390" for GIC
    ARM: use "depends on" for SoC configs instead of "if" after prompt
    ARM/clocksource: use automatic DT probing for ux500 PRCMU
    ARM: use const and __initconst for smp_operations
    ARM: hisi: do not export smp_operations structures
    ARM: mvebu: remove unused mach/gpio.h
    ARM: shmobile: Remove legacy mach/irqs.h
    ARM: shmobile: Introduce ARCH_RENESAS
    MAINTAINERS: Remove link to oss.renesas.com which is closed

    Linus Torvalds
     
  • Pull non-urgent ARM SoC fixes from Olof Johansson:
    "As usual, we queue up a few fixes that don't seem urgent enough to go
    in through -rc.

    - MAINTAINERS updates to add a list for brcmstb and fix a typo
    - A handful of fixes for OMAP 81xx, a recently resurrected platform
    so these can't be considered real regressions and thus got queued.
    - A couple of other small fixes for scoop, sa1100 and davinci"

    * tag 'armsoc-fixes-nc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    ARM: OMAP2+: Fix randconfig build warning for dm814_pllss_data
    ARM: sa1100/simpad: Be sure to clamp return value
    ARM: scoop: Be sure to clamp return value
    ARM: davinci: fix a problematic usage of WARN()
    ARM: davinci: only select WT cache if cache is enabled
    ARM: OMAP2+: Remove useless check for legacy booting for dm814x
    ARM: OMAP2+: Enable GPIO for dm814x
    ARM: dts: Fix dm814x pinctrl address and mask
    ARM: dts: Fix dm8148 control modules ranges
    ARM: OMAP2+: Fix timer entries for dm814x
    ARM: dts: Fix some mux and divider clocks to get dm814x-evm booting
    ARM: OMAP2+: Add DPPLS clock manager for dm814x
    clk: ti: Add few dm814x clock aliases
    ARM: dts: Fix dm814x entries for pllss and prcm
    MAINTAINERS: gpio-brcmstb: Remove stray '>'
    MAINTAINERS: brcmstb: Include Broadcom internal mailing-list

    Linus Torvalds
     
  • Pull asm-generic updates from Arnd Bergmann:
    "The asm-generic tree this time contains one series from Nicolas Pitre
    that makes the optimized do_div() implementation from the ARM
    architecture available to all architectures.

    This also adds stricter type checking for callers of do_div, which has
    uncovered a number of bugs in existing code, and fixes up the ones we
    have found"

    * tag 'asm-generic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic:
    ARM: asm/div64.h: adjust to generic codde
    __div64_32(): make it overridable at compile time
    __div64_const32(): abstract out the actual 128-bit cross product code
    do_div(): generic optimization for constant divisor on 32-bit machines
    div64.h: optimize do_div() for power-of-two constant divisors
    mtd/sm_ftl.c: fix wrong do_div() usage
    drm/mgag200/mgag200_mode.c: fix wrong do_div() usage
    hid-sensor-hub.c: fix wrong do_div() usage
    ti/fapll: fix wrong do_div() usage
    ti/clkt_dpll: fix wrong do_div() usage
    tegra/clk-divider: fix wrong do_div() usage
    imx/clk-pllv2: fix wrong do_div() usage
    imx/clk-pllv1: fix wrong do_div() usage
    nouveau/nvkm/subdev/clk/gk20a.c: fix wrong do_div() usage

    Linus Torvalds
     
  • Pull SCSI target updates from Nicholas Bellinger:
    "The highlights this round include:

    - Introduce configfs support for unlocked configfs_depend_item()
    (krzysztof + andrezej)
    - Conversion of usb-gadget target driver to new function registration
    interface (andrzej + sebastian)
    - Enable qla2xxx FC target mode support for Extended Logins (himansu +
    giridhar)
    - Enable qla2xxx FC target mode support for Exchange Offload (himansu +
    giridhar)
    - Add qla2xxx FC target mode irq affinity notification + selective
    command queuing. (quinn + himanshu)
    - Fix iscsi-target deadlock in se_node_acl configfs deletion (sagi +
    nab)
    - Convert se_node_acl configfs deletion + se_node_acl->queue_depth to
    proper se_session->sess_kref + target_get_session() usage. (hch +
    sagi + nab)
    - Fix long-standing race between se_node_acl->acl_kref get and
    get_initiator_node_acl() lookup. (hch + nab)
    - Fix target/user block-size handling, and make sure netlink reaches
    all network namespaces (sheng + andy)

    Note there is an outstanding bug-fix series for remote I_T nexus port
    TMR LUN_RESET has been posted and still being tested, and will likely
    become post -rc1 material at this point"

    * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (56 commits)
    scsi: qla2xxxx: avoid type mismatch in comparison
    target/user: Make sure netlink would reach all network namespaces
    target: Obtain se_node_acl->acl_kref during get_initiator_node_acl
    target: Convert ACL change queue_depth se_session reference usage
    iscsi-target: Fix potential dead-lock during node acl delete
    ib_srpt: Convert acl lookup to modern get_initiator_node_acl usage
    tcm_fc: Convert acl lookup to modern get_initiator_node_acl usage
    tcm_fc: Wait for command completion before freeing a session
    target: Fix a memory leak in target_dev_lba_map_store()
    target: Support aborting tasks with a 64-bit tag
    usb/gadget: Remove set-but-not-used variables
    target: Remove an unused variable
    target: Fix indentation in target_core_configfs.c
    target/user: Allow user to set block size before enabling device
    iser-target: Fix non negative ERR_PTR isert_device_get usage
    target/fcoe: Add tag support to tcm_fc
    qla2xxx: Check for online flag instead of active reset when transmitting responses
    qla2xxx: Set all queues to 4k
    qla2xxx: Disable ZIO at start time.
    qla2xxx: Move atioq to a different lock to reduce lock contention
    ...

    Linus Torvalds
     
  • Larry Finger reports:
    "My PowerBook G4 Aluminum with a 32-bit PPC processor fails to boot for
    the 4.4-git series".

    This is likely due to X still needing /dev/mem access on this platform.

    CONFIG_IO_STRICT_DEVMEM is not yet safe to turn on when
    CONFIG_STRICT_DEVMEM=y.

    Remove the default so that old configurations do not change behavior.

    Fixes: 90a545e98126 ("restrict /dev/mem to idle io memory ranges")
    Reported-by: Larry Finger
    Tested-by: Larry Finger
    Link: http://marc.info/?l=linux-kernel&m=145332012023825&w=2
    Acked-by: Kees Cook
    Cc: Arnd Bergmann
    Cc: Ingo Molnar
    Cc: Russell King
    Cc: Andrew Morton
    Cc: Greg Kroah-Hartman
    Signed-off-by: Dan Williams
    Signed-off-by: Linus Torvalds

    Dan Williams
     
  • Pull dmaengine fixes from Vinod Koul:
    "Here is my second pull request for this window:

    A few driver fixes have piled up and one missed rcar bindings patch
    which got somehow lost in for-linus branch so cherry-picked that one.

    Fixes are for dw, at_hdmac, edma"

    * tag 'dmaengine-fix-4.5-rc1' of git://git.infradead.org/users/vkoul/slave-dma:
    dmaengine: rcar-dmac: Document SoC specific bindings
    dmaengine: at_xdmac: fix resume for cyclic transfers
    dmaengine: dw: fix cyclic transfer callbacks
    dmaengine: dw: fix cyclic transfer setup
    dmaengine: edma: Fix paRAM slot allocation for entry channel 0

    Linus Torvalds
     
  • Pull misc kbuild updates from Michal Marek:
    - Fix for make O=... perf-tar*
    - make tags revamp and fix for the fallout. Patch for warnings about
    line breaks inside DEFINE_PER_CPU macros is pending
    - New coccinelle test

    * 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    coccinelle: tests: unsigned value cannot be lesser than zero
    tags: Unify emacs and exuberant rules
    tags: Drop the _PE rule
    tags: Do not try to index defconfigs
    tags: Process Kconfig files in a single pass
    tags: Fix erroneous pattern match in a comment
    aic7xxx: Avoid name collision with
    tags: Treat header files as C code
    package Makefile: fix perf-tar targets when outdir is set
    scripts/tags.sh: Teach tags about more powerpc macros

    Linus Torvalds
     
  • Pull kconfig updates from Michal Marek:
    - Fix for make xconfig segfault
    - Handle long strings in config symbol values
    - Fix for mixing boolean and kconfig ternary type

    * 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    kconfig: fix qconf segfault by deleting heap objects
    kconfig: return 'false' instead of 'no' in bool function
    kconfig: allow kconfig to handle longer path names

    Linus Torvalds
     
  • Pull kbuild updates from Michal Marek:
    - Make -m in makefiles work like -y and fix the
    fallout
    - Minor genksyms fix
    - Fix race with make -j install modules_install
    - Move -Wsign-compare from make W=1 to W=2
    - Other minor fixes

    * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    kbuild: Demote 'sign-compare' warning to W=2
    Makefile: revert "Makefile: Document ability to make file.lst and file.S" partially
    kbuild: Do not run modules_install and install in paralel
    genksyms: Handle string literals with spaces in reference files
    fixdep: constify strrcmp arguments
    ath10k: Fix build with CONFIG_THERMAL=m
    Revert "drm: Hack around CONFIG_AGP=m build failures"
    kbuild: Allow to specify composite modules with modname-m
    staging/ad7606: Actually build the interface modules

    Linus Torvalds
     
  • Mark the FRV architecture orphaned in the MAINTAINERS file.

    Signed-off-by: David Howells
    Signed-off-by: Linus Torvalds

    David Howells
     
  • Update the mailing list used for development of support for
    Renesas SoCs and related drivers.

    Up until now the linux-sh mailing list has been used, however,
    Renesas SoCs are now much wider than the SH architecture and there
    is some desire from some for the linux-sh list to refocus on
    discussion of the work on the SH architecture.

    Signed-off-by: Simon Horman
    Acked-by: Yoshihiro Shimoda
    Acked-by: Magnus Damm
    Acked-by: Geert Uytterhoeven
    Acked-by: Wolfram Sang
    Acked-by: Laurent Pinchart
    Acked-by: Rich Felker
    Acked-by: Sergei Shtylyov
    Signed-off-by: Linus Torvalds

    Simon Horman
     
  • A newly added tracepoint in the hugepage code uses a variable in the
    error handling that is not initialized at that point:

    include/trace/events/huge_memory.h:81:230: error: 'isolated' may be used uninitialized in this function [-Werror=maybe-uninitialized]

    The result is relatively harmless, as the trace data will in rare
    cases contain incorrect data.

    This works around the problem by adding an explicit initialization.

    Signed-off-by: Arnd Bergmann
    Fixes: 7d2eba0557c1 ("mm: add tracepoint for scanning pages")
    Reviewed-by: Ebru Akagunduz
    Acked-by: David Rientjes
    Cc: Kirill A. Shutemov
    Signed-off-by: Linus Torvalds

    Arnd Bergmann
     

20 Jan, 2016

27 commits

  • A recent bug fix added code that does

    bool logged_out = (status & 0xFFFF);
    if (logged_out == CTIO_PORT_LOGGED_OUT)
    ...

    This looks wrong because we are comparing a boolean with an
    integer constant, ang gcc warns about it accordingly:

    drivers/scsi/qla2xxx/qla_target.c: In function 'qlt_do_ctio_completion':
    drivers/scsi/qla2xxx/qla_target.c:3587:20: warning: comparison of constant '41' with boolean expression is always false [-Wbool-compare]
    (logged_out == CTIO_PORT_LOGGED_OUT) ?

    The correct fix is presumably to make that variable an 'int'.

    Signed-off-by: Arnd Bergmann
    Fixes: 71cdc0796465 ("qla2xxx: Delete session if initiator is gone from FW")
    Signed-off-by: Nicholas Bellinger

    Arnd Bergmann
     
  • The current code only allow netlink to reach the initial network namespace,
    which caused trouble for any client running inside container.

    This patch would make sure TCMU netlink would work for all network
    namespaces.

    Signed-off-by: Sheng Yang
    Acked-by: Andy Grover
    Signed-off-by: Nicholas Bellinger

    Sheng Yang
     
  • This patch addresses a long standing race where obtaining
    se_node_acl->acl_kref in __transport_register_session()
    happens a bit too late, and leaves open the potential
    for core_tpg_del_initiator_node_acl() to hit a NULL
    pointer dereference.

    Instead, take ->acl_kref in core_tpg_get_initiator_node_acl()
    while se_portal_group->acl_node_mutex is held, and move the
    final target_put_nacl() from transport_deregister_session()
    into transport_free_session() so that fabric driver login
    failure handling using the modern method to still work
    as expected.

    Also, update core_tpg_get_initiator_node_acl() to take
    an extra reference for dynamically generated acls for
    demo-mode, before returning to fabric caller. Also
    update iscsi-target sendtargets special case handling
    to use target_tpg_has_node_acl() when checking if
    demo_mode_discovery == true during discovery lookup.

    Note the existing wait_for_completion(&acl->acl_free_comp)
    in core_tpg_del_initiator_node_acl() does not change.

    Cc: Sagi Grimberg
    Cc: Christoph Hellwig
    Cc: Hannes Reinecke
    Cc: Andy Grover
    Cc: Mike Christie
    Signed-off-by: Nicholas Bellinger

    Nicholas Bellinger
     
  • This patch converts core_tpg_set_initiator_node_queue_depth()
    to use struct se_node_acl->acl_sess_list when performing
    explicit se_tpg_tfo->shutdown_session() for active sessions,
    in order for new se_node_acl->queue_depth to take effect.

    This follows how core_tpg_del_initiator_node_acl() currently
    works when invoking se_tpg_tfo->shutdown-session(), and ahead
    of the next patch to take se_node_acl->acl_kref during lookup,
    the extra get_initiator_node_acl() can go away. In order to
    achieve this, go ahead and change target_get_session() to use
    kref_get_unless_zero() and propigate up the return value
    to know when a session is already being released.

    This is because se_node_acl->acl_group is already protecting
    se_node_acl->acl_group reference via configfs, and shutdown
    within core_tpg_del_initiator_node_acl() won't occur until
    sys_write() to core_tpg_set_initiator_node_queue_depth()
    attribute returns back to user-space.

    Also, drop the left-over iscsi-target hack, and obtain
    se_portal_group->session_lock in lio_tpg_shutdown_session()
    internally. Remove iscsi-target wrapper and unused se_tpg +
    force parameters and associated code.

    Reported-by: Christoph Hellwig
    Cc: Sagi Grimberg
    Cc: Hannes Reinecke
    Cc: Andy Grover
    Cc: Mike Christie
    Signed-off-by: Nicholas Bellinger

    Nicholas Bellinger
     
  • This patch is a iscsi-target specific bug-fix for a dead-lock
    that can occur during explicit struct se_node_acl->acl_group
    se_session deletion via configfs rmdir(2), when iscsi-target
    time2retain timer is still active.

    It changes iscsi-target to obtain se_portal_group->session_lock
    internally using spin_in_locked() to check for the specific
    se_node_acl configfs shutdown rmdir(2) case.

    Note this patch is intended for stable, and the subsequent
    v4.5-rc patch converts target_core_tpg.c to use proper
    se_sess->sess_kref reference counting for both se_node_acl
    deletion + se_node_acl->queue_depth se_session restart.

    Reported-by:: Sagi Grimberg
    Cc: Christoph Hellwig
    Cc: Hannes Reinecke
    Cc: Andy Grover
    Cc: Mike Christie
    Cc: stable@vger.kernel.org # 3.10+
    Signed-off-by: Nicholas Bellinger

    Nicholas Bellinger
     
  • …linux-platform-drivers-x86

    Pull x86 platform driver updates from Darren Hart:
    "Add intel punit and telemetry driver for APL SoCs.
    Add intel-hid driver for various laptop hotkey support.
    Add asus-wireless radio control driver.
    Keyboard backlight support/improvements for ThinkPads, Vaio, and Toshiba.
    Several hotkey related fixes and improvements for dell and toshiba.
    Fix oops on dual GPU Macs in apple-gmux.
    A few new device IDs and quirks.
    Various minor config related build issues and cleanups.

    surface pro 4:
    - fix compare_const_fl.cocci warnings
    - Add support for Surface Pro 4 Buttons

    platform/x86:
    - Add Intel Telemetry Debugfs interfaces
    - Add Intel telemetry platform device
    - Add Intel telemetry platform driver
    - Add Intel Telemetry Core Driver
    - add NULL check for input parameters
    - add Intel P-Unit mailbox IPC driver
    - update acpi resource structure for Punit

    thinkpad_acpi:
    - Add support for keyboard backlight

    dell-wmi:
    - Process only one event on devices with interface version 0
    - Check if Dell WMI descriptor structure is valid
    - Improve unknown hotkey handling
    - Use a C99-style array for bios_to_linux_keycode

    tc1100-wmi:
    - fix build warning when CONFIG_PM not enabled

    asus-wireless:
    - Add ACPI HID ATK4001
    - Add Asus Wireless Radio Control driver

    asus-wmi:
    - drop to_platform_driver macro

    intel-hid:
    - new hid event driver for hotkeys

    sony-laptop:
    - Keyboard backlight control for some Vaio Fit models

    ideapad-laptop:
    - Add Lenovo ideapad Y700-17ISK to no_hw_rfkill dmi list

    apple-gmux:
    - Assign apple_gmux_data before registering

    toshiba_acpi:
    - Add rfkill dependency to ACPI_TOSHIBA entry
    - Fix keyboard backlight sysfs entries not being updated
    - Add WWAN RFKill support
    - Add support for WWAN devices
    - Fix blank screen at boot if transflective backlight is supported
    - Propagate the hotkey value via genetlink

    toshiba_bluetooth:
    - Add missing newline in toshiba_bluetooth_present function"

    * tag 'platform-drivers-x86-v4.5-1' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86: (29 commits)
    surface pro 4: fix compare_const_fl.cocci warnings
    surface pro 4: Add support for Surface Pro 4 Buttons
    platform:x86: Add Intel Telemetry Debugfs interfaces
    platform:x86: Add Intel telemetry platform device
    platform:x86: Add Intel telemetry platform driver
    platform/x86: Add Intel Telemetry Core Driver
    intel_punit_ipc: add NULL check for input parameters
    thinkpad_acpi: Add support for keyboard backlight
    dell-wmi: Process only one event on devices with interface version 0
    dell-wmi: Check if Dell WMI descriptor structure is valid
    tc1100-wmi: fix build warning when CONFIG_PM not enabled
    asus-wireless: Add ACPI HID ATK4001
    platform/x86: Add Asus Wireless Radio Control driver
    asus-wmi: drop to_platform_driver macro
    intel-hid: new hid event driver for hotkeys
    Keyboard backlight control for some Vaio Fit models
    platform/x86: Add rfkill dependency to ACPI_TOSHIBA entry
    platform:x86: add Intel P-Unit mailbox IPC driver
    intel_pmc_ipc: update acpi resource structure for Punit
    ideapad-laptop: Add Lenovo ideapad Y700-17ISK to no_hw_rfkill dmi list
    ...

    Linus Torvalds
     
  • Move constants to the right of binary operators.

    Generated by: scripts/coccinelle/misc/compare_const_fl.cocci

    CC: Weng Xuetian
    Signed-off-by: Fengguang Wu
    Signed-off-by: Julia Lawall
    Signed-off-by: Darren Hart

    Julia Lawall
     
  • Surface Pro 4 buttons are managed by a device with _HID "MSHW0040"
    different from Surface Pro 3.

    This commit adds MSHW0040 to id list to support the Surface Pro 4.

    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=109871
    Signed-off-by: Weng Xuetian
    Acked-by: Chen Yu
    Signed-off-by: Darren Hart

    Weng Xuetian
     
  • This implements debugfs interfaces for reading the telemetry
    samples from SSRAM and configuring firmware trace verbosity.
    Interface created under /sys/kernel/debug/telemetry
    soc_states: SoC Device and Low Power States
    pss_info: Info from the Primary SubSystem
    ioss_info: Info from IO SubSusytem
    pss_trace_verbosity: Read/Modify PSS F/W trace verbosity
    ioss_trace_verbosity: Read/Modify IOSS F/W trace verbosity.

    Signed-off-by: Souvik Kumar Chakravarty
    Signed-off-by: Darren Hart

    Souvik Kumar Chakravarty
     
  • Telemetry Device is created by the pmc_ipc driver. Resources
    are populated according SSRAM region as indicated by the BIOS tables.

    Signed-off-by: Souvik Kumar Chakravarty
    Signed-off-by: Darren Hart

    Souvik Kumar Chakravarty
     
  • Telemetry platform driver implements the telemetry interfaces.
    Currently it supports ApolloLake. It uses the PUNIT and PMC IPC
    interfaces to configure the telemetry samples to read.
    The samples are read from a Secure SRAM region.

    Signed-off-by: Souvik Kumar Chakravarty
    Signed-off-by: Darren Hart

    Souvik Kumar Chakravarty
     
  • Intel PM Telemetry is a software mechanism via which various SoC
    PM and performance related parameters like PM counters, firmware
    trace verbosity, the status of different devices inside the SoC, etc.
    can be monitored and analyzed. The different samples that may be
    monitored can be configured at runtime via exported APIs.

    This patch adds the telemetry core driver that implements basic
    exported APIs.

    Signed-off-by: Souvik Kumar Chakravarty
    Signed-off-by: Darren Hart

    Souvik Kumar Chakravarty
     
  • intel_punit_ipc_command() maybe called when in or out
    data pointers are NULL.

    Signed-off-by: Qipeng Zha
    Signed-off-by: Darren Hart

    Qipeng Zha
     
  • This patch adds support for controlling keyboard backlight via standard
    linux led class interface (::kbd_backlight). It uses ACPI HKEY device with
    MLCG and MLCS methods.

    Signed-off-by: Pali Rohár
    Tested-by: Fabio D'Urso
    Acked-by: Henrique de Moraes Holschuh
    Signed-off-by: Darren Hart

    Pali Rohár
     
  • BIOS/ACPI on devices with WMI interface version 0 does not clear buffer
    before filling it. So next time when BIOS/ACPI send WMI event which is
    smaller as previous then it contains garbage in buffer from previous event.

    BIOS/ACPI on devices with WMI interface version 1 clears buffer and
    sometimes send more events in buffer at one call.

    Since commit 83fc44c32ad8 ("dell-wmi: Update code for processing WMI
    events") dell-wmi process all events in buffer (and not just first).

    To prevent reading garbage from the buffer we process only the first
    event on devices with WMI interface version 0.

    Signed-off-by: Pali Rohár
    Tested-by: Gabriele Mazzotta
    Signed-off-by: Darren Hart

    Pali Rohár
     
  • After examining existing DSDT ACPI tables of more laptops and looking
    into Dell WMI document mentioned in ML dicussion archived at
    http://www.spinics.net/lists/platform-driver-x86/msg07220.html we will
    parse and check WMI descriptor if contains expected data. It is because
    WMI descriptor contains interface version number and it is needed to
    know in next commit.

    Signed-off-by: Pali Rohár
    Tested-by: Gabriele Mazzotta
    Signed-off-by: Darren Hart

    Pali Rohár
     
  • Conditionally declare suspend_data on CONFIG_PM to avoid
    the following warning when CONFIG_OM is not enabled:

    drivers/platform/x86/tc1100-wmi.c:55:27: warning:
    'suspend_data' defined but not used [-Wunused-variable]

    Signed-off-by: Colin Ian King
    Signed-off-by: Darren Hart

    Colin Ian King
     
  • As reported in https://bugzilla.kernel.org/show_bug.cgi?id=98931#c22 in
    the Asus UX31A the Asus Wireless Radio Control device (ASHS) uses the
    HID "ATK4001".

    Signed-off-by: João Paulo Rechi Vita
    Reported-by: Tasev Nikola
    Signed-off-by: Darren Hart

    João Paulo Rechi Vita
     
  • Some Asus notebooks like the Asus E202SA and the Asus X555UB have a
    separate ACPI device for notifications from the airplane mode hotkey.
    This device is called "Wireless Radio Control" in Asus websites and ASHS
    in the DSDT, and its ACPI _HID is ATK4002 in the two models mentioned
    above.

    For these models, when the airplane mode hotkey (Fn+F2) is pressed, a
    query 0x0B is started in the Embedded Controller, and all this query does
    is a notify ASHS with the value 0x88 (for acpi_osi >= "Windows 2012"):

    Scope (_SB.PCI0.SBRG.EC0)
    {
    (...)
    Method (_Q0B, 0, NotSerialized) // _Qxx: EC Query
    {
    If ((MSOS () >= OSW8))
    {
    Notify (ASHS, 0x88) // Device-Specific
    }
    Else
    {
    (...)
    }
    }
    }

    Signed-off-by: João Paulo Rechi Vita
    Reviewed-by: Andy Shevchenko
    Signed-off-by: Darren Hart

    João Paulo Rechi Vita
     
  • to_platform_driver has been defined in platform_device.h, so drop
    this repetitive macro in asus-wmi.c.

    Signed-off-by: Geliang Tang
    Signed-off-by: Darren Hart

    Geliang Tang
     
  • This driver supports various HID events including hotkeys.
    Dell XPS 13 9350 requires it for the wireless hotkey.

    Signed-off-by: Alex Hung
    Reviewed-and-tested-by: Andy Lutomirski

    [dvhart: Kconfig help typo fix and INPUT_SPARSEKMAP fix from Sedat Dilek]

    Signed-off-by: Darren Hart

    Alex Hung
     
  • Pull security subsystem update from James Morris:
    "A CVE fix and a maintainers file update"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
    KEYS: Fix keyring ref leak in join_session_keyring()
    Fix the MAINTAINERS record for the certs/ directory

    Linus Torvalds
     
  • This fixes CVE-2016-0728.

    If a thread is asked to join as a session keyring the keyring that's already
    set as its session, we leak a keyring reference.

    This can be tested with the following program:

    #include
    #include
    #include
    #include

    int main(int argc, const char *argv[])
    {
    int i = 0;
    key_serial_t serial;

    serial = keyctl(KEYCTL_JOIN_SESSION_KEYRING,
    "leaked-keyring");
    if (serial < 0) {
    perror("keyctl");
    return -1;
    }

    if (keyctl(KEYCTL_SETPERM, serial,
    KEY_POS_ALL | KEY_USR_ALL) < 0) {
    perror("keyctl");
    return -1;
    }

    for (i = 0; i < 100; i++) {
    serial = keyctl(KEYCTL_JOIN_SESSION_KEYRING,
    "leaked-keyring");
    if (serial < 0) {
    perror("keyctl");
    return -1;
    }
    }

    return 0;
    }

    If, after the program has run, there something like the following line in
    /proc/keys:

    3f3d898f I--Q--- 100 perm 3f3f0000 0 0 keyring leaked-keyring: empty

    with a usage count of 100 * the number of times the program has been run,
    then the kernel is malfunctioning. If leaked-keyring has zero usages or
    has been garbage collected, then the problem is fixed.

    Reported-by: Yevgeny Pats
    Signed-off-by: David Howells
    Acked-by: Don Zickus
    Acked-by: Prarit Bhargava
    Acked-by: Jarod Wilson
    Signed-off-by: James Morris

    Yevgeny Pats
     
  • SVF1521P6EW, SVF1521DCXW, SVF13N1L2ES and likely most SVF*.
    do not expose separate timeout controls in auto mode.

    Signed-off-by: Dominik Matta
    Signed-off-by: Mattia Dongili
    Signed-off-by: Darren Hart

    Mattia Dongili
     
  • Commit 2fdde83443aa ("toshiba_acpi: Add WWAN RFKill support") added
    WWAN rfkill support to the driver, but the KConfig entry was not
    updated to add the RFKill dependency, causing a broken build if
    RFKill is not selected.

    This patch adds the RFKILL dependency to the KConfig entry, fixing
    the build issue.

    Signed-off-by: Azael Avalos
    Signed-off-by: Darren Hart

    Azael Avalos
     
  • This driver provides support for P-Unit mailbox IPC on Intel platforms.
    The heart of the P-Unit is the Foxton microcontroller and its firmware,
    which provide mailbox interface for power management usage.

    Signed-off-by: Qipeng Zha
    Reviewed-by: Andy Shevchenko
    Signed-off-by: Darren Hart

    Qipeng Zha
     
  • BIOS restructure exported memory resources for Punit
    in acpi table, So update resources for Punit.

    Signed-off-by: Qipeng Zha
    Reviewed-by: Andy Shevchenko
    Signed-off-by: Darren Hart

    Qipeng Zha