1. 24 May, 2016 3 commits
    • Linus Torvalds's avatar
      Merge branch 'for-4.7-dw' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata · 3ec438af
      Linus Torvalds authored
      Pull libata sata_dwc_460ex updates from Tejun Heo:
       "Patches to bring sata_dwc_460ex up to snuff.
      
        It was a separate pull request because it depends on dmaengine dw
        platform changes which are now in mainline"
      
      * 'for-4.7-dw' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata: (24 commits)
        ata: dwc: add DMADEVICES dependency
        powerpc/4xx: Device tree update for the 460ex DWC SATA
        ata: sata_dwc_460ex: make debug messages neat
        ata: sata_dwc_460ex: supply physical address of FIFO to DMA
        ata: sata_dwc_460ex: use devm_ioremap
        ata: sata_dwc_460ex: tidy up sata_dwc_clear_dmacr()
        ata: sata_dwc_460ex: use readl/writel_relaxed()
        ata: sata_dwc_460ex: switch to new dmaengine_terminate_* API
        ata: sata_dwc_460ex: add __iomem to register base pointer
        ata: sata_dwc_460ex: get rid of incorrect cast
        ata: sata_dwc_460ex: get rid of some pointless casts
        ata: sata_dwc_460ex: remove empty libata callback
        ata: sata_dwc_460ex: correct HOSTDEV{P}_FROM_*() macros
        ata: sata_dwc_460ex: get rid of global data
        ata: sata_dwc_460ex: add phy support
        ata: sata_dwc_460ex: use "dmas" DT property to find dma channel
        ata: sata_dwc_460ex: don't call ata_sff_qc_issue() on DMA commands
        ata: sata_dwc_460ex: skip dma setup for non-dma commands
        ata: sata_dwc_460ex: select only core part of DMA driver
        ata: sata_dwc_460ex: DMA is always a flow controller
        ...
      3ec438af
    • Linus Torvalds's avatar
      Merge branch 'for-4.7-zac' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata · e4f7bdc2
      Linus Torvalds authored
      Pull libata ZAC support from Tejun Heo:
       "This contains Zone ATA Command support for Shingled Magnetic Recording
        devices.
      
        In addition to sending the new commands down to the device, as ZAC
        commands depend on getting a lot of responses from the device, piping
        up responses is beefed up too.  However, it doesn't involve changes to
        libata core mechanism or its interaction with upper layers, so I'm not
        expecting too many fallouts.
      
        Kudos to Hannes for driving SMR support"
      
      * 'for-4.7-zac' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata: (28 commits)
        libata: support host-aware and host-managed ZAC devices
        libata: support device-managed ZAC devices
        libata: NCQ encapsulation for ZAC MANAGEMENT OUT
        libata: Implement ZBC OUT translation
        libata: implement ZBC IN translation
        libata: fixup ZAC device disabling
        libata-scsi: Generate sense code for disabled devices
        libata-trace: decode subcommands
        libata: Check log page directory before accessing pages
        libata: Add command definitions for NCQ Encapsulation for READ LOG DMA EXT
        libata: Separate out ata_dev_config_ncq_send_recv()
        libata/libsas: Define ATA_CMD_NCQ_NON_DATA
        libsas: enable FPDMA SEND/RECEIVE
        libata: do not attempt to retrieve sense code twice
        libata-scsi: Set information sense field for invalid parameter
        libata-scsi: set bit pointer for sense code information
        libata-scsi: Set field pointer in sense code
        scsi: add scsi_set_sense_field_pointer()
        libata: Implement control mode page to select sense format
        libata-scsi: generate correct ATA pass-through sense
        ...
      e4f7bdc2
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security · 3159ee58
      Linus Torvalds authored
      Pull more security subsystem updates from James Morris:
       "Minor updates for the keys code"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
        MAINTAINERS: Update keyrings record and add asymmetric keys record
        lib: asn1_decoder - add MODULE_LICENSE("GPL")
        KEYS: The PKCS#7 test key type should use the secondary keyring
      3159ee58
  2. 23 May, 2016 11 commits
    • Linus Torvalds's avatar
      Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux · 1d6da87a
      Linus Torvalds authored
      Pull drm updates from Dave Airlie:
       "Here's the main drm pull request for 4.7, it's been a busy one, and
        I've been a bit more distracted in real life this merge window.  Lots
        more ARM drivers, not sure if it'll ever end.  I think I've at least
        one more coming the next merge window.
      
        But changes are all over the place, support for AMD Polaris GPUs is in
        here, some missing GM108 support for nouveau (found in some Lenovos),
        a bunch of MST and skylake fixes.
      
        I've also noticed a few fixes from Arnd in my inbox, that I'll try and
        get in asap, but I didn't think they should hold this up.
      
        New drivers:
         - Hisilicon kirin display driver
         - Mediatek MT8173 display driver
         - ARC PGU - bitstreamer on Synopsys ARC SDP boards
         - Allwinner A13 initial RGB output driver
         - Analogix driver for DisplayPort IP found in exynos and rockchip
      
        DRM Core:
         - UAPI headers fixes and C++ safety
         - DRM connector reference counting
         - DisplayID mode parsing for Dell 5K monitors
         - Removal of struct_mutex from drivers
         - Connector registration cleanups
         - MST robustness fixes
         - MAINTAINERS updates
         - Lockless GEM object freeing
         - Generic fbdev deferred IO support
      
        panel:
         - Support for a bunch of new panels
      
        i915:
         - VBT refactoring
         - PLL computation cleanups
         - DSI support for BXT
         - Color manager support
         - More atomic patches
         - GEM improvements
         - GuC fw loading fixes
         - DP detection fixes
         - SKL GPU hang fixes
         - Lots of BXT fixes
      
        radeon/amdgpu:
         - Initial Polaris support
         - GPUVM/Scheduler/Clock/Power improvements
         - ASYNC pageflip support
         - New mesa feature support
      
        nouveau:
         - GM108 support
         - Power sensor support improvements
         - GR init + ucode fixes.
         - Use GPU provided topology information
      
        vmwgfx:
         - Add host messaging support
      
        gma500:
         - Some cleanups and fixes
      
        atmel:
         - Bridge support
         - Async atomic commit support
      
        fsl-dcu:
         - Timing controller for LCD support
         - Pixel clock polarity support
      
        rcar-du:
         - Misc fixes
      
        exynos:
         - Pipeline clock support
         - Exynoss4533 SoC support
         - HW trigger mode support
         - export HDMI_PHY clock
         - DECON5433 fixes
         - Use generic prime functions
         - use DMA mapping APIs
      
        rockchip:
         - Lots of little fixes
      
        vc4:
         - Render node support
         - Gamma ramp support
         - DPI output support
      
        msm:
         - Mostly cleanups and fixes
         - Conversion to generic struct fence
      
        etnaviv:
         - Fix for prime buffer handling
         - Allow hangcheck to be coalesced with other wakeups
      
        tegra:
         - Gamme table size fix"
      
      * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (1050 commits)
        drm/edid: add displayid detailed 1 timings to the modelist. (v1.1)
        drm/edid: move displayid validation to it's own function.
        drm/displayid: Iterate over all DisplayID blocks
        drm/edid: move displayid tiled block parsing into separate function.
        drm: Nuke ->vblank_disable_allowed
        drm/vmwgfx: Report vmwgfx version to vmware.log
        drm/vmwgfx: Add VMWare host messaging capability
        drm/vmwgfx: Kill some lockdep warnings
        drm/nouveau/gr/gf100-: fix race condition in fecs/gpccs ucode
        drm/nouveau/core: recognise GM108 chipsets
        drm/nouveau/gr/gm107-: fix touching non-existent ppcs in attrib cb setup
        drm/nouveau/gr/gk104-: share implementation of ppc exception init
        drm/nouveau/gr/gk104-: move rop_active_fbps init to nonctx
        drm/nouveau/bios/pll: check BIT table version before trying to parse it
        drm/nouveau/bios/pll: prevent oops when limits table can't be parsed
        drm/nouveau/volt/gk104: round up in gk104_volt_set
        drm/nouveau/fb/gm200: setup mmu debug buffer registers at init()
        drm/nouveau/fb/gk20a,gm20b: setup mmu debug buffer registers at init()
        drm/nouveau/fb/gf100-: allocate mmu debug buffers
        drm/nouveau/fb: allow chipset-specific actions for oneinit()
        ...
      1d6da87a
    • Linus Torvalds's avatar
      Merge tag 'libnvdimm-for-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · 1f40c495
      Linus Torvalds authored
      Pull libnvdimm updates from Dan Williams:
       "The bulk of this update was stabilized before the merge window and
        appeared in -next.  The "device dax" implementation was revised this
        week in response to review feedback, and to address failures detected
        by the recently expanded ndctl unit test suite.
      
        Not included in this pull request are two dax topic branches (dax
        error handling, and dax radix-tree locking).  These topics were
        deferred to get a few more days of -next integration testing, and to
        coordinate a branch baseline with Ted and the ext4 tree.  Vishal and
        Ross will send the error handling and locking topics respectively in
        the next few days.
      
        This branch has received a positive build result from the kbuild robot
        across 226 configs.
      
        Summary:
      
         - Device DAX for persistent memory: Device DAX is the device-centric
           analogue of Filesystem DAX (CONFIG_FS_DAX).  It allows memory
           ranges to be allocated and mapped without need of an intervening
           file system.  Device DAX is strict, precise and predictable.
           Specifically this interface:
      
            a) Guarantees fault granularity with respect to a given page size
               (pte, pmd, or pud) set at configuration time.
      
            b) Enforces deterministic behavior by being strict about what
               fault scenarios are supported.
      
           Persistent memory is the first target, but the mechanism is also
           targeted for exclusive allocations of performance/feature
           differentiated memory ranges.
      
         - Support for the HPE DSM (device specific method) command formats.
           This enables management of these first generation devices until a
           unified DSM specification materializes.
      
         - Further ACPI 6.1 compliance with support for the common dimm
           identifier format.
      
         - Various fixes and cleanups across the subsystem"
      
      * tag 'libnvdimm-for-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: (40 commits)
        libnvdimm, dax: fix deletion
        libnvdimm, dax: fix alignment validation
        libnvdimm, dax: autodetect support
        libnvdimm: release ida resources
        Revert "block: enable dax for raw block devices"
        /dev/dax, core: file operations and dax-mmap
        /dev/dax, pmem: direct access to persistent memory
        libnvdimm: stop requiring a driver ->remove() method
        libnvdimm, dax: record the specified alignment of a dax-device instance
        libnvdimm, dax: reserve space to store labels for device-dax
        libnvdimm, dax: introduce device-dax infrastructure
        nfit: add sysfs dimm 'family' and 'dsm_mask' attributes
        tools/testing/nvdimm: ND_CMD_CALL support
        nfit: disable vendor specific commands
        nfit: export subsystem ids as attributes
        nfit: fix format interface code byte order per ACPI6.1
        nfit, libnvdimm: limited/whitelisted dimm command marshaling mechanism
        nfit, libnvdimm: clarify "commands" vs "_DSMs"
        libnvdimm: increase max envelope size for ioctl
        acpi/nfit: Add sysfs "id" for NVDIMM ID
        ...
      1f40c495
    • James Morris's avatar
      Merge tag 'keys-next-20160511' of... · 653bd456
      James Morris authored
      Merge tag 'keys-next-20160511' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs into for-linus
      653bd456
    • Linus Torvalds's avatar
      Merge tag 'trace-v4.7-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 7639dad9
      Linus Torvalds authored
      Pull motr tracing updates from Steven Rostedt:
       "Three more changes.
      
         - I forgot that I had another selftest to stress test the ftrace
           instance creation.  It was actually suppose to go into the 4.6
           merge window, but I never committed it.  I almost forgot about it
           again, but noticed it was missing from your tree.
      
         - Soumya PN sent me a clean up patch to not disable interrupts when
           taking the tasklist_lock for read, as it's unnecessary because that
           lock is never taken for write in irq context.
      
         - Newer gcc's can cause the jump in the function_graph code to the
           global ftrace_stub label to be a short jump instead of a long one.
           As that jump is dynamically converted to jump to the trace code to
           do function graph tracing, and that conversion expects a long jump
           it can corrupt the ftrace_stub itself (it's directly after that
           call).  One way to prevent gcc from using a short jump is to
           declare the ftrace_stub as a weak function, which we do here to
           keep gcc from optimizing too much"
      
      * tag 'trace-v4.7-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        ftrace/x86: Set ftrace_stub to weak to prevent gcc from using short jumps to it
        ftrace: Don't disable irqs when taking the tasklist_lock read_lock
        ftracetest: Add instance created, delete, read and enable event test
      7639dad9
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu · 77ed402b
      Linus Torvalds authored
      Pull m68knommu update from Greg Ungerer:
       "Only a single change to update my email address in the MAINTAINERS
        file"
      
      * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
        m68k: change m68knommu maintainer email address
      77ed402b
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · 21f9debf
      Linus Torvalds authored
      Pull sparc updates from David Miller:
       "Some 32-bit kgdb cleanups from Sam Ravnborg, and a hugepage TLB flush
        overhead fix on 64-bit from Nitin Gupta"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
        sparc64: Reduce TLB flushes during hugepte changes
        aeroflex/greth: fix warning about unused variable
        openprom: fix warning
        sparc32: drop superfluous cast in calls to __nocache_pa()
        sparc32: fix build with STRICT_MM_TYPECHECKS
        sparc32: use proper prototype for trapbase
        sparc32: drop local prototype in kgdb_32
        sparc32: drop hardcoding trap_level in kgdb_trap
      21f9debf
    • Dave Airlie's avatar
      drm/edid: add displayid detailed 1 timings to the modelist. (v1.1) · a39ed680
      Dave Airlie authored
      The tiled 5K Dell monitor appears to be hiding it's tiled mode
      inside the displayid timings block, this patch parses this
      blocks and adds the modes to the modelist.
      
      v1.1: add missing __packed.
      
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=95207Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      a39ed680
    • Dave Airlie's avatar
      drm/edid: move displayid validation to it's own function. · c9729177
      Dave Airlie authored
      We need to use this for validating modeline additions.
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      c9729177
    • Tomas Bzatek's avatar
      drm/displayid: Iterate over all DisplayID blocks · 3a4a2ea3
      Tomas Bzatek authored
      This will iterate over all DisplayID blocks found in the buffer.
      Previously only the first block was parsed.
      
      https://bugs.freedesktop.org/show_bug.cgi?id=95207Signed-off-by: default avatarTomas Bzatek <tomas@bzatek.net>
      Reviewed-by: default avatarJani Nikula <jani.nikula@intel.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      3a4a2ea3
    • Dave Airlie's avatar
      drm/edid: move displayid tiled block parsing into separate function. · 5e546cd5
      Dave Airlie authored
      This just makes the code easier to follow.
      Reviewed-by: default avatarJani Nikula <jani.nikula@intel.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      5e546cd5
    • Linus Torvalds's avatar
      x86: remove more uaccess_32.h complexity · bd28b145
      Linus Torvalds authored
      I'm looking at trying to possibly merge the 32-bit and 64-bit versions
      of the x86 uaccess.h implementation, but first this needs to be cleaned
      up.
      
      For example, the 32-bit version of "__copy_from_user_inatomic()" is
      mostly the special cases for the constant size, and it's actually almost
      never relevant.  Most users aren't actually using a constant size
      anyway, and the few cases that do small constant copies are better off
      just using __get_user() instead.
      
      So get rid of the unnecessary complexity.
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      bd28b145
  3. 22 May, 2016 2 commits
    • Linus Torvalds's avatar
      x86: remove pointless uaccess_32.h complexity · 5b09c3ed
      Linus Torvalds authored
      I'm looking at trying to possibly merge the 32-bit and 64-bit versions
      of the x86 uaccess.h implementation, but first this needs to be cleaned
      up.
      
      For example, the 32-bit version of "__copy_to_user_inatomic()" is mostly
      the special cases for the constant size, and it's actually never
      relevant.  Every user except for one aren't actually using a constant
      size anyway, and the one user that uses it is better off just using
      __put_user() instead.
      
      So get rid of the unnecessary complexity.
      
      [ The same cleanup should likely happen to __copy_from_user_inatomic()
        as well, but that one has a lot more users that I need to take a look
        at first ]
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      5b09c3ed
    • Linus Torvalds's avatar
      Merge tag 'for-f2fs-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs · f6c658df
      Linus Torvalds authored
      Pull f2fs updates from Jaegeuk Kim:
       "In this round, as Ted pointed out, fscrypto allows one more key prefix
        given by filesystem to resolve backward compatibility issues.  Other
        than that, we've fixed several error handling cases by introducing
        a fault injection facility.  We've also achieved performance
        improvement in some workloads as well as a bunch of bug fixes.
      
        Summary:
      
        Enhancements:
         - fs-specific prefix for fscrypto
         - fault injection facility
         - expose validity bitmaps for user to be aware of fragmentation
         - fallocate/rm/preallocation speed up
         - use percpu counters
      
        Bug fixes:
         - some inline_dentry/inline_data bugs
         - error handling for atomic/volatile/orphan inodes
         - recover broken superblock"
      
      * tag 'for-f2fs-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (73 commits)
        f2fs: fix to update dirty page count correctly
        f2fs: flush pending bios right away when error occurs
        f2fs: avoid ENOSPC fault in the recovery process
        f2fs: make exit_f2fs_fs more clear
        f2fs: use percpu_counter for total_valid_inode_count
        f2fs: use percpu_counter for alloc_valid_block_count
        f2fs: use percpu_counter for # of dirty pages in inode
        f2fs: use percpu_counter for page counters
        f2fs: use bio count instead of F2FS_WRITEBACK page count
        f2fs: manipulate dirty file inodes when DATA_FLUSH is set
        f2fs: add fault injection to sysfs
        f2fs: no need inc dirty pages under inode lock
        f2fs: fix incorrect error path handling in f2fs_move_rehashed_dirents
        f2fs: fix i_current_depth during inline dentry conversion
        f2fs: correct return value type of f2fs_fill_super
        f2fs: fix deadlock when flush inline data
        f2fs: avoid f2fs_bug_on during recovery
        f2fs: show # of orphan inodes
        f2fs: support in batch fzero in dnode page
        f2fs: support in batch multi blocks preallocation
        ...
      f6c658df
  4. 21 May, 2016 24 commits
    • Dan Williams's avatar
      36092ee8
    • Dan Williams's avatar
      libnvdimm, dax: fix deletion · 03dca343
      Dan Williams authored
      The ndctl unit tests discovered that the dax enabling omitted updates to
      nd_detach_and_reset().  This routine clears device the configuration
      when the namespace is detached.  Without this clearing userspace may
      assume that the device is in the process of being configured by another
      agent in the system.
      Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
      03dca343
    • Dan Williams's avatar
      libnvdimm, dax: fix alignment validation · 5e24c9fd
      Dan Williams authored
      Testing the dax-device autodetect support revealed a probe failure with
      the following result:
      
          dax0.1: bad offset: 0x8200000 dax disabled
      
      The original pfn-device implementation inferred the alignment from
      ilog2(offset), now that the alignment is explicit the is_power_of_2()
      needs replacing with a real sanity check against the recorded alignment.
      Otherwise the alignment check is useless in the implicit case and only
      the minimum size of the offset matters.
      
      This self-consistency check is further validated by the probe path that
      will re-check that the offset is large enough to contain all the
      metadata required to enable the device.
      
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
      5e24c9fd
    • Linus Torvalds's avatar
      Merge branch 'for-linus-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · 07be1337
      Linus Torvalds authored
      Pull btrfs updates from Chris Mason:
       "This has our merge window series of cleanups and fixes.  These target
        a wide range of issues, but do include some important fixes for
        qgroups, O_DIRECT, and fsync handling.  Jeff Mahoney moved around a
        few definitions to make them easier for userland to consume.
      
        Also whiteout support is included now that issues with overlayfs have
        been cleared up.
      
        I have one more fix pending for page faults during btrfs_copy_from_user,
        but I wanted to get this bulk out the door first"
      
      * 'for-linus-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: (90 commits)
        btrfs: fix memory leak during RAID 5/6 device replacement
        Btrfs: add semaphore to synchronize direct IO writes with fsync
        Btrfs: fix race between block group relocation and nocow writes
        Btrfs: fix race between fsync and direct IO writes for prealloc extents
        Btrfs: fix number of transaction units for renames with whiteout
        Btrfs: pin logs earlier when doing a rename exchange operation
        Btrfs: unpin logs if rename exchange operation fails
        Btrfs: fix inode leak on failure to setup whiteout inode in rename
        btrfs: add support for RENAME_EXCHANGE and RENAME_WHITEOUT
        Btrfs: pin log earlier when renaming
        Btrfs: unpin log if rename operation fails
        Btrfs: don't do unnecessary delalloc flushes when relocating
        Btrfs: don't wait for unrelated IO to finish before relocation
        Btrfs: fix empty symlink after creating symlink and fsync parent dir
        Btrfs: fix for incorrect directory entries after fsync log replay
        btrfs: build fixup for qgroup_account_snapshot
        btrfs: qgroup: Fix qgroup accounting when creating snapshot
        Btrfs: fix fspath error deallocation
        btrfs: make find_workspace warn if there are no workspaces
        btrfs: make find_workspace always succeed
        ...
      07be1337
    • Linus Torvalds's avatar
      Merge tag 'rtc-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux · 63d222b9
      Linus Torvalds authored
      Pull RTC updates from Alexandre Belloni:
       "Subsystem wide cleanups:
         - Use IS_ENABLED() instead of checking for built-in or module
         - remove useless DRV_VERSION
         - remove CLK_IS_ROOT
         - remove UIE signaling
      
        Drivers:
         - ds1302: rewritten to be a proper SPI device driver
         - m41t80: huge cleanup, alarm, wakelarm ans oscialltor failure
           detection support
         - rv3029: switch to regmap to handle rv3049, alarm support, fixes
         - zynqmp: enable switching to battery power, fixes
         - small fixes for at91sam9, da9053, ds1307, ds1685, ds3232, r2025,
           sa1100, snvs, stmp3xxx, tps6586x"
      
      * tag 'rtc-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (40 commits)
        rtc: tps6586x: rename so module can be autoloaded
        rtc: rv3029: hide unused i2c device table
        rtc: rs5c372: r2025: fix check for 'oscillator halted' condition
        rtc: rv3029: add alarm IRQ
        rtc: rv3029: fix set_time function
        rtc: rv3029: fix alarm support
        rtc: rv3029: Remove some checks and warnings
        rtc: rv3029: Add support of RV3049
        rtc: rv3029: convert to use regmap
        rtc: rv3029: remove 'i2c' in functions names
        rtc: stmp3xxx: print message on error
        rtc: Use IS_ENABLED() instead of checking for built-in or module
        rtc: ds3232: fix call trace when rtc->ops_lock is used as NULL
        rtc: snvs: return error in case enable_irq_wake fails
        rtc: zynqmp: Update seconds time programming logic
        rtc: sa1100: DT spelling s/interrupt-name/interrupt-names/
        rtc: mc13xxx: remove UIE signaling
        rtc: mxc: remove UIE signaling
        rtc: ds1307: Remove CLK_IS_ROOT
        rtc: hym8563: Remove CLK_IS_ROOT
        ...
      63d222b9
    • Linus Torvalds's avatar
      Merge branch 'mailbox-for-next' of git://git.linaro.org/landing-teams/working/fujitsu/integration · 10cd7158
      Linus Torvalds authored
      Pull mailbox updates from Jassi Brar:
       "OMAP:
         - Remove non-DT support from mailbox driver
         - Move PM from client calls to native driver suspend/resume
         - Trivial cleanups to make checkpatch happy
      
        STI:
         - Check return from devm_ioremap_resource as ERR_PTR, not NULL"
      
      * 'mailbox-for-next' of git://git.linaro.org/landing-teams/working/fujitsu/integration:
        mailbox: Fix devm_ioremap_resource error detection code
        mailbox/omap: kill omap_mbox_{save/restore}_ctx() functions
        mailbox/omap: check for any unread messages during suspend
        mailbox/omap: add support for suspend/resume
        mailbox/omap: store mailbox interrupt type in omap_mbox_device
        mailbox/omap: add blank lines after declarations
        mailbox/omap: remove FSF mailing address paragraph
        mailbox/omap: use variable name for sizeof() operator
        mailbox/omap: drop legacy platform device support
      10cd7158
    • Linus Torvalds's avatar
      x86 isa: add back X86_32 dependency on CONFIG_ISA · 51e68d05
      Linus Torvalds authored
      Commit b3c1be1b ("base: isa: Remove X86_32 dependency") made ISA
      support available on x86-64 too.  That's not right - while there are
      some LPC-style devices that might be useful still and be based on
      ISA-like IP blocks, that is *not* an excuse to try to enable any random
      legacy drivers.
      
      Such drivers should be individually enabled and made to perhaps depend
      on ISA_DMA_API instead (which we have continued to support on x86-64).
      Or we could add another "ISA_XYZ_API" that we support that doesn't
      enable random old drivers that aren't even 64-bit clean nor do we have
      any test coverage for.
      
      Turning off ISA will now also turn off some drivers that have been
      marked as depending on it as part of this series, and that used to work
      on modern platforms.
      
      See for example commits ad7afc38..cc736607, which may also need
      to be reverted.
      
      This commit means that the warnings that came in due to enabling ISA
      widely are now gone again.
      Acked-by: default avatarWilliam Breathitt Gray <vilhelm.gray@gmail.com>
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Cc: Guenter Roeck <linux@roeck-us.net>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      51e68d05
    • Nicolas Chauvet's avatar
      rtc: tps6586x: rename so module can be autoloaded · b9ba1eb0
      Nicolas Chauvet authored
      This module is loaded by the related mfd driver which has
      the needed MODULE_DEVICE_TABLE(i2c,...).
      
      This patch fix the modalias when the rtc driver is built
      as a module, so the right name is used.
      Everything operates correctly when this module is builtin.
      
      Fixes: esdc59ed38 ("rtc: add RTC driver for TPS6586x")
      Signed-off-by: default avatarNicolas Chauvet <kwizart@gmail.com>
      Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@free-electrons.com>
      b9ba1eb0
    • Arnd Bergmann's avatar
      rtc: rv3029: hide unused i2c device table · 814db2bc
      Arnd Bergmann authored
      The added support for SPI mode made it possible to configure the driver
      when I2C is disabled, leaving an unused device table:
      
      drivers/rtc/rtc-rv3029c2.c:794:29: error: 'rv3029_id' defined but not used [-Werror=unused-variable]
      
      This moves the table inside of the #ifdef section that has the
      only user, to avoid the harmless warning.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Fixes: d08f50dd0afc ("rtc: rv3029: Add support of RV3049")
      Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@free-electrons.com>
      814db2bc
    • Thomas Koeller's avatar
      rtc: rs5c372: r2025: fix check for 'oscillator halted' condition · a9dbe558
      Thomas Koeller authored
      The R2025SD chip, according to its data sheet, sets the /XST
      bit to zero if the oscillator stops. Hence the check for this
      condition was wrong.
      Signed-off-by: default avatarThomas Koeller <thomas.koeller@baslerweb.com>
      Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@free-electrons.com>
      a9dbe558
    • Mylène Josserand's avatar
      rtc: rv3029: add alarm IRQ · 0ddc5b89
      Mylène Josserand authored
      Add the alarm IRQ functionality.
      Signed-off-by: default avatarMylène Josserand <mylene.josserand@free-electrons.com>
      Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@free-electrons.com>
      0ddc5b89
    • Mylène Josserand's avatar
      rtc: rv3029: fix set_time function · 38201ca3
      Mylène Josserand authored
      The bin2bcd function in set_time is uncorrect on weekdays as the
      bit mask should be done at the end of arithmetic operations.
      Signed-off-by: default avatarMylène Josserand <mylene.josserand@free-electrons.com>
      Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@free-electrons.com>
      38201ca3
    • Mylène Josserand's avatar
      rtc: rv3029: fix alarm support · dc492e86
      Mylène Josserand authored
      The RTC RV3029 handles different types of alarms : seconds, minutes, ...
      These alarms can be enabled or disabled individually using an AE_x bit
      which is the last bit (BIT(7)) on each alarm registers.
      
      To prepare the alarm IRQ support, the current code enables all the alarm
      types by setting each AE_x to 1.
      It also fixes others alarms issues :
         - month and weekday errors : it was performing -1 instead of +1.
         - wrong use of bit mask with bin2bcd
      Signed-off-by: default avatarMylène Josserand <mylene.josserand@free-electrons.com>
      Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@free-electrons.com>
      dc492e86
    • Mylène Josserand's avatar
      rtc: rv3029: Remove some checks and warnings · abe2f551
      Mylène Josserand authored
      Remove some checks from checkpatch such as spaces around arithmetic
      operations or prefer "unsigned int".
      Signed-off-by: default avatarMylène Josserand <mylene.josserand@free-electrons.com>
      Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@free-electrons.com>
      abe2f551
    • Mylène Josserand's avatar
      rtc: rv3029: Add support of RV3049 · c2a1c145
      Mylène Josserand authored
      Add support of Microcrystal RV3049 RTC (SPI) using regmap on the
      RV3029 (I2C) driver.
      Signed-off-by: default avatarMylène Josserand <mylene.josserand@free-electrons.com>
      Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@free-electrons.com>
      c2a1c145
    • Mylène Josserand's avatar
      rtc: rv3029: convert to use regmap · e6e38082
      Mylène Josserand authored
      To add support of rv3049, the current driver is converted to use regmap.
      Signed-off-by: default avatarMylène Josserand <mylene.josserand@free-electrons.com>
      Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@free-electrons.com>
      e6e38082
    • Mylène Josserand's avatar
      rtc: rv3029: remove 'i2c' in functions names · 4e7f1a60
      Mylène Josserand authored
      To prepare the use of regmap to add the support of RV-3049, all the
      'i2c' in functions's names are removed.
      Signed-off-by: default avatarMylène Josserand <mylene.josserand@free-electrons.com>
      Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@free-electrons.com>
      4e7f1a60
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · 5469dc27
      Linus Torvalds authored
      Merge more updates from Andrew Morton:
      
       - the rest of MM
      
       - KASAN updates
      
       - procfs updates
      
       - exit, fork updates
      
       - printk updates
      
       - lib/ updates
      
       - radix-tree testsuite updates
      
       - checkpatch updates
      
       - kprobes updates
      
       - a few other misc bits
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (162 commits)
        samples/kprobes: print out the symbol name for the hooks
        samples/kprobes: add a new module parameter
        kprobes: add the "tls" argument for j_do_fork
        init/main.c: simplify initcall_blacklisted()
        fs/efs/super.c: fix return value
        checkpatch: improve --git <commit-count> shortcut
        checkpatch: reduce number of `git log` calls with --git
        checkpatch: add support to check already applied git commits
        checkpatch: add --list-types to show message types to show or ignore
        checkpatch: advertise the --fix and --fix-inplace options more
        checkpatch: whine about ACCESS_ONCE
        checkpatch: add test for keywords not starting on tabstops
        checkpatch: improve CONSTANT_COMPARISON test for structure members
        checkpatch: add PREFER_IS_ENABLED test
        lib/GCD.c: use binary GCD algorithm instead of Euclidean
        radix-tree: free up the bottom bit of exceptional entries for reuse
        dax: move RADIX_DAX_ definitions to dax.c
        radix-tree: make radix_tree_descend() more useful
        radix-tree: introduce radix_tree_replace_clear_tags()
        radix-tree: tidy up __radix_tree_create()
        ...
      5469dc27
    • Linus Torvalds's avatar
      Merge tag 'staging-4.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · 2f37dd13
      Linus Torvalds authored
      Pull staging and IIO driver updates from Greg KH:
       "Here's the big staging and iio driver update for 4.7-rc1.
      
        I think we almost broke even with this release, only adding a few more
        lines than we removed, which isn't bad overall given that there's a
        bunch of new iio drivers added.
      
        The Lustre developers seem to have woken up from their sleep and have
        been doing a great job in cleaning up the code and pruning unused or
        old cruft, the filesystem is almost readable :)
      
        Other than that, just a lot of basic coding style cleanups in the
        churn.  All have been in linux-next for a while with no reported
        issues"
      
      * tag 'staging-4.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (938 commits)
        Staging: emxx_udc: emxx_udc: fixed coding style issue
        staging/gdm724x: fix "alignment should match open parenthesis" issues
        staging/gdm724x: Fix avoid CamelCase
        staging: unisys: rename misleading var ii with frag
        staging: unisys: visorhba: switch success handling to error handling
        staging: unisys: visorhba: main path needs to flow down the left margin
        staging: unisys: visorinput: handle_locking_key() simplifications
        staging: unisys: visorhba: fail gracefully for thread creation failures
        staging: unisys: visornic: comment restructuring and removing bad diction
        staging: unisys: fix format string %Lx to %llx for u64
        staging: unisys: remove unused struct members
        staging: unisys: visorchannel: correct variable misspelling
        staging: unisys: visorhba: replace functionlike macro with function
        staging: dgnc: Need to check for NULL of ch
        staging: dgnc: remove redundant condition check
        staging: dgnc: fix 'line over 80 characters'
        staging: dgnc: clean up the dgnc_get_modem_info()
        staging: lustre: lnet: enable configuration per NI interface
        staging: lustre: o2iblnd: properly set ibr_why
        staging: lustre: o2iblnd: remove last of kiblnd_tunables_fini
        ...
      2f37dd13
    • Dan Williams's avatar
      libnvdimm, dax: autodetect support · c5ed9268
      Dan Williams authored
      For autodetecting a previously established dax configuration we need the
      info block to indicate block-device vs device-dax mode, and we need to
      have the default namespace probe hand-off the configuration to the
      dax_pmem driver.
      Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
      c5ed9268
    • Dan Williams's avatar
      libnvdimm: release ida resources · b354aba0
      Dan Williams authored
      ida instances allocate some internal memory for ->free_bitmap in
      addition to the base 'struct ida'.  Use ida_destroy() to release that
      memory at module_exit().
      Reported-by: default avatarJohannes Thumshirn <jthumshirn@suse.de>
      Reviewed-by: default avatarJohannes Thumshirn <jthumshirn@suse.de>
      Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
      b354aba0
    • Dan Williams's avatar
      Revert "block: enable dax for raw block devices" · acc93d30
      Dan Williams authored
      This reverts commit 5a023cdb.
      
      The functionality is superseded by the new "Device DAX" facility.
      
      Cc: Jeff Moyer <jmoyer@redhat.com>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Dave Chinner <david@fromorbit.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
      Cc: Jan Kara <jack@suse.com>
      Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
      acc93d30
    • Dan Williams's avatar
      /dev/dax, core: file operations and dax-mmap · dee41079
      Dan Williams authored
      The "Device DAX" core enables dax mappings of performance / feature
      differentiated memory.  An open mapping or file handle keeps the backing
      struct device live, but new mappings are only possible while the device
      is enabled.   Faults are handled under rcu_read_lock to synchronize
      with the enabled state of the device.
      
      Similar to the filesystem-dax case the backing memory may optionally
      have struct page entries.  However, unlike fs-dax there is no support
      for private mappings, or mappings that are not backed by media (see
      use of zero-page in fs-dax).
      
      Mappings are always guaranteed to match the alignment of the dax_region.
      If the dax_region is configured to have a 2MB alignment, all mappings
      are guaranteed to be backed by a pmd entry.  Contrast this determinism
      with the fs-dax case where pmd mappings are opportunistic.  If userspace
      attempts to force a misaligned mapping, the driver will fail the mmap
      attempt.  See dax_dev_check_vma() for other scenarios that are rejected,
      like MAP_PRIVATE mappings.
      
      Cc: Hannes Reinecke <hare@suse.de>
      Cc: Jeff Moyer <jmoyer@redhat.com>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Dave Hansen <dave.hansen@linux.intel.com>
      Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
      Acked-by: default avatar"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
      Reviewed-by: default avatarJohannes Thumshirn <jthumshirn@suse.de>
      Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
      dee41079
    • Dan Williams's avatar
      /dev/dax, pmem: direct access to persistent memory · ab68f262
      Dan Williams authored
      Device DAX is the device-centric analogue of Filesystem DAX
      (CONFIG_FS_DAX).  It allows memory ranges to be allocated and mapped
      without need of an intervening file system.  Device DAX is strict,
      precise and predictable.  Specifically this interface:
      
      1/ Guarantees fault granularity with respect to a given page size (pte,
      pmd, or pud) set at configuration time.
      
      2/ Enforces deterministic behavior by being strict about what fault
      scenarios are supported.
      
      For example, by forcing MADV_DONTFORK semantics and omitting MAP_PRIVATE
      support device-dax guarantees that a mapping always behaves/performs the
      same once established.  It is the "what you see is what you get" access
      mechanism to differentiated memory vs filesystem DAX which has
      filesystem specific implementation semantics.
      
      Persistent memory is the first target, but the mechanism is also
      targeted for exclusive allocations of performance differentiated memory
      ranges.
      
      This commit is limited to the base device driver infrastructure to
      associate a dax device with pmem range.
      
      Cc: Jeff Moyer <jmoyer@redhat.com>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Dave Hansen <dave.hansen@linux.intel.com>
      Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
      Reviewed-by: default avatarJohannes Thumshirn <jthumshirn@suse.de>
      Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
      ab68f262