1. 18 Jan, 2016 11 commits
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide · 7f36f1b2
      Linus Torvalds authored
      Pull IDE updates from David Miller:
       "Just a few small changes this merge window, marking ops const, printf
        string type fixes, etc"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide:
        drivers/ide: make ide-scan-pci.c driver explicitly non-modular
        ide: constify ide_dma_ops structures
        ide: silence some underflow warnings
      7f36f1b2
    • Linus Torvalds's avatar
      Merge tag 'rtc-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux · c38dec71
      Linus Torvalds authored
      Pull RTC updates from Alexandre Belloni:
       "Core:
         - fix module reference count in rtc-proc
         - Replace simple_strtoul by kstrtoul
      
        New driver:
         - Epson RX8010SJ
      
        Subsystem wide cleanups:
         - use %ph for short hex dumps
         - constify *_chip_ops structures
      
        Drivers:
         - abx80x: Microcrystal rv1805 support, alarm support
         - cmos: prevent kernel warning on IRQ flags mismatch
         - s5m: various cleanups
         - rv8803: rx8900 compatibility, small error path fix
         - sunxi: various cleanups
         - lpc32xx: remove irq > NR_IRQS check from probe()
         - imxdi: fix spelling mistake in warning message
         - ds1685: don't try to micromanage sysfs output size
         - da9063: avoid writing undefined data to rtc
         - gemini: Remove unnecessary platform_set_drvdata()
         - efi: add efi_procfs in efi_rtc_ops
         - pcf8523: refuse to write dates later than 2099"
      
      * tag 'rtc-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (24 commits)
        rtc: cmos: prevent kernel warning on IRQ flags mismatch
        rtc: rtc-ds2404: constify ds2404_chip_ops structures
        rtc: s5m: Make register configuration per S2MPS device to remove exceptions
        rtc: s5m: Add separate field for storing auto-cleared mask in register config
        rtc: s5m: Cleanup by removing useless 'rtc' prefix from fields
        rtc: Replace simple_strtoul by kstrtoul
        rtc: abx80x: add alarm support
        rtc: abx80x: Add Microcrystal rv1805 support
        rtc: v3020: constify v3020_chip_ops structures
        rtc: rv8803: Extend compatibility with the rx8900
        rtc: rv8803: fix handling return value of i2c_smbus_read_byte_data
        rtc: Add Epson RX8010SJ RTC driver
        rtc: lpc32xx: remove irq > NR_IRQS check from probe()
        rtc: imxdi: fix spelling mistake in warning message
        rtc: ds1685: don't try to micromanage sysfs output size
        rtc: use %ph for short hex dumps
        rtc: da9063: avoid writing undefined data to rtc
        rtc: sunxi: use of_device_get_match_data
        rtc: sunxi: constify the data_year_param structure
        rtc: sunxi: fix signedness issues
        ...
      c38dec71
    • Linus Torvalds's avatar
      Merge tag 'fbdev-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux · d43fb9f3
      Linus Torvalds authored
      Pull fbdev updates from Tomi Valkeinen:
       "Summary:
      
         - pxafb: device-tree support
         - An unsafe kernel parameter 'lockless_register_fb' for debugging
           problems happening while inside the console lock
         - Small miscellaneous fixes & cleanups
         - omapdss: add writeback support functions
         - Separation of omapfb and omapdrm (see below)
      
        About the separation of omapfb and omapdrm, see
      
          http://permalink.gmane.org/gmane.comp.video.dri.devel/143151
      
        for longer story.  The short version:
      
        omapfb and omapdrm have shared low level drivers (omapdss and panel
        drivers), making further development of omapdrm difficult.  After
        these patches omapfb and omapdrm have their own versions of the
        drivers, which are more or less direct copies for now but will diverge
        soon.
      
        This also means that omapfb (everything under drivers/video/fbdev/omap2/)
        is now in maintenance mode, and all new development will be done for
        omapdrm (drivers/gpu/drm/omapdrm/)"
      
      * tag 'fbdev-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux: (49 commits)
        video: fbdev: pxafb: fix out of memory error path
        drm/omap: make omapdrm select OMAP2_DSS
        drm/omap: move omapdss & displays under omapdrm
        omapfb: move vrfb into omapfb
        omapfb: take omapfb's private omapdss into use
        omapfb/displays: change CONFIG_DISPLAY_* to CONFIG_FB_OMAP2_*
        omapfb/dss: change CONFIG_OMAP* to CONFIG_FB_OMAP*
        omapdss: remove CONFIG_OMAP2_DSS_VENC from omapdss.h
        omapfb: copy omapdss & displays for omapfb
        omapfb: allow compilation only if DRM_OMAP is disabled
        fbdev: omap2: panel-dpi: simplify gpio setting
        fbdev: omap2: panel-dpi: in .disable first disable backlight then display
        OMAPDSS: DSS: fix a warning message
        video: omapdss: delete unneeded of_node_put
        OMAPDSS: DISPC: Remove boolean comparisons
        OMAPDSS: DSI: cleanup DSI_IRQ_ERROR_MASK define
        OMAPDSS: remove extra out == NULL checks
        OMAPDSS: change internal dispc functions to static
        OMAPDSS: make a two dss feat funcs internal to omapdss
        OMAPDSS: remove extra EXPORT_SYMBOLs
        ...
      d43fb9f3
    • Paul Gortmaker's avatar
      drivers/ide: make ide-scan-pci.c driver explicitly non-modular · e04a2bd6
      Paul Gortmaker authored
      The Kconfig for this support is currently:
      
      config IDEPCI_PCIBUS_ORDER
              bool "Probe IDE PCI devices in the PCI bus order (DEPRECATED)"
      
      ...meaning that it currently is not being built as a module by anyone.
      Lets change the initcall to be the equivalent device_initcall, so that
      when reading the driver code, there is no doubt it is builtin-only.
      
      Unlike other similar changes, we leave the module.h header to be
      included since this code interacts with other drivers and needs to
      know what a struct module is.
      
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: linux-ide@vger.kernel.org
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e04a2bd6
    • Julia Lawall's avatar
      ide: constify ide_dma_ops structures · b5a608fb
      Julia Lawall authored
      The ide_dma_ops structures are never modified, so declare these as const,
      as is already done for the others.
      
      Done with the help of Coccinelle.
      Signed-off-by: default avatarJulia Lawall <Julia.Lawall@lip6.fr>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b5a608fb
    • Dan Carpenter's avatar
      ide: silence some underflow warnings · 0860bf94
      Dan Carpenter authored
      Back in the day we used to just say this code was root only so it was
      ok that the bounds checking was sloppy.  These days it annoys static
      checkers so we fix it.
      
      In the original code "c > INT_MAX" was never true since "c" was an int.
      I am not sure what was intended so I left it alone.  But because I made
      "c" unsigned it means we don't have a warning any more.
      
      The second warning is that we cap "i" but allow negatives leading to an
      underflow of the ide_disks_chs[] array.  The third set of warnings is
      because these values come from the user and we cap most of the upper
      bounds but allow negative values.  Negative cylinders doesn't make
      sense.
      
      drivers/ide/ide.c:262 ide_set_disk_chs() warn: impossible condition '(c > ((~0 >> 1))) => (s32min-s32max > s32max)'
      drivers/ide/ide.c:270 ide_set_disk_chs() warn: check 'ide_disks_chs[i]' for negative offsets 'i' = s32min.  extra = 's32min-19'
      drivers/ide/ide.c:271 ide_set_disk_chs() warn: no lower bound on 'h'
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0860bf94
    • Robert Jarzmik's avatar
      video: fbdev: pxafb: fix out of memory error path · 6f6abd36
      Robert Jarzmik authored
      As seen by Julia, the initial allocation memory is not checked anymore
      after commit "video: fbdev: pxafb: initial devicetree conversion".
      Introduce back the removed test.
      Reported-by: default avatarJulia Lawall <julia.lawall@lip6.fr>
      Signed-off-by: default avatarRobert Jarzmik <robert.jarzmik@free.fr>
      Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
      6f6abd36
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security · 5807fcaa
      Linus Torvalds authored
      Pull security subsystem updates from James Morris:
      
       - EVM gains support for loading an x509 cert from the kernel
         (EVM_LOAD_X509), into the EVM trusted kernel keyring.
      
       - Smack implements 'file receive' process-based permission checking for
         sockets, rather than just depending on inode checks.
      
       - Misc enhancments for TPM & TPM2.
      
       - Cleanups and bugfixes for SELinux, Keys, and IMA.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (41 commits)
        selinux: Inode label revalidation performance fix
        KEYS: refcount bug fix
        ima: ima_write_policy() limit locking
        IMA: policy can be updated zero times
        selinux: rate-limit netlink message warnings in selinux_nlmsg_perm()
        selinux: export validatetrans decisions
        gfs2: Invalid security labels of inodes when they go invalid
        selinux: Revalidate invalid inode security labels
        security: Add hook to invalidate inode security labels
        selinux: Add accessor functions for inode->i_security
        security: Make inode argument of inode_getsecid non-const
        security: Make inode argument of inode_getsecurity non-const
        selinux: Remove unused variable in selinux_inode_init_security
        keys, trusted: seal with a TPM2 authorization policy
        keys, trusted: select hash algorithm for TPM2 chips
        keys, trusted: fix: *do not* allow duplicate key options
        tpm_ibmvtpm: properly handle interrupted packet receptions
        tpm_tis: Tighten IRQ auto-probing
        tpm_tis: Refactor the interrupt setup
        tpm_tis: Get rid of the duplicate IRQ probing code
        ...
      5807fcaa
    • Linus Torvalds's avatar
      Merge branch 'upstream' of git://git.infradead.org/users/pcmoore/audit · 2d663b55
      Linus Torvalds authored
      Pull audit updates from Paul Moore:
       "Seven audit patches for 4.5, all very minor despite the diffstat.
      
        The diffstat churn for linux/audit.h can be attributed to needing to
        reshuffle the linux/audit.h header to fix the seccomp auditing issue
        (see the commit description for details).
      
        Besides the seccomp/audit fix, most of the fixes are around trying to
        improve the connection with the audit daemon and a Kconfig
        simplification.  Nothing crazy, and everything passes our little
        audit-testsuite"
      
      * 'upstream' of git://git.infradead.org/users/pcmoore/audit:
        audit: always enable syscall auditing when supported and audit is enabled
        audit: force seccomp event logging to honor the audit_enabled flag
        audit: Delete unnecessary checks before two function calls
        audit: wake up threads if queue switched from limited to unlimited
        audit: include auditd's threads in audit_log_start() wait exception
        audit: remove audit_backlog_wait_overflow
        audit: don't needlessly reset valid wait time
      2d663b55
    • Linus Torvalds's avatar
      vm: fix incorrect unlock error path in madvise_free_huge_pmd · 25eedabe
      Linus Torvalds authored
      Commit b8d3c4c3 ("mm/huge_memory.c: don't split THP page when
      MADV_FREE syscall is called") introduced this new function, but got the
      error handling for when pmd_trans_huge_lock() fails wrong.  In the
      failure case, the lock has not been taken, and we should not unlock on
      the way out.
      
      Cc: Minchan Kim <minchan@kernel.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      25eedabe
    • Dave Airlie's avatar
      drm/vc4: fix warning in validate printf. · c671e1e3
      Dave Airlie authored
      This just fixes a warning on 64-bit builds:
      
        drivers/gpu/drm/vc4/vc4_validate.c: In function ‘validate_gl_shader_rec’:
        drivers/gpu/drm/vc4/vc4_validate.c:864:12: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘size_t {aka long unsigned int}’ [-Wformat=]
      Reported-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      c671e1e3
  2. 17 Jan, 2016 10 commits
    • Linus Torvalds's avatar
      Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux · 98406505
      Linus Torvalds authored
      Pull drm updates from Dave Airlie:
       "This is the main drm pull request for 4.5.  I don't think I've missed
        anything too major, I'm mostly back at work now but I'll probably get
        some sleep in 5 years time.
      
        Summary:
      
        New drivers:
         - etnaviv:
      
           GPU driver for the 3D core on the Vivante core used in numerous
           ARM boards.
      
        Highlights:
      
        Core:
         - Atomic suspend/resume helpers
         - Move the headers to using userspace friendlier types.
         - Documentation updates
         - Lots of struct_mutex removal.
         - Bunch of DP MST fixes from AMD.
      
        Panel:
         - More DSI helpers
         - Support for some new basic panels
      
        i915:
         - Basic Kabylake support
         - DP link training and detect code refactoring
         - fbc/psr fixes
         - FIFO underrun fixes
         - SDE interrupt handling fixes
         - dma-buf/fence support in pageflip path.
         - GPU side for MST audio support
      
        radeon/amdgpu:
         - Drop UMS support
         - GPUVM/Scheduler optimisations
         - Initial Powerplay support for Tonga/Fiji/CZ/ST
         - ACP audio prerequisites
      
        nouveau:
         - GK20a instmem improvements
         - PCIE link speed change support
      
        msm:
         - DSI support for msm8960/apq8064
      
        tegra:
         - Host1X support for Tegra210 SoC
      
        vc4:
         - 3D acceleration support
      
        armada:
         - Get rid of struct mutex
      
        tda998x:
         - Atomic modesetting support
         - TMDS clock limitations
      
        omapdrm:
         - Atomic modesetting support
         - improved TILER performance
      
        rockchip:
         - RK3036 VOP support
         - Atomic modesetting support
         - Synopsys DW MIPI DSI support
      
        exynos:
         - Runtime PM support
         - of_graph binding for DP panels
         - Cleanup of IPP code
         - Configurable plane support
         - Kernel panic fixes at release time"
      
      * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (711 commits)
        drm/fb_cma_helper: Remove implicit call to disable_unused_functions
        drm/amdgpu: add missing irq.h include
        drm/vmwgfx: Fix a width / pitch mismatch on framebuffer updates
        drm/vmwgfx: Fix an incorrect lock check
        drm: nouveau: fix nouveau_debugfs_init prototype
        drm/nouveau/pci: fix check in nvkm_pcie_set_link
        drm/amdgpu: validate duplicates first
        drm/amdgpu: move VM page tables to the LRU end on CS v2
        drm/ttm: add ttm_bo_move_to_lru_tail function v2
        drm/ttm: fix adding foreign BOs to the swap LRU
        drm/ttm: fix adding foreign BOs to the LRU during init v2
        drm/radeon: use kobj_to_dev()
        drm/amdgpu: use kobj_to_dev()
        drm/amdgpu/cz: force vce clocks when sclks are forced
        drm/amdgpu/cz: force uvd clocks when sclks are forced
        drm/amdgpu/cz: add code to enable forcing VCE clocks
        drm/amdgpu/cz: add code to enable forcing UVD clocks
        drm/amdgpu: fix lost sync_to if scheduler is enabled.
        drm/amd/powerplay: fix static checker warning for return meaningless value.
        drm/sysfs: use kobj_to_dev()
        ...
      98406505
    • Linus Torvalds's avatar
      Merge tag 'linux-kselftest-4.5-rc1' of... · 12768c1e
      Linus Torvalds authored
      Merge tag 'linux-kselftest-4.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
      
      Pull kselftest updates from Shuah Khan:
       "This 14 patch update:
      
         - adds a new test for intel_pstate driver
         - adds empty string and async test cases to firmware class tests
         - fixes and cleans up several existing tests"
      
      * tag 'linux-kselftest-4.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
        selftests: firmware: add empty string and async tests
        firmware: actually return NULL on failed request_firmware_nowait()
        test: firmware_class: add asynchronous request trigger
        test: firmware_class: use kstrndup() where appropriate
        test: firmware_class: report errors properly on failure
        selftests/seccomp: fix 32-bit build warnings
        add breakpoints/.gitignore
        add ptrace/.gitignore
        update .gitignore in selftests/timers
        update .gitignore in selftests/vm
        tools, testing, add test for intel_pstate driver
        selftest/ipc: actually test it
        selftests/capabilities: actually test it
        selftests/capabilities: clean up for Makefile
      12768c1e
    • Linus Torvalds's avatar
      Merge branch 'parisc-4.5-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · a4eff16c
      Linus Torvalds authored
      Pull parsic updates from Helge Deller:
       "This patchset includes two major fixes which are both scheduled for
        stable:
      
        First, __ARCH_SI_PREAMBLE_SIZE was defined with a wrong value.
        Second, huge page pte and TLB changes needed protection with a
        spinlock.  Other than that there are just some trivial optimizations
        and cleanups"
      
      * 'parisc-4.5-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: Protect huge page pte changes with spinlocks
        parisc: Imporove debug info about space registers and TLB configuration
        parisc: Drop parisc-specific NSIGTRAP define
        parisc: Fix __ARCH_SI_PREAMBLE_SIZE
        parisc: Reduce overhead of parisc_requires_coherency()
        parisc: Initialize PCI bridge cache line and default latency
      a4eff16c
    • Dave Airlie's avatar
      Merge tag 'drm-intel-next-fixes-2016-01-14' of... · 1df59b84
      Dave Airlie authored
      Merge tag 'drm-intel-next-fixes-2016-01-14' of git://anongit.freedesktop.org/drm-intel into drm-next
      
      misc i915 fixes all over the place.
      
      * tag 'drm-intel-next-fixes-2016-01-14' of git://anongit.freedesktop.org/drm-intel:
        drm/i915/gen9: Set PIN_ZONE_4G end to 4GB - 1 page
        drm/i915: Widen return value for reservation_object_wait_timeout_rcu to long.
        drm/i915: intel_hpd_init(): Fix suspend/resume reprobing
        drm/i915: shut up gen8+ SDE irq dmesg noise, again
        drm/i915: Restore inhibiting the load of the default context
        drm/i915: Tune down rpm wakelock debug checks
        drm/i915: Avoid writing relocs with addresses in non-canonical form
        drm/i915: Move Braswell stop_machine GGTT insertion workaround
      1df59b84
    • Dave Airlie's avatar
      Merge tag 'topic/drm-misc-2016-01-17' of git://anongit.freedesktop.org/drm-intel into drm-next · 28f03607
      Dave Airlie authored
      Since your main drm-next pull isn't out of the door yet I figured I might
      as well flush out drm-misc instead of delaying for 4.6. It's really just
      random stuff all over, biggest thing probably connector_mask tracking from
      Maarten.
      
      * tag 'topic/drm-misc-2016-01-17' of git://anongit.freedesktop.org/drm-intel: (24 commits)
        drm/fb_cma_helper: Remove implicit call to disable_unused_functions
        drm/sysfs: use kobj_to_dev()
        drm/i915: Init power domains early in driver load
        drm: Do not set connector->encoder in drivers
        apple-gmux: Add initial documentation
        drm: move MODULE_PARM_DESC to other file
        drm/edid: index CEA/HDMI mode tables using the VIC
        drm/atomic: Remove drm_atomic_connectors_for_crtc.
        drm/i915: Update connector_mask during readout, v2.
        drm: Remove opencoded drm_gem_object_release_handle()
        drm: Do not set outparam on error during GEM handle allocation
        drm/docs: more leftovers from the big vtable documentation pile
        drm/atomic-helper: Reject legacy flips on a disabled pipe
        drm/atomic: add connector mask to drm_crtc_state.
        drm/tegra: Use __drm_atomic_helper_reset_connector for subclassing connector state, v2.
        drm/atomic: Add __drm_atomic_helper_connector_reset, v2.
        drm/i915: Set connector_state->connector using the helper.
        drm: Use a normal idr allocation for the obj->name
        drm: Only bump object-reference count when adding first handle
        drm: Balance error path for GEM handle allocation
        ...
      28f03607
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · 0cbeafb2
      Linus Torvalds authored
      Merge second patch-bomb from Andrew Morton:
      
       - more MM stuff:
      
          - Kirill's page-flags rework
      
          - Kirill's now-allegedly-fixed THP rework
      
          - MADV_FREE implementation
      
          - DAX feature work (msync/fsync).  This isn't quite complete but DAX
            is new and it's good enough and the guys have a handle on what
            needs to be done - I expect this to be wrapped in the next week or
            two.
      
        - some vsprintf maintenance work
      
        - various other misc bits
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (145 commits)
        printk: change recursion_bug type to bool
        lib/vsprintf: factor out %pN[F] handler as netdev_bits()
        lib/vsprintf: refactor duplicate code to special_hex_number()
        printk-formats.txt: remove unimplemented %pT
        printk: help pr_debug and pr_devel to optimize out arguments
        lib/test_printf.c: test dentry printing
        lib/test_printf.c: add test for large bitmaps
        lib/test_printf.c: account for kvasprintf tests
        lib/test_printf.c: add a few number() tests
        lib/test_printf.c: test precision quirks
        lib/test_printf.c: check for out-of-bound writes
        lib/test_printf.c: don't BUG
        lib/kasprintf.c: add sanity check to kvasprintf
        lib/vsprintf.c: warn about too large precisions and field widths
        lib/vsprintf.c: help gcc make number() smaller
        lib/vsprintf.c: expand field_width to 24 bits
        lib/vsprintf.c: eliminate potential race in string()
        lib/vsprintf.c: move string() below widen_string()
        lib/vsprintf.c: pull out padding code from dentry_name()
        printk: do cond_resched() between lines while outputting to consoles
        ...
      0cbeafb2
    • Linus Torvalds's avatar
      Merge tag 'gpio-v4.5-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio · 58cf279a
      Linus Torvalds authored
      Pull GPIO updates from Linus Walleij:
       "Here is the bulk of GPIO changes for v4.5.
      
        Notably there are big refactorings mostly by myself, aimed at getting
        the gpio_chip into a shape that makes me believe I can proceed to
        preserve state for a proper userspace ABI (character device) that has
        already been proposed once, but resulted in the feedback that I need
        to go back and restructure stuff.  So I've been restructuring stuff.
        On the way I ran into brokenness (return code from the get_value()
        callback) and had to fix it.  Also, refactored generic GPIO to be
        simpler.
      
        Some of that is still waiting to trickle down from the subsystems all
        over the kernel that provide random gpio_chips, I've touched every
        single GPIO driver in the kernel now, oh man I didn't know I was
        responsible for so much...
      
        Apart from that we're churning along as usual.
      
        I took some effort to test and retest so it should merge nicely and we
        shook out a couple of bugs in -next.
      
        Infrastructural changes:
      
         - In struct gpio_chip, rename the .dev node to .parent to better
           reflect the fact that this is not the GPIO struct device
           abstraction.  We will add that soon so this would be totallt
           confusing.
      
         - It was noted that the driver .get_value() callbacks was sometimes
           reporting negative -ERR values to the gpiolib core, expecting them
           to be propagated to consumer gpiod_get_value() and gpio_get_value()
           calls.  This was not happening, so as there was a mess of drivers
           returning negative errors and some returning "anything else than
           zero" to indicate that a line was active.  As some would have bit
           31 set to indicate "line active" it clashed with negative error
           codes.  This is fixed by the largeish series clamping values in all
           drivers with !!value to [0,1] and then augmenting the code to
           propagate error codes to consumers.  (Includes some ACKed patches
           in other subsystems.)
      
         - Add a void *data pointer to struct gpio_chip.  The container_of()
           design pattern is indeed very nice, but we want to reform the
           struct gpio_chip to be a non-volative, stateless business, and keep
           states internal to the gpiolib to be able to hold on to the state
           when adding a proper userspace ABI (character device) further down
           the road.  To achieve this, drivers need a handle at the internal
           state that is not dependent on their struct gpio_chip() so we add
           gpiochip_add_data() and gpiochip_get_data() following the pattern
           of many other subsystems.  All the "use gpiochip data pointer"
           patches transforms drivers to this scheme.
      
         - The Generic GPIO chip header has been merged into the general
           <linux/gpio/driver.h> header, and the custom header for that
           removed.  Instead of having a separate mm_gpio_chip struct for
           these generic drivers, merge that into struct gpio_chip,
           simplifying the code and removing the need for separate and
           confusing includes.
      
        Misc improvements:
      
         - Stabilize the way GPIOs are looked up from the ACPI legacy
           specification.
      
         - Incremental driver features for PXA, PCA953X, Lantiq (patches from
           the OpenWRT community), RCAR, Zynq, PL061, 104-idi-48
      
        New drivers:
      
         - Add a GPIO chip to the ALSA SoC AC97 driver.
      
         - Add a new Broadcom NSP SoC driver (this lands in the pinctrl dir,
           but the branch is merged here too to account for infrastructural
           changes).
      
         - The sx150x driver now supports the sx1502"
      
      * tag 'gpio-v4.5-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (220 commits)
        gpio: generic: make bgpio_pdata always visible
        gpiolib: fix chip order in gpio list
        gpio: mpc8xxx: Do not use gpiochip_get_data() in mpc8xxx_gpio_save_regs()
        gpio: mm-lantiq: Do not use gpiochip_get_data() in ltq_mm_save_regs()
        gpio: brcmstb: Allow building driver for BMIPS_GENERIC
        gpio: brcmstb: Set endian flags for big-endian MIPS
        gpio: moxart: fix build regression
        gpio: xilinx: Do not use gpiochip_get_data() in xgpio_save_regs()
        leds: pca9532: use gpiochip data pointer
        leds: tca6507: use gpiochip data pointer
        hid: cp2112: use gpiochip data pointer
        bcma: gpio: use gpiochip data pointer
        avr32: gpio: use gpiochip data pointer
        video: fbdev: via: use gpiochip data pointer
        gpio: pch: Optimize pch_gpio_get()
        Revert "pinctrl: lantiq: Implement gpio_chip.to_irq"
        pinctrl: nsp-gpio: use gpiochip data pointer
        pinctrl: vt8500-wmt: use gpiochip data pointer
        pinctrl: exynos5440: use gpiochip data pointer
        pinctrl: at91-pio4: use gpiochip data pointer
        ...
      58cf279a
    • Linus Torvalds's avatar
      Merge git://www.linux-watchdog.org/linux-watchdog · 6606b342
      Linus Torvalds authored
      Pull watchdog updates from Wim Van Sebroeck:
       "This adds following items:
      
         - watchdog restart handler support
         - watchdog reboot notifier support
         - watchdog sysfs attributes
         - support for the following new devices: AMD Mullins platform, AMD
           Carrizo platform, meson8b SoC, CSRatlas7, TS-4800, Alphascale
           asm9260-wdt, Zodiac, Sigma Designs SMP86xx/SMP87xx
         - Changes in refcounting for the watchdog core
         - watchdog core improvements
         - and small fixes"
      
      * git://www.linux-watchdog.org/linux-watchdog: (60 commits)
        watchdog: asm9260: remove __init and __exit annotations
        watchdog: Drop pointer to watchdog device from struct watchdog_device
        watchdog: ziirave: Use watchdog infrastructure to create sysfs attributes
        watchdog: Add support for creating driver specific sysfs attributes
        watchdog: kill unref/ref ops
        watchdog: stmp3xxx: Remove unused variables
        watchdog: add MT7621 watchdog support
        hwmon: (sch56xx) Drop watchdog driver data reference count callbacks
        watchdog: da9055_wdt: Drop reference counting
        watchdog: da9052_wdt: Drop reference counting
        watchdog: Separate and maintain variables based on variable lifetime
        watchdog: diag288: Stop re-using watchdog core internal flags
        watchdog: Create watchdog device in watchdog_dev.c
        watchdog: qcom-wdt: Do not set 'dev' in struct watchdog_device
        watchdog: mena21: Do not use device pointer from struct watchdog_device
        watchdog: gpio: Do not use device pointer from struct watchdog_device
        watchdog: tangox: Print info message using pointer to platform device
        watchdog: bcm2835_wdt: Drop log message if watchdog is stopped
        devicetree: watchdog: add binding for Sigma Designs SMP8642 watchdog
        watchdog: add support for Sigma Designs SMP86xx/SMP87xx
        ...
      6606b342
    • Linus Torvalds's avatar
      Merge tag 'sound-4.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · a016af2e
      Linus Torvalds authored
      Pull sound updates from Takashi Iwai:
       "We've had quite busy weeks in this cycle.  Looking at ALSA core, the
        significant changes are a few fixes wrt timer and sequencer ioctls
        that have been revealed by fuzzer recently.  Other than that, ASoC
        core got a few updates about DAI link handling, but these are rather
        straightforward refactoring.
      
        In drivers scene, ASoC received quite lots of new drivers in addition
        to bunch of updates for still ongoing Intel Skylake support and
        topology API.  HD-audio gained a new HDMI/DP hotplug notification via
        component.  FireWire got a pile of code refactoring/updates with
        SCS.1x driver integration.
      
        More highlights are shown below.
      
        [ NOTE: this contains also many commits for DRM.  This is due to the
          pull of drm stable branch into sound tree, as the base of i915 audio
          component work for HD-audio.  The highlights below don't contain
          these DRM changes, as these are supposed to be pulled via drm tree
          in anyway sooner or later.  ]
      
        Core:
         - Handful fixes to harden ALSA timer and sequencer ioctls against
           races reported by syzkaller fuzzer
         - Irq description string can be unique to each card; only for
           HD-audio for now
      
        ASoC:
         - Conversion of the array of DAI links to a list for supporting
           dynamically adding and removing DAI links
         - Topology API enhancements to make everything more component based
           and being able to specify PCM links via topology
         - Some more fixes for the topology code, though it is still not final
           and ready for enabling in production; we really need to get to the
           point where that can be done
         - A pile of changes for Intel SkyLake drivers which hopefully deliver
           some useful initial functionality for systems with this chipset,
           though there is more work still to come
         - Lots of new features and cleanups for the Renesas drivers
         - ANC support for WM5110
         - New drivers: Imagination Technologies IPs, Atmel class D speaker,
           Cirrus CS47L24 and WM1831, Dialog DA7128, Realtek RT5659 and
           RT56156, Rockchip RK3036, TI PC3168A, and AMD ACP
         - Rename PCM1792a driver to be generic pcm179x
      
        HD-Audio:
         - Use audio component for i915 HDMI/DP hotplug handling
         - On-demand binding with i915 driver
         - bdl_pos_adj parameter adjustment for Baytrail controllers
         - Enable power_save_node for CX20722; this shouldn't lead to
           regression, hopefully
         - Kabylake HDMI/DP codec support
         - Quirks for Lenovo E50-80, Dell Latitude E-series, and other Dell
           machines
         - A few code refactoring
      
        FireWire:
         - Lots of code cleanup and refactoring
         - Integrate the support of SCS.1x devices into snd-oxfw driver;
           snd-scs1x driver is obsoleted
      
        USB-audio:
         - Fix possible NULL dereference at disconnection
         - A regression fix for Native Instruments devices
      
        Misc:
         - A few code cleanups of fm801 driver"
      
      * tag 'sound-4.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (722 commits)
        ALSA: timer: Code cleanup
        ALSA: timer: Harden slave timer list handling
        ALSA: hda - Add fixup for Dell Latitidue E6540
        ALSA: timer: Fix race among timer ioctls
        ALSA: hda - add codec support for Kabylake display audio codec
        ALSA: timer: Fix double unlink of active_list
        ALSA: usb-audio: Fix mixer ctl regression of Native Instrument devices
        ALSA: hda - fix the headset mic detection problem for a Dell laptop
        ALSA: hda - Fix white noise on Dell Latitude E5550
        ALSA: hda_intel: add card number to irq description
        ALSA: seq: Fix race at timer setup and close
        ALSA: seq: Fix missing NULL check at remove_events ioctl
        ALSA: usb-audio: Avoid calling usb_autopm_put_interface() at disconnect
        ASoC: hdac_hdmi: remove unused hdac_hdmi_query_pin_connlist
        ASoC: AMD: Add missing include file
        ALSA: hda - Fixup inverted internal mic for Lenovo E50-80
        ALSA: usb: Add native DSD support for Oppo HA-1
        ASoC: Make aux_dev more like a generic component
        ASoC: bcm2835: cleanup includes by ordering them alphabetically
        ASoC: AMD: Manage ACP 2.x SRAM banks power
        ...
      a016af2e
    • Linus Torvalds's avatar
      Merge tag 'docs-4.5' of git://git.lwn.net/linux · e535d74b
      Linus Torvalds authored
      Pull documentation updates from Jon Corbet:
       "A relatively boring cycle in the docs tree.  There's a few kernel-doc
        fixes and various document tweaks.
      
        One patch reaches out of the documentation subtree to fix a comment in
        init/do_mounts_rd.c.  There didn't seem to be anybody more appropriate
        to take that one, so I accepted it"
      
      * tag 'docs-4.5' of git://git.lwn.net/linux: (29 commits)
        thermal: add description for integral_cutoff unit
        Documentation: update libhugetlbfs site url
        Documentation: Explain pci=conf1,conf2 more verbosely
        DMA-API: fix confusing sentence in Documentation/DMA-API.txt
        Documentation: translations: update linux cross reference link
        Documentation: fix typo in CodingStyle
        init, Documentation: Remove ramdisk_blocksize mentions
        Documentation-getdelays: Apply a recommendation from "checkpatch.pl" in main()
        Documentation: HOWTO: update versions from 3.x to 4.x
        Documentation: remove outdated references from translations
        Doc: treewide: Fix grammar "a" to "an"
        Documentation: cpu-hotplug: Fix sysfs mount instructions
        can-doc: Add hint about getting timestamps
        Fix CFQ I/O scheduler parameter name in documentation
        Documentation: arm: remove dead links from Marvell Berlin docs
        Documentation: HOWTO: update code cross reference link
        Doc: Docbook/iio: Fix typo in iio.tmpl
        DocBook: make index.html generation less verbose by default
        DocBook: Cleanup: remove an unused $(call) line
        DocBook: Add a help message for DOCBOOKS env var
        ...
      e535d74b
  3. 16 Jan, 2016 19 commits