1. 03 Jul, 2015 9 commits
  2. 02 Jul, 2015 31 commits
    • Linus Torvalds's avatar
      make certificate list change message more useful · 7df9ab84
      Linus Torvalds authored
      It's a bug in our Makefile rules, make it show what the changing
      certificate list was, and make it a warning so that people actually see
      it.
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      7df9ab84
    • Rafael J. Wysocki's avatar
      Revert 'Revert "ACPICA: Permanently set _REV to the value '2'."' · ea7d5215
      Rafael J. Wysocki authored
      Revert commit ff284f37 (Revert "ACPICA: Permanently set _REV to
      the value '2'.) as the regression introduced by commit b1ef2972
      reverted by it is now addressed via a blacklist entry.
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      ea7d5215
    • Rafael J. Wysocki's avatar
      ACPI / init: Make it possible to override _REV · 18d78b64
      Rafael J. Wysocki authored
      The platform firmware on some systems expects Linux to return "5" as
      the supported ACPI revision which makes it expose system configuration
      information in a special way.
      
      For example, based on what ACPI exports as the supported revision,
      Dell XPS 13 (2015) configures its audio device to either work in HDA
      mode or in I2S mode, where the former is supposed to be used on Linux
      until the latter is fully supported (in the kernel as well as in user
      space).
      
      Since ACPI 6 mandates that _REV should return "2" if ACPI 2 or later
      is supported by the OS, a subsequent change will make that happen, so
      make it possible to override that on systems where "5" is expected to
      be returned for Linux to work correctly one them (such as the Dell
      machine mentioned above).
      Original-by: default avatarDominik Brodowski <linux@dominikbrodowski.net>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      18d78b64
    • Linus Torvalds's avatar
      Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild · e965b8ce
      Linus Torvalds authored
      Pull kbuild updates from Michal Marek:
       "Just a few kbuild core commits this time:
      
         - kallsyms fix for CONFIG_XIP_KERNEL
      
         - bashisms in scripts/link-vmlinux.sh fixed
      
         - workaround to make DEBUG_INFO_REDUCED more useful yet still space
           efficient
      
         - clang is not wrongly detected when cross-compiling"
      
      * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
        kbuild: include core debug info when DEBUG_INFO_REDUCED
        scripts: link-vmlinux: Don't pass page offset to kallsyms if XIP Kernel
        scripts: fix link-vmlinux.sh bash-ism
        Makefile: Fix detection of clang when cross-compiling
      e965b8ce
    • Linus Torvalds's avatar
      Merge branch 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild · a95cb3cd
      Linus Torvalds authored
      Pull kconfig updates from Michal Marek:
      
       - kconfig conditions can use usual less/greater than comparisons
      
       - kconfig warns about stray characters in Kconfig files
      
       - bogus expression simplification removed
      
       - some minor fixes
      
      * 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
        kconfig: re-generate *.c_shipped files after previous change
        kconfig: allow use of relations other than (in)equality
        kconfig: don't silently ignore unhandled characters
        kconfig: Wrap long "make help" text lines
        scripts/kconfig/Makefile: Cosmetic fixes
        scripts/kconfig/Makefile: Fix spelling of Qt
        Kconfig: Remove bad inference rules expr_eliminate_dups2()
      a95cb3cd
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-linus-v4.2-rc1' of... · 19127af9
      Linus Torvalds authored
      Merge tag 'hwmon-for-linus-v4.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
      
      Pull hwmon fixes from Guenter Roeck:
       "Two patches headed for stable:
         - Fix broken output scaling in mcp3021 driver
         - Fix attribute visibility in nct7802 driver
      
        One regression:
         - Fix name attribute in dell-smm-hwmon driver"
      
      * tag 'hwmon-for-linus-v4.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (mcp3021) Fix broken output scaling
        hwmon: (nct7802) fix visibility of temp3
        hwmon: (dell-smm-hwmon) Use a valid name attribute
      19127af9
    • Linus Torvalds's avatar
      Merge tag 'please-pull-put_kernel_page' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux · 799b63a4
      Linus Torvalds authored
      Pull ia64 boot noise reduction fix from Tony Luck:
       "Remove some boot noise from a now-invalid check that pages are
        reserved"
      
      * tag 'please-pull-put_kernel_page' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:
        [IA64] Drop debug test/printk that some special pages are marked reserved
      799b63a4
    • Linus Torvalds's avatar
      Merge tag 'armsoc-late' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · d4113f2f
      Linus Torvalds authored
      Pull ARM SoC late fixes and dependencies from Kevin Hilman:
       "This is a collection of a few late fixes and other misc stuff that had
        dependencies on things being merged from other trees.
      
        Other than the fixes, the primary feature being added is the
        conversion of some OMAP drivers to the new generic wakeirq interface"
      
      * tag 'armsoc-late' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: multi_v7_defconfig: Enable BRCMNAND driver
        ARM: BCM: Do not select CONFIG_MTD_NAND_BRCMNAND
        ARM: at91/dt: update udc compatible strings
        ARM: at91/dt: trivial: fix USB udc compatible string
        arm64: dts: Add APM X-Gene standby GPIO controller DTS entries
        soc: qcom: spm: Fix idle on THUMB2 kernels
        ARM: dove: fix legacy dove IRQ numbers
        ARM: mvebu: fix suspend to RAM on big-endian configurations
        ARM: mvebu: adjust Armada XP DT spi muxing after pinctrl function rename
        serial: 8250_omap: Move wake-up interrupt to generic wakeirq
        serial: omap: Switch wake-up interrupt to generic wakeirq
        mmc: omap_hsmmc: Change wake-up interrupt to use generic wakeirq
      d4113f2f
    • Linus Torvalds's avatar
      Merge branch 'drm-next-4.2' of git://people.freedesktop.org/~agd5f/linux · 84807727
      Linus Torvalds authored
      Pull radeon and amdgpu fixes from Alex Deucher:
       "First round of fixes for 4.2 for radeon and amdgpu.  Stuff all over
        the place:
      
         - hibernation, suspend fixes for radeon and amdgpu
         - radeon audio fix
         - amdgpu ioctl optimzations and fixes
         - amdgpu VCE cs checker improvements
         - misc bug fixes"
      
      [ Dave on vacation, pulling directly ]
      
      * 'drm-next-4.2' of git://people.freedesktop.org/~agd5f/linux: (30 commits)
        drm/radeon: only check the sink type on DP connectors
        drm/amdgpu: add flag to delay VM updates
        drm/amdgpu: add optional dependencies to the CS IOCTL v2
        drm/amdgpu: recreate fence from user seq
        gpu/drm/amdgpu: Fix build when CONFIG_DEBUG_FS is not set
        Revert "drm/radeon: dont switch vt on suspend"
        drm/amdgpu: disable enable_nb_ps_policy temporarily
        drm/amdgpu: correct define SMU_EnabledFeatureScoreboard_SclkDpmOn
        drm/amdgpu: allocate ip_block_enabled memory in common code
        drm/amdgpu: remove unnecessary check before kfree
        drm/amdgpu: use kzalloc for allocating one thing
        drm/radeon: fix adding all VAs to the freed list on remove v2
        drm/amdgpu: add chunk id validity check
        drm/amdgpu: fix crash on invalid CS IOCTL
        drm/amdgpu: reset wptr at cp compute resume (v2)
        drm/amdgpu: check VCE feedback and bitstream index
        drm/amdgpu: make VCE handle check more strict
        drm/amdgpu: check VCE relocation buffer range
        drm/amdgpu: silence invalid error message
        drm/amdgpu: fix wrong type
        ...
      84807727
    • Linus Torvalds's avatar
      Merge tag 'drm-intel-next-fixes-2015-07-02' of git://anongit.freedesktop.org/drm-intel · c021bf1e
      Linus Torvalds authored
      Pull intel drm fixes from Jani Nikula:
       "Almost all of it is regression fixes all around, with cc: stable, and
        then there's Ander's fix for one of the warnings you reported.  We're
        still working on the rest"
      
      [ Dave is on vacation, and Jani is heading out on vacation too ]
      
      * tag 'drm-intel-next-fixes-2015-07-02' of git://anongit.freedesktop.org/drm-intel:
        drm/i915: Clear pipe's pll hw state in hsw_dp_set_ddi_pll_sel()
        drm/i915: fix backlight after resume on 855gm
        agp/intel: Fix typo in needs_ilk_vtd_wa()
        drm/i915/ppgtt: Break loop in gen8_ppgtt_clear_range failure path
        drm/i915: Fix IPS related flicker
      c021bf1e
    • Tony Luck's avatar
      [IA64] Drop debug test/printk that some special pages are marked reserved · 43c518d1
      Tony Luck authored
      In commit 92923ca3 "mm: meminit: only set page reserved in the memblock region"
      we dropped setting the reserved bits for all pages. This results in some warnings
      on ia64:
      
      put_kernel_page: page at 0xe000000005588000 not in reserved memory
      put_kernel_page: page at 0xe000000005588000 not in reserved memory
      put_kernel_page: page at 0xe000000005580000 not in reserved memory
      put_kernel_page: page at 0xe000000005580000 not in reserved memory
      put_kernel_page: page at 0xe000000005580000 not in reserved memory
      put_kernel_page: page at 0xe000000005580000 not in reserved memory
      
      the two different pages match up with two objects from the loaded kernel
      that get mapped by arch/ia64/mm/init.c:setup_gate()
      
      a000000101588000 D __start_gate_section
      a000000101580000 D empty_zero_page
      
      In a discussion with Mel Gorman:
        http://lkml.kernel.org/r/20150526102219.GB13750%40suse.de
      he suggested that while the preferred approach might be to
      set the reserved bit for these pages, it would also be OK
      to just drop the test:
         "as it's a debugging check that is ia-64 specific"
      
      After hunting around a bit and failin to find a good place to mark these
      pages as reserved - I decided to just delete the test.
      Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
      43c518d1
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client · 0c76c6ba
      Linus Torvalds authored
      Pull Ceph updates from Sage Weil:
       "We have a pile of bug fixes from Ilya, including a few patches that
        sync up the CRUSH code with the latest from userspace.
      
        There is also a long series from Zheng that fixes various issues with
        snapshots, inline data, and directory fsync, some simplification and
        improvement in the cap release code, and a rework of the caching of
        directory contents.
      
        To top it off there are a few small fixes and cleanups from Benoit and
        Hong"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (40 commits)
        rbd: use GFP_NOIO in rbd_obj_request_create()
        crush: fix a bug in tree bucket decode
        libceph: Fix ceph_tcp_sendpage()'s more boolean usage
        libceph: Remove spurious kunmap() of the zero page
        rbd: queue_depth map option
        rbd: store rbd_options in rbd_device
        rbd: terminate rbd_opts_tokens with Opt_err
        ceph: fix ceph_writepages_start()
        rbd: bump queue_max_segments
        ceph: rework dcache readdir
        crush: sync up with userspace
        crush: fix crash from invalid 'take' argument
        ceph: switch some GFP_NOFS memory allocation to GFP_KERNEL
        ceph: pre-allocate data structure that tracks caps flushing
        ceph: re-send flushing caps (which are revoked) in reconnect stage
        ceph: send TID of the oldest pending caps flush to MDS
        ceph: track pending caps flushing globally
        ceph: track pending caps flushing accurately
        libceph: fix wrong name "Ceph filesystem for Linux"
        ceph: fix directory fsync
        ...
      0c76c6ba
    • Linus Torvalds's avatar
      Merge tag 'nfs-for-4.2-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs · 8688d954
      Linus Torvalds authored
      Pull NFS client updates from Trond Myklebust:
       "Highlights include:
      
        Stable patches:
         - Fix a crash in the NFSv4 file locking code.
         - Fix an fsync() regression, where we were failing to retry I/O in
           some circumstances.
         - Fix an infinite loop in NFSv4.0 OPEN stateid recovery
         - Fix a memory leak when an attempted pnfs fails.
         - Fix a memory leak in the backchannel code
         - Large hostnames were not supported correctly in NFSv4.1
         - Fix a pNFS/flexfiles bug that was impeding error reporting on I/O.
         - Fix a couple of credential issues in pNFS/flexfiles
      
        Bugfixes + cleanups:
         - Open flag sanity checks in the NFSv4 atomic open codepath
         - More NFSv4 delegation related bugfixes
         - Various NFSv4.1 backchannel bugfixes and cleanups
         - Fix the NFS swap socket code
         - Various cleanups of the NFSv4 SETCLIENTID and EXCHANGE_ID code
         - Fix a UDP transport deadlock issue
      
        Features:
         - More RDMA client transport improvements
         - NFSv4.2 LAYOUTSTATS functionality for pnfs flexfiles"
      
      * tag 'nfs-for-4.2-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (87 commits)
        nfs: Remove invalid tk_pid from debug message
        nfs: Remove invalid NFS_ATTR_FATTR_V4_REFERRAL checking in nfs4_get_rootfh
        nfs: Drop bad comment in nfs41_walk_client_list()
        nfs: Remove unneeded micro checking of CONFIG_PROC_FS
        nfs: Don't setting FILE_CREATED flags always
        nfs: Use remove_proc_subtree() instead remove_proc_entry()
        nfs: Remove unused argument in nfs_server_set_fsinfo()
        nfs: Fix a memory leak when meeting an unsupported state protect
        nfs: take extra reference to fl->fl_file when running a LOCKU operation
        NFSv4: When returning a delegation, don't reclaim an incompatible open mode.
        NFSv4.2: LAYOUTSTATS is optional to implement
        NFSv4.2: Fix up a decoding error in layoutstats
        pNFS/flexfiles: Fix the reset of struct pgio_header when resending
        pNFS/flexfiles: Turn off layoutcommit for servers that don't need it
        pnfs/flexfiles: protect ktime manipulation with mirror lock
        nfs: provide pnfs_report_layoutstat when NFS42 is disabled
        nfs: verify open flags before allowing open
        nfs: always update creds in mirror, even when we have an already connected ds
        nfs: fix potential credential leak in ff_layout_update_mirror_cred
        pnfs/flexfiles: report layoutstat regularly
        ...
      8688d954
    • Linus Torvalds's avatar
      Merge branch 'overlayfs-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs · 320cd413
      Linus Torvalds authored
      Pull overlayfs updates from Miklos Szeredi:
       "This relaxes the requirements on the lower layer filesystem: now ones
        that implement .d_revalidate, such as NFS, can be used.
      
        Upper layer filesystems still has the "no .d_revalidate" requirement.
      
        Also a bad interaction with jffs2 locking has been fixed"
      
      * 'overlayfs-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs:
        ovl: lookup whiteouts outside iterate_dir()
        ovl: allow distributed fs as lower layer
        ovl: don't traverse automount points
      320cd413
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse · a7ba4bf5
      Linus Torvalds authored
      Pull fuse updates from Miklos Szeredi:
       "This is the start of improving fuse scalability.
      
        An input queue and a processing queue is split out from the monolithic
        fuse connection, each of those having their own spinlock.  The end of
        the patchset adds the ability to clone a fuse connection.  This means,
        that instead of having to read/write requests/answers on a single fuse
        device fd, the fuse daemon can have multiple distinct file descriptors
        open.  Each of those can be used to receive requests and send answers,
        currently the only constraint is that a request must be answered on
        the same fd as it was read from.
      
        This can be extended further to allow binding a device clone to a
        specific CPU or NUMA node.
      
        Based on a patchset by Srinivas Eeda and Ashish Samant.  Thanks to
        Ashish for the review of this series"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse: (40 commits)
        fuse: update MAINTAINERS entry
        fuse: separate pqueue for clones
        fuse: introduce per-instance fuse_dev structure
        fuse: device fd clone
        fuse: abort: no fc->lock needed for request ending
        fuse: no fc->lock for pqueue parts
        fuse: no fc->lock in request_end()
        fuse: cleanup request_end()
        fuse: request_end(): do once
        fuse: add req flag for private list
        fuse: pqueue locking
        fuse: abort: group pqueue accesses
        fuse: cleanup fuse_dev_do_read()
        fuse: move list_del_init() from request_end() into callers
        fuse: duplicate ->connected in pqueue
        fuse: separate out processing queue
        fuse: simplify request_wait()
        fuse: no fc->lock for iqueue parts
        fuse: allow interrupt queuing without fc->lock
        fuse: iqueue locking
        ...
      a7ba4bf5
    • Linus Torvalds's avatar
      Merge tag 'module-misc-v4.1-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux · a611fb75
      Linus Torvalds authored
      Pull init.h/module.h fragility fixes from Paul Gortmaker:
       "Fixup various init.h misuses that are fragile wrt code moving to
        module.h
      
        What started as a removal of no longer required include <linux/init.h>
        due to the earlier __cpuinit and __devinit removal led to the
        observation that some module specfic support was living in init.h
        itself, thus preventing the full removal from introducing compile
        regressions.
      
        This series includes a few final fixups needed prior to the relocation
        of the modular init code from <init.h> to <module.h>.  These are
        things that weren't easily categorized into any of the other previous
        series categories already requested for pull.
      
        That said, each fixup branch (including this one) is independent and
        there are no ordering constraints.  Only the final code relocation
        (which is NOT in this pull) requires that all my cleanup branches be
        merged first"
      
      * tag 'module-misc-v4.1-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:
        tile: add init.h to usb.c to avoid compile failure
        arm: fix implicit #include <linux/init.h> in entry asm.
        x86: replace __init_or_module with __init in non-modular vsmp_64.c
      a611fb75
    • Linus Torvalds's avatar
      Merge tag 'module-builtin_driver-v4.1-rc8' of... · 75462c8a
      Linus Torvalds authored
      Merge tag 'module-builtin_driver-v4.1-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux
      
      Pull module_platform_driver replacement from Paul Gortmaker:
       "Replace module_platform_driver with builtin_platform driver in non
        modules.
      
        We see an increasing number of non-modular drivers using
        modular_driver() type register functions.  There are several downsides
        to letting this continue unchecked:
      
         - The code can appear modular to a reader of the code, and they won't
           know if the code really is modular without checking the Makefile
           and Kconfig to see if compilation is governed by a bool or
           tristate.
      
         - Coders of drivers may be tempted to code up an __exit function that
           is never used, just in order to satisfy the required three args of
           the modular registration function.
      
         - Non-modular code ends up including the <module.h> which increases
           CPP overhead that they don't need.
      
         - It hinders us from performing better separation of the module init
           code and the generic init code.
      
        So here we introduce similar macros for builtin drivers.  Then we
        convert builtin drivers (controlled by a bool Kconfig) by making the
        following type of mapping:
      
          module_platform_driver()       --->  builtin_platform_driver()
          module_platform_driver_probe() --->  builtin_platform_driver_probe().
      
        The set of drivers that are converted here are just the ones that
        showed up as relying on an implicit include of <module.h> during a
        pending header cleanup.  So we convert them here vs adding an include
        of <module.h> to non-modular code to avoid compile fails.  Additonal
        conversions can be done asynchronously at any time.
      
        Once again, an unused module_exit function that is removed here
        appears in the diffstat as an outlier wrt all the other changes"
      
      * tag 'module-builtin_driver-v4.1-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:
        drivers/clk: convert sunxi/clk-mod0.c to use builtin_platform_driver
        drivers/power: Convert non-modular syscon-reboot to use builtin_platform_driver
        drivers/soc: Convert non-modular soc-realview to use builtin_platform_driver
        drivers/soc: Convert non-modular tegra/pmc to use builtin_platform_driver
        drivers/cpufreq: Convert non-modular s5pv210-cpufreq.c to use builtin_platform_driver
        drivers/cpuidle: Convert non-modular drivers to use builtin_platform_driver
        drivers/platform: Convert non-modular pdev_bus to use builtin_platform_driver
        platform_device: better support builtin boilerplate avoidance
      75462c8a
    • Linus Torvalds's avatar
      Merge tag 'module_init-alternate_initcall-v4.1-rc8' of... · 9d90f035
      Linus Torvalds authored
      Merge tag 'module_init-alternate_initcall-v4.1-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux
      
      Pull module_init replacement part two from Paul Gortmaker:
       "Replace module_init with appropriate alternate initcall in non
        modules.
      
        This series converts non-modular code that is using the module_init()
        call to hook itself into the system to instead use one of our
        alternate priority initcalls.
      
        Unlike the previous series that used device_initcall and hence was a
        runtime no-op, these commits change to one of the alternate initcalls,
        because (a) we have them and (b) it seems like the right thing to do.
      
        For example, it would seem logical to use arch_initcall for arch
        specific setup code and fs_initcall for filesystem setup code.
      
        This does mean however, that changes in the init ordering will be
        taking place, and so there is a small risk that some kind of implicit
        init ordering issue may lie uncovered.  But I think it is still better
        to give these ones sensible priorities than to just assign them all to
        device_initcall in order to exactly preserve the old ordering.
      
        Thad said, we have already made similar changes in core kernel code in
        commit c96d6660 ("kernel: audit/fix non-modular users of
        module_init in core code") without any regressions reported, so this
        type of change isn't without precedent.  It has also got the same
        local testing and linux-next coverage as all the other pull requests
        that I'm sending for this merge window have got.
      
        Once again, there is an unused module_exit function removal that shows
        up as an outlier upon casual inspection of the diffstat"
      
      * tag 'module_init-alternate_initcall-v4.1-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:
        x86: perf_event_intel_pt.c: use arch_initcall to hook in enabling
        x86: perf_event_intel_bts.c: use arch_initcall to hook in enabling
        mm/page_owner.c: use late_initcall to hook in enabling
        lib/list_sort: use late_initcall to hook in self tests
        arm: use subsys_initcall in non-modular pl320 IPC code
        powerpc: don't use module_init for non-modular core hugetlb code
        powerpc: use subsys_initcall for Freescale Local Bus
        x86: don't use module_init for non-modular core bootflag code
        netfilter: don't use module_init/exit in core IPV4 code
        fs/notify: don't use module_init for non-modular inotify_user code
        mm: replace module_init usages with subsys_initcall in nommu.c
      9d90f035
    • Linus Torvalds's avatar
      Merge tag 'module_init-device_initcall-v4.1-rc8' of... · 2d440707
      Linus Torvalds authored
      Merge tag 'module_init-device_initcall-v4.1-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux
      
      Pull module_init replacement part one from Paul Gortmaker:
       "Replace module_init with equivalent device_initcall in non modules.
      
        This series of commits converts non-modular code that is using the
        module_init() call to hook itself into the system to instead use
        device_initcall().
      
        The conversion is a runtime no-op, since module_init actually becomes
        __initcall in the non-modular case, and that in turn gets mapped onto
        device_initcall.  A couple files show a larger negative diffstat,
        representing ones that had a module_exit function that we remove here
        vs previously relying on the linker to dispose of it.
      
        We make this conversion now, so that we can relocate module_init from
        init.h into module.h in the future.
      
        The files changed here are just limited to those that would otherwise
        have to add module.h to obviously non-modular code, in order to avoid
        a compile fail, as testing has shown"
      
      * tag 'module_init-device_initcall-v4.1-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:
        MIPS: don't use module_init in non-modular cobalt/mtd.c file
        drivers/leds: don't use module_init in non-modular leds-cobalt-raq.c
        cris: don't use module_init for non-modular core eeprom.c code
        tty/metag_da: Avoid module_init/module_exit in non-modular code
        drivers/clk: don't use module_init in clk-nomadik.c which is non-modular
        xtensa: don't use module_init for non-modular core network.c code
        sh: don't use module_init in non-modular psw.c code
        mn10300: don't use module_init in non-modular flash.c code
        parisc64: don't use module_init for non-modular core perf code
        parisc: don't use module_init for non-modular core pdc_cons code
        cris: don't use module_init for non-modular core intmem.c code
        ia64: don't use module_init in non-modular sim/simscsi.c code
        ia64: don't use module_init for non-modular core kernel/mca.c code
        arm: don't use module_init in non-modular mach-vexpress/spc.c code
        powerpc: don't use module_init in non-modular 83xx suspend code
        powerpc: use device_initcall for registering rtc devices
        x86: don't use module_init in non-modular devicetree.c code
        x86: don't use module_init in non-modular intel_mid_vrtc.c
      2d440707
    • Linus Torvalds's avatar
      Merge tag 'module-implicit-v4.1-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux · 9d86b412
      Linus Torvalds authored
      Pull implicit module.h fixes from Paul Gortmaker:
       "Fix up implicit <module.h> users that will break later.
      
        The files changed here are simply modular source files that are
        implicitly relying on <module.h> being present.  We fix them up now,
        so that we can decouple some of the module related init code from the
        core init code in the future.
      
        The addition of the module.h include to several files here is also a
        no-op from a code generation point of view, else there would already
        be compile issues with these files today.
      
        There may be lots more implicit includes of <module.h> in tree, but
        these are the ones that extensive build test coverage has shown that
        must be fixed in order to avoid build breakage fallout for the pending
        module.h <---> init.h code relocation we desire to complete"
      
      * tag 'module-implicit-v4.1-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:
        frv: add module.h to mb93090-mb00/flash.c to avoid compile fail
        drivers/cpufreq: include <module.h> for modular exynos-cpufreq.c code
        drivers/staging: include <module.h> for modular android tegra_ion code
        crypto/asymmetric_keys: pkcs7_key_type needs module.h
        sh: mach-highlander/psw.c is tristate and should use module.h
        drivers/regulator: include <module.h> for modular max77802 code
        drivers/pcmcia: include <module.h> for modular xxs1500_ss code
        drivers/hsi: include <module.h> for modular omap_ssi code
        drivers/gpu: include <module.h> for modular rockchip code
        drivers/gpio: include <module.h> for modular crystalcove code
        drivers/clk: include <module.h> for clk-max77xxx modular code
      9d86b412
    • Linus Torvalds's avatar
      Merge tag 'cpuinit-v4.1-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux · 47f92418
      Linus Torvalds authored
      Pull __cpuinit removal from Paul Gortmaker:
       "Remove __cpuinit macros and users.
      
        We removed the __cpuinit stuff in 3.11-rc1 with commit 22f0a273
        ("init.h: remove __cpuinit sections from the kernel") but we left some
        no-op stubs as a courtesy to unmerged code.
      
        Here we get rid of the stubs as well, since (as can be seen in these
        changes) they are enabling use cases to sneak back in, primarily from
        older BSP code that has been living out of tree for some time prior to
        getting mainlined.  So we get rid of these "new" users 1st and then
        get rid of the stubs.
      
        Obviously, getting rid of the stubs can't happen until all the users
        are gone, so I had to keep this together as a series, even though some
        of these commits since got picked up into maintainers trees as well.
      
        The nature of this change is such that it should have zero impact on
        the generated runtime.
      
        This is one of several independent cleanup branches aimed at enabling
        better organization in the init.h and module.h code.  They have been
        getting coverage in the linux-next tree for the last month, in
        addition to my local testing, which also covers approximately a half
        dozen or more architectures"
      
      * tag 'cpuinit-v4.1-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:
        init: delete the __cpuinit related stubs
        kernel/cpu.c: remove new instance of __cpuinit that crept back in
        sched/core: remove __cpuinit section tag that crept back in.
        mips/mm/tlbex: remove new instance of __cpuinit that crept back in
        mips/c-r4k: remove legacy __cpuinit section that crept in
        mips/bcm77xx: remove legacy __cpuinit sections that crept in
        mips/ath25: remove legacy __cpuinit section that crept in
        arm/mach-hisi: remove legacy __CPUINIT section that crept in
        arm/mach-rockchip: remove legacy __cpuinit section that crept in
        arm/mach-mvebu: remove legacy __cpuinit sections that crept in
        arm/mach-keystone: remove legacy __cpuinit sections that crept in
      47f92418
    • Jon Derrick's avatar
      NVMe: Fix irq freeing when queue_request_irq fails · 758dd7fd
      Jon Derrick authored
      Fixes an issue when queue_reuest_irq fails in nvme_setup_io_queues. This
      patch initializes all vectors to -1 and resets the vector to -1 in the
      case of a failure in queue_request_irq. This avoids the free_irq in
      nvme_suspend_queue if the queue did not get an irq.
      Signed-off-by: default avatarJon Derrick <jonathan.derrick@intel.com>
      Signed-off-by: default avatarJens Axboe <axboe@fb.com>
      758dd7fd
    • Tejun Heo's avatar
      writeback: don't drain bdi_writeback_congested on bdi destruction · a20135ff
      Tejun Heo authored
      52ebea74 ("writeback: make backing_dev_info host cgroup-specific
      bdi_writebacks") made bdi (backing_dev_info) host per-cgroup wb's
      (bdi_writeback's).  As the congested state needs to be per-wb and
      referenced from blkcg side and multiple wbs, the patch made all
      non-root cong's (bdi_writeback_congested's) reference counted and
      indexed on bdi.
      
      When a bdi is destroyed, cgwb_bdi_destroy() tries to drain all
      non-root cong's; however, this can hang indefinitely because wb's can
      also be referenced from blkcg_gq's which are destroyed after bdi
      destruction is complete.
      
      This patch fixes the bug by updating bdi destruction to not wait for
      cong's to drain.  A cong is unlinked from bdi->cgwb_congested_tree on
      bdi destuction regardless of its reference count as the bdi may go
      away any point after destruction.  wb_congested_put() checks whether
      the cong is already unlinked on release.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Reported-by: default avatarJon Christopherson <jon@jons.org>
      Link: https://bugzilla.kernel.org/show_bug.cgi?id=100681
      Fixes: 52ebea74 ("writeback: make backing_dev_info host cgroup-specific bdi_writebacks")
      Tested-by: default avatarJon Christopherson <jon@jons.org>
      Signed-off-by: default avatarJens Axboe <axboe@fb.com>
      a20135ff
    • Tejun Heo's avatar
      writeback: don't embed root bdi_writeback_congested in bdi_writeback · a13f35e8
      Tejun Heo authored
      52ebea74 ("writeback: make backing_dev_info host cgroup-specific
      bdi_writebacks") made bdi (backing_dev_info) host per-cgroup wb's
      (bdi_writeback's).  As the congested state needs to be per-wb and
      referenced from blkcg side and multiple wbs, the patch made all
      non-root cong's (bdi_writeback_congested's) reference counted and
      indexed on bdi.
      
      When a bdi is destroyed, cgwb_bdi_destroy() tries to drain all
      non-root cong's; however, this can hang indefinitely because wb's can
      also be referenced from blkcg_gq's which are destroyed after bdi
      destruction is complete.
      
      To fix the bug, bdi destruction will be updated to not wait for cong's
      to drain, which naturally means that cong's may outlive the associated
      bdi.  This is fine for non-root cong's but is problematic for the root
      cong's which are embedded in their bdi's as they may end up getting
      dereferenced after the containing bdi's are freed.
      
      This patch makes root cong's behave the same as non-root cong's.  They
      are no longer embedded in their bdi's but allocated separately during
      bdi initialization, indexed and reference counted the same way.
      
      * As cong handling is the same for all wb's, wb->congested
        initialization is moved into wb_init().
      
      * When !CONFIG_CGROUP_WRITEBACK, there was no indexing or refcnting.
        bdi->wb_congested is now a pointer pointing to the root cong
        allocated during bdi init and minimal refcnting operations are
        implemented.
      
      * The above makes root wb init paths diverge depending on
        CONFIG_CGROUP_WRITEBACK.  root wb init is moved to cgwb_bdi_init().
      
      This patch in itself shouldn't cause any consequential behavior
      differences but prepares for the actual fix.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Reported-by: default avatarJon Christopherson <jon@jons.org>
      Link: https://bugzilla.kernel.org/show_bug.cgi?id=100681Tested-by: default avatarJon Christopherson <jon@jons.org>
      
      Added <linux/slab.h> include to backing-dev.h for kfree() definition.
      Signed-off-by: default avatarJens Axboe <axboe@fb.com>
      a13f35e8
    • Tomi Valkeinen's avatar
      OMAPDSS: fix probing if rfbi device is enabled · 0438ec90
      Tomi Valkeinen authored
      After the commit 736e60dd ("OMAPDSS:
      componentize omapdss") the dss core device will wait until all the
      subdevices have been successfully probed. However, we don't have a
      working driver for RFBI, so if RFBI device exists, omapdss will never
      get probed.
      
      All the .dtsi files set RFBI as disabled, except am4372.dtsi. This
      causes omapdss probe to not finish on AM4 devices.
      
      This patch makes omapdss driver skip adding rfbi device as a
      subcomponent, solving the issue.
      
      This should be reverted when we have a working RFBI driver.
      Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
      Reported-by: default avatarFelipe Balbi <balbi@ti.com>
      0438ec90
    • Aaro Koskinen's avatar
      EDAC, octeon: Fix broken build due to model helper renames · 75a15a78
      Aaro Koskinen authored
      Commit
      
        debe6a62 ("MIPS: OCTEON: Update octeon-model.h code for new SoCs.")
      
      renamed some SoC model helper functions, but forgot to update the EDAC
      drivers resulting in build failures. Fix that.
      
      Cc: stable@vger.kernel.org # v4.0+
      Signed-off-by: default avatarAaro Koskinen <aaro.koskinen@nokia.com>
      Acked-by: default avatarDavid Daney <david.daney@cavium.com>
      Cc: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: linux-edac <linux-edac@vger.kernel.org>
      Cc: linux-mips@linux-mips.org
      Link: http://lkml.kernel.org/r/1435747132-10954-1-git-send-email-aaro.koskinen@nokia.comSigned-off-by: default avatarBorislav Petkov <bp@suse.de>
      75a15a78
    • Linus Torvalds's avatar
      Merge tag 'devicetree-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/glikely/linux · 4da3064d
      Linus Torvalds authored
      Pull devicetree updates from Grant Likely:
       "A whole lot of bug fixes.
      
        Nothing stands out here except the ability to enable CONFIG_OF on
        every architecture, and an import of a newer version of dtc"
      
      * tag 'devicetree-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/glikely/linux: (22 commits)
        of/irq: Rename "intc_desc" to "of_intc_desc" to fix OF on sh
        of/irq: Fix pSeries boot failure
        Documentation: DT: Fix a typo in the filename "lantiq,<chip>-pinumx.txt"
        of: define of_find_node_by_phandle for !CONFIG_OF
        of/address: use atomic allocation in pci_register_io_range()
        of: Add vendor prefix for Zodiac Inflight Innovations
        dt/fdt: add empty versions of early_init_dt_*_memory_arch
        of: clean-up unnecessary libfdt include paths
        of: make unittest select OF_EARLY_FLATTREE instead of depend on it
        of: make CONFIG_OF user selectable
        MIPS: prepare for user enabling of CONFIG_OF
        of/fdt: fix argument name and add comments of unflatten_dt_node()
        of: return NUMA_NO_NODE from fallback of_node_to_nid()
        tps6507x.txt: Remove executable permission
        of/overlay: Grammar s/an negative/a negative/
        of/fdt: Make fdt blob input parameters of unflatten functions const
        of: add helper function to retrive match data
        of: Grammar s/property exist/property exists/
        of: Move OF flags to be visible even when !CONFIG_OF
        scripts/dtc: Update to upstream version 9d3649bd3be245c9
        ...
      4da3064d
    • Linus Torvalds's avatar
      Merge git://www.linux-watchdog.org/linux-watchdog · 93899e39
      Linus Torvalds authored
      Pull watchdog updates from Wim Van Sebroeck:
       "This contains:
      
         - new driver for ST's LPC Watchdog
         - new driver for Conexant Digicolor CX92755 SoC
         - new driver for DA9062 watchdog
         - Addition of the watchdog registration deferral mechanism
         - several improvements on omap_wdt
         - several improvements and reboot-support for imgpdc_wdt
         - max63xx_wdt improvements
         - imx2_wdt improvements
         - dw_wdt improvements
         - and other small improvements and fixes"
      
      * git://www.linux-watchdog.org/linux-watchdog: (37 commits)
        watchdog: omap_wdt: early_enable module parameter
        watchdog: gpio_wdt: Add option for early registration
        watchdog: watchdog_core: Add watchdog registration deferral mechanism
        watchdog: max63xx: dynamically allocate device
        watchdog: imx2_wdt: Disable previously acquired clock on error path
        watchdog: imx2_wdt: Check for clk_prepare_enable() error
        watchdog: hpwdt: Add support for WDIOC_SETOPTIONS
        watchdog: docs: omap_wdt also understands nowayout
        watchdog: omap_wdt: implement get_timeleft
        watchdog: da9062: DA9062 watchdog driver
        watchdog: imx2_wdt: set watchdog parent device
        watchdog: mena21_wdt: Fix possible NULL pointer dereference
        watchdog: dw_wdt: keepalive the watchdog at write time
        watchdog: dw_wdt: No need for a spinlock
        watchdog: imx2_wdt: also set wdog->timeout to new_timeout
        watchdog: Allow compile test of GPIO consumers if !GPIOLIB
        watchdog: cadence: Add dependency on HAS_IOMEM
        watchdog: max63xx_wdt: Constify platform_device_id
        watchdog: MAX63XX_WATCHDOG does not depend on ARM
        watchdog: imgpdc: Add some documentation about the timeout
        ...
      93899e39
    • Linus Torvalds's avatar
      Merge tag 'clk-for-linus-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux · 5f1201d5
      Linus Torvalds authored
      Pull clock framework updates from Michael Turquette:
       "The changes to the common clock framework for 4.2 are dominated by new
        drivers and updates to existing ones, as usual.
      
        There are some fixes to the framework itself and several cleanups for
        sparse warnings, etc"
      
      * tag 'clk-for-linus-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (135 commits)
        clk: stm32: Add clock driver for STM32F4[23]xxx devices
        dt-bindings: Document the STM32F4 clock bindings
        cpufreq: exynos: remove Exynos4210 specific cpufreq driver support
        ARM: Exynos: switch to using generic cpufreq driver for Exynos4210
        clk: samsung: exynos4: add cpu clock configuration data and instantiate cpu clock
        clk: samsung: add infrastructure to register cpu clocks
        clk: add CLK_RECALC_NEW_RATES clock flag for Exynos cpu clock support
        doc: dt: add documentation for lpc1850-ccu clk driver
        clk: add lpc18xx ccu clk driver
        doc: dt: add documentation for lpc1850-cgu clk driver
        clk: add lpc18xx cgu clk driver
        clk: keystone: add support for post divider register for main pll
        clk: mvebu: flag the crypto clk as CLK_IGNORE_UNUSED
        clk: cygnus: remove Cygnus dummy clock binding
        clk: cygnus: add clock support for Broadcom Cygnus
        clk: Change bcm clocks build dependency
        clk: iproc: add initial common clock support
        clk: iproc: define Broadcom iProc clock binding
        MAINTAINERS: update email for Michael Turquette
        clk: meson: add some error handling in meson_clk_register_cpu()
        ...
      5f1201d5
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds · 13d45f79
      Linus Torvalds authored
      Pull LED subsystem updates from Bryan Wu:
       "In this cycle, we finished to merge patches for LED Flash class
        driver.
      
        Other than that we have some bug fixes and new drivers for LED
        controllers"
      
      * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds: (33 commits)
        leds:lp55xx: fix firmware loading error
        leds: fix max77693-led build errors
        leds: fix aat1290 build errors
        leds: aat1290: pass flags parameter to devm_gpiod_get
        leds: ktd2692: pass flags parameter to devm_gpiod_get
        drivers/leds: don't use module_init in non-modular leds-cobalt-raq.c
        leds: aat1290: add support for V4L2 Flash sub-device
        DT: aat1290: Document handling external strobe sources
        leds: max77693: add support for V4L2 Flash sub-device
        media: Add registration helpers for V4L2 flash sub-devices
        v4l: async: Add a pointer to of_node to struct v4l2_subdev, match it
        Documentation: leds: Add description of v4l2-flash sub-device
        leds: add BCM6358 LED driver
        leds: add DT binding for BCM6358 LED controller
        leds: fix brightness changing when software blinking is active
        Documentation: leds-lp5523: describe master fader attributes
        leds: lp5523: add master_fader support
        leds: leds-gpio: Allow compile test if !GPIOLIB
        leds: leds-gpio: Add missing #include <linux/of.h>
        gpiolib: Add missing dummies for the unified device properties interface
        ...
      13d45f79
    • Linus Torvalds's avatar
      Merge tag 'platform-drivers-x86-v4.2-1' of... · 05fde26a
      Linus Torvalds authored
      Merge tag 'platform-drivers-x86-v4.2-1' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86
      
      Pull x86 platform driver updates from Darren Hart:
       "Fairly routine update for platform-drivers-x86.
      
        Mostly fixes and cleanups, with a significant refactoring of toshiba*
        drivers.  Includes the addition of the dell-rbtn driver.
      
        Details:
      
        asus-wmi:
         - fan control
      
        dell*:
         - add Dell airplane mode switch driver
      
        ideapad-laptop:
         - platform rfkill fixes, and regression fix
      
        pvpanic:
         - handle missing _STA correctly
      
        toshiba*:
         - rafactor bluetooth support
         - haps documentation
         - driver cleanup
      
        other:
         - Use acpi_video_unregister_backlight instead of
           acpi_video_unregister in serveral drivers.
         - Orphan msi-wmi.
      
      * tag 'platform-drivers-x86-v4.2-1' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86: (24 commits)
        MAINTAINERS: Orphan x86 driver msi-wmi
        ideapad: fix software rfkill setting
        dell-laptop: Use dell-rbtn instead i8042 filter when possible
        dell-rbtn: Export notifier for other kernel modules
        dell-rbtn: Dell Airplane Mode Switch driver
        samsung-laptop: Use acpi_video_unregister_backlight instead of acpi_video_unregister
        asus-wmi: Use acpi_video_unregister_backlight instead of acpi_video_unregister
        apple_gmux: Use acpi_video_unregister_backlight instead of acpi_video_unregister
        pvpanic: handle missing _STA correctly
        ideapad_laptop: Lenovo G50-30 fix rfkill reports wireless blocked
        asus-wmi: add fan control
        Documentation/ABI: Add file describing the sysfs entries for toshiba_haps
        toshiba_haps: Make use of DEVICE_ATTR_{RW, WO} macros
        toshiba_haps: Replace sscanf with kstrtoint
        toshiba_acpi: Bump driver version to 0.22
        toshiba_acpi: Remove TOS_FAILURE check from some functions
        toshiba_acpi: Comments cleanup
        toshiba_acpi: Rename hci_{read, write}1 functions
        toshiba_acpi: Remove no longer needed hci_{read, write}2 functions
        toshiba_bluetooth: Change BT status message to debug
        ...
      05fde26a