1. 04 7月, 2015 8 次提交
  2. 03 7月, 2015 27 次提交
    • F
      hwmon: (w83627ehf) Use swap() in w82627ehf_swap_tempreg() · ffe3df53
      Fabian Frederick 提交于
      Use kernel.h macro definition.
      
      Thanks to Julia Lawall for Coccinelle scripting support.
      Signed-off-by: NFabian Frederick <fabf@skynet.be>
      Signed-off-by: NJean Delvare <jdelvare@suse.de>
      ffe3df53
    • J
      hwmon: Document which I2C addresses can be probed · 97607f98
      Jean Delvare 提交于
      Add an item to the checklist when submitting a new hwmon driver: only
      some I2C addresses can be probed, others should not for safety
      reasons.
      Signed-off-by: NJean Delvare <jdelvare@suse.de>
      Reviewed-by: NGuenter Roeck <linux@roeck-us.net>
      97607f98
    • R
      hwmon: (w83792d) Additional PWM outputs support · f617f731
      Roger Lucas 提交于
      Add pwm[4-7] and the associated pwm[4-7]_mode attributes.
      Signed-off-by: NRoger Lucas <vt8231@hiddenengine.co.uk>
      Signed-off-by: NJean Delvare <jdelvare@suse.de>
      f617f731
    • H
      ARM64 / SMP: Switch pr_err() to pr_debug() for disabled GICC entry · f9058929
      Hanjun Guo 提交于
      It is normal that firmware presents GICC entry or entries (processors)
      with disabled flag in ACPI MADT, taking a system of 16 cpus for example,
      ACPI firmware may present 8 ebabled first with another 8 cpus disabled
      in MADT, the disabled cpus can be hot-added later.
      
      Firmware may also present more cpus than the hardware actually has, but
      disabled the unused ones, and easily enable it when the hardware has such
      cpus to make the firmware code scalable.
      
      So that's not an error for disabled cpus in MADT, we can switch pr_err()
      to pr_debug() to make the boot a little quieter by default.
      
      Since hwid for disabled cpus often are invalid, and we check invalid hwid
      first in the code, for use case that hot add cpus later will be filtered
      out and will not be counted in possible cups, so move this check before
      the hwid one to prepare the code to count for disabeld cpus when cpu
      hot-plug is introduced.
      Signed-off-by: NHanjun Guo <hanjun.guo@linaro.org>
      Reviewed-by: NAl Stone <ahs3@redhat.com>
      Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>
      f9058929
    • L
      Merge tag 'acpica-4.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 9bdc771f
      Linus Torvalds 提交于
      Pull ACPICA updates from Rafael Wysocki:
       "Additional ACPICA material for v4.2-rc1
      
        This will update the ACPICA code in the kernel to upstream revision
        20150619 (a bug-fix release mostly including stable-candidate fixes)
        and restore an earlier ACPICA commit that had to be reverted due to a
        regression introduced by it (the regression is addressed by
        blacklisting the only known system affected by it to date).
      
        The only new feature added by this update is the support for
        overriding objects in the ACPI namespace and a new ACPI table that can
        be used for that called the Override System Definition Table (OSDT).
        That should allow us to "patch" the ACPI namespace built from
        incomplete or incorrect ACPI System Definition tables (DSDT, SSDT)
        during system startup without the need to provide replacements for all
        of those tables in the future.
      
        Specifics:
      
         - Fix system resume problems related to 32-bit and 64-bit versions of
           the Firmware ACPI Control Structure (FACS) in the firmare (Lv
           Zheng)
      
         - Fix double initialization of the FACS (Lv Zheng)
      
         - Add _CLS object processing code to ACPICA (Suravee Suthikulpanit)
      
         - Add support for the (currently missing) new GIC version field in
           the Multiple APIC Description Table (MADT) (Hanjun Guo)
      
         - Add support for overriding objects in the ACPI namespace to ACPICA
           and OSDT support (Lv Zheng, Bob Moore, Zhang Rui)
      
         - Updates related to the TCPA and TPM2 ACPI tables (Bob Moore)
      
         - Restore the commit modifying _REV to always return "2" (as required
           by ACPI 6) and add a blacklisting mechanism for systems that may be
           affected by that change (Rafael J Wysocki)
      
         - Assorted fixes and cleanups (Bob Moore, Lv Zheng, Sascha Wildner)"
      
      * tag 'acpica-4.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (28 commits)
        Revert 'Revert "ACPICA: Permanently set _REV to the value '2'."'
        ACPI / init: Make it possible to override _REV
        ACPICA: Update version to 20150619
        ACPICA: Comment update, no functional change
        ACPICA: Update TPM2 ACPI table
        ACPICA: Update definitions for the TCPA and TPM2 ACPI tables
        ACPICA: Split C library prototypes to new header
        ACPICA: De-macroize calls to standard C library functions
        ACPI / acpidump: Update acpidump manual
        ACPICA: acpidump: Convert the default behavior to dump from /sys/firmware/acpi/tables
        ACPICA: acpidump: Allow customized tables to be dumped without accessing /dev/mem
        ACPICA: Cleanup output for the ASL Debug object
        ACPICA: Update for acpi_install_table memory types
        ACPICA: Namespace: Change namespace override to avoid node deletion
        ACPICA: Namespace: Add support of OSDT table
        ACPICA: Namespace: Add support to allow overriding objects
        ACPICA: ACPI 6.0: Add values for MADT GIC version field
        ACPICA: Utilities: Add _CLS processing
        ACPICA: Add dragon_fly support to unix file mapping file
        ACPICA: EFI: Add EFI interface definitions to eliminate dependency of GNU EFI
        ...
      9bdc771f
    • L
      make certificate list change message more useful · 7df9ab84
      Linus Torvalds 提交于
      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: NLinus Torvalds <torvalds@linux-foundation.org>
      7df9ab84
    • R
      Revert 'Revert "ACPICA: Permanently set _REV to the value '2'."' · ea7d5215
      Rafael J. Wysocki 提交于
      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: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      ea7d5215
    • R
      ACPI / init: Make it possible to override _REV · 18d78b64
      Rafael J. Wysocki 提交于
      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: NDominik Brodowski <linux@dominikbrodowski.net>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      18d78b64
    • L
      Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild · e965b8ce
      Linus Torvalds 提交于
      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
    • L
      Merge branch 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild · a95cb3cd
      Linus Torvalds 提交于
      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
    • L
      Merge tag 'hwmon-for-linus-v4.2-rc1' of... · 19127af9
      Linus Torvalds 提交于
      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
    • L
      Merge tag 'please-pull-put_kernel_page' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux · 799b63a4
      Linus Torvalds 提交于
      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
    • L
      Merge tag 'armsoc-late' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · d4113f2f
      Linus Torvalds 提交于
      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
    • L
      Merge branch 'drm-next-4.2' of git://people.freedesktop.org/~agd5f/linux · 84807727
      Linus Torvalds 提交于
      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
    • L
      Merge tag 'drm-intel-next-fixes-2015-07-02' of git://anongit.freedesktop.org/drm-intel · c021bf1e
      Linus Torvalds 提交于
      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
    • T
      [IA64] Drop debug test/printk that some special pages are marked reserved · 43c518d1
      Tony Luck 提交于
      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: NTony Luck <tony.luck@intel.com>
      43c518d1
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client · 0c76c6ba
      Linus Torvalds 提交于
      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
    • L
      Merge tag 'nfs-for-4.2-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs · 8688d954
      Linus Torvalds 提交于
      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
    • L
      Merge branch 'overlayfs-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs · 320cd413
      Linus Torvalds 提交于
      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
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse · a7ba4bf5
      Linus Torvalds 提交于
      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
    • L
      Merge tag 'module-misc-v4.1-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux · a611fb75
      Linus Torvalds 提交于
      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
    • L
      Merge tag 'module-builtin_driver-v4.1-rc8' of... · 75462c8a
      Linus Torvalds 提交于
      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
    • L
      Merge tag 'module_init-alternate_initcall-v4.1-rc8' of... · 9d90f035
      Linus Torvalds 提交于
      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
    • L
      Merge tag 'module_init-device_initcall-v4.1-rc8' of... · 2d440707
      Linus Torvalds 提交于
      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
    • L
      Merge tag 'module-implicit-v4.1-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux · 9d86b412
      Linus Torvalds 提交于
      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
    • L
      Merge tag 'cpuinit-v4.1-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux · 47f92418
      Linus Torvalds 提交于
      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
    • J
      arm64: cpuidle: add __init section marker to arm_cpuidle_init · ea389daa
      Jisheng Zhang 提交于
      It is not needed after booting, this patch moves the arm_cpuidle_init()
      function to the __init section.
      Signed-off-by: NJisheng Zhang <jszhang@marvell.com>
      Reviewed-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>
      ea389daa
  3. 02 7月, 2015 5 次提交
    • J
      NVMe: Fix irq freeing when queue_request_irq fails · 758dd7fd
      Jon Derrick 提交于
      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: NJon Derrick <jonathan.derrick@intel.com>
      Signed-off-by: NJens Axboe <axboe@fb.com>
      758dd7fd
    • T
      writeback: don't drain bdi_writeback_congested on bdi destruction · a20135ff
      Tejun Heo 提交于
      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: NTejun Heo <tj@kernel.org>
      Reported-by: NJon 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: NJon Christopherson <jon@jons.org>
      Signed-off-by: NJens Axboe <axboe@fb.com>
      a20135ff
    • T
      writeback: don't embed root bdi_writeback_congested in bdi_writeback · a13f35e8
      Tejun Heo 提交于
      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: NTejun Heo <tj@kernel.org>
      Reported-by: NJon Christopherson <jon@jons.org>
      Link: https://bugzilla.kernel.org/show_bug.cgi?id=100681Tested-by: NJon Christopherson <jon@jons.org>
      
      Added <linux/slab.h> include to backing-dev.h for kfree() definition.
      Signed-off-by: NJens Axboe <axboe@fb.com>
      a13f35e8
    • T
      OMAPDSS: fix probing if rfbi device is enabled · 0438ec90
      Tomi Valkeinen 提交于
      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: NTomi Valkeinen <tomi.valkeinen@ti.com>
      Reported-by: NFelipe Balbi <balbi@ti.com>
      0438ec90
    • A
      EDAC, octeon: Fix broken build due to model helper renames · 75a15a78
      Aaro Koskinen 提交于
      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: NAaro Koskinen <aaro.koskinen@nokia.com>
      Acked-by: NDavid 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: NBorislav Petkov <bp@suse.de>
      75a15a78