1. 03 Dec, 2018 10 commits
    • Paul Gortmaker's avatar
      iommu/arm-smmu: Make arm-smmu-v3 explicitly non-modular · c07b6426
      Paul Gortmaker authored
      The Kconfig currently controlling compilation of this code is:
      
      drivers/iommu/Kconfig:config ARM_SMMU_V3
      drivers/iommu/Kconfig:  bool "ARM Ltd. System MMU Version 3 (SMMUv3) Support"
      
      ...meaning that it currently is not being built as a module by anyone.
      
      Lets remove the modular code that is essentially orphaned, so that
      when reading the driver there is no doubt it is builtin-only.
      
      Since module_platform_driver() uses the same init level priority as
      builtin_platform_driver() the init ordering remains unchanged with
      this commit.
      
      We explicitly disallow a driver unbind, since that doesn't have a
      sensible use case anyway, but unlike most drivers, we can't delete the
      function tied to the ".remove" field.  This is because as of commit
      7aa8619a ("iommu/arm-smmu-v3: Implement shutdown method") the
      .remove function was given a one line wrapper and re-used to provide a
      .shutdown service.  So we delete the wrapper and re-name the function
      from remove to shutdown.
      
      We add a moduleparam.h include since the file does actually declare
      some module parameters, and leaving them as such is the easiest way
      currently to remain backwards compatible with existing use cases.
      
      Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.
      
      We also delete the MODULE_LICENSE tag etc. since all that information
      is already contained at the top of the file in the comments.
      
      Cc: Will Deacon <will.deacon@arm.com>
      Cc: Joerg Roedel <joro@8bytes.org>
      Cc: Robin Murphy <robin.murphy@arm.com>
      Cc: Nate Watterson <nwatters@codeaurora.org>
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: iommu@lists.linux-foundation.org
      Acked-by: default avatarRobin Murphy <robin.murphy@arm.com>
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarJoerg Roedel <jroedel@suse.de>
      c07b6426
    • Paul Gortmaker's avatar
      iommu/arm-smmu: Make arm-smmu explicitly non-modular · addb672f
      Paul Gortmaker authored
      The Kconfig currently controlling compilation of this code is:
      
      drivers/iommu/Kconfig:config ARM_SMMU
      drivers/iommu/Kconfig:  bool "ARM Ltd. System MMU (SMMU) Support"
      
      ...meaning that it currently is not being built as a module by anyone.
      
      Lets remove the modular code that is essentially orphaned, so that
      when reading the driver there is no doubt it is builtin-only.
      
      Since module_platform_driver() uses the same init level priority as
      builtin_platform_driver() the init ordering remains unchanged with
      this commit.
      
      We explicitly disallow a driver unbind, since that doesn't have a
      sensible use case anyway, but unlike most drivers, we can't delete the
      function tied to the ".remove" field.  This is because as of commit
      7aa8619a ("iommu/arm-smmu-v3: Implement shutdown method") the
      .remove function was given a one line wrapper and re-used to provide a
      .shutdown service.  So we delete the wrapper and re-name the function
      from remove to shutdown.
      
      We add a moduleparam.h include since the file does actually declare
      some module parameters, and leaving them as such is the easiest way
      currently to remain backwards compatible with existing use cases.
      
      We also delete the MODULE_LICENSE tag etc. since all that information
      is already contained at the top of the file in the comments.
      
      Cc: Will Deacon <will.deacon@arm.com>
      Cc: Joerg Roedel <joro@8bytes.org>
      Cc: Robin Murphy <robin.murphy@arm.com>
      Cc: Nate Watterson <nwatters@codeaurora.org>
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: iommu@lists.linux-foundation.org
      Acked-by: default avatarRobin Murphy <robin.murphy@arm.com>
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarJoerg Roedel <jroedel@suse.de>
      addb672f
    • Paul Gortmaker's avatar
      iommu/tegra: Make it explicitly non-modular · 39fcbbcc
      Paul Gortmaker authored
      The Kconfig currently controlling compilation of this code is:
      
      drivers/iommu/Kconfig:config TEGRA_IOMMU_GART
      drivers/iommu/Kconfig:  bool "Tegra GART IOMMU Support"
      
      ...meaning that it currently is not being built as a module by anyone.
      
      Lets remove the modular code that is essentially orphaned, so that
      when reading the driver there is no doubt it is builtin-only.
      
      We explicitly disallow a driver unbind, since that doesn't have a
      sensible use case anyway, and it allows us to drop the ".remove"
      code for non-modular drivers.
      
      Since module_init was not in use by this code, the init ordering
      remains unchanged with this commit.
      
      We replace module.h with moduleparam.h since the file does actually
      declare some module_param() and the easiest way to keep back
      compatibility with existing use cases is to leave it as-is for now.
      
      The init function was missing an __init annotation, so it was added.
      
      We also delete the MODULE_LICENSE tag etc. since all that information
      was (or is now) contained at the top of the file in the comments.
      
      Cc: Hiroshi Doyu <hdoyu@nvidia.com>
      Cc: Joerg Roedel <joro@8bytes.org>
      Cc: Stephen Warren <swarren@wwwdotorg.org>
      Cc: Thierry Reding <thierry.reding@gmail.com>
      Cc: Alexandre Courbot <gnurou@gmail.com>
      Cc: iommu@lists.linux-foundation.org
      Cc: linux-tegra@vger.kernel.org
      Acked-by: default avatarThierry Reding <treding@nvidia.com>
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarJoerg Roedel <jroedel@suse.de>
      39fcbbcc
    • Paul Gortmaker's avatar
      iommu/qcom: Make it explicitly non-modular · f295cf26
      Paul Gortmaker authored
      The Kconfig currently controlling compilation of this code is:
      
      drivers/iommu/Kconfig:config MTK_IOMMU_V1
      drivers/iommu/Kconfig:  bool "MTK IOMMU Version 1 (M4U gen1) Support"
      
      ...meaning that it currently is not being built as a module by anyone.
      
      Lets remove the modular code that is essentially orphaned, so that
      when reading the driver there is no doubt it is builtin-only.
      
      Since module_init just becomes device_initcall for non-modules, the
      init ordering remains unchanged with this commit.
      
      Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.
      
      We also delete the MODULE_LICENSE tag etc. since all that information
      was (or is now) contained at the top of the file in the comments.
      
      Cc: Rob Clark <robdclark@gmail.com>
      Cc: Joerg Roedel <joro@8bytes.org>
      Cc: iommu@lists.linux-foundation.org
      Cc: linux-arm-msm@vger.kernel.org
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarJoerg Roedel <jroedel@suse.de>
      f295cf26
    • Paul Gortmaker's avatar
      iommu/ipmmu-vmsa: Make it explicitly non-modular · 8128ac3b
      Paul Gortmaker authored
      The Kconfig currently controlling compilation of this code is:
      
      drivers/iommu/Kconfig:config IPMMU_VMSA
      drivers/iommu/Kconfig:        bool "Renesas VMSA-compatible IPMMU"
      
      ...meaning that it currently is not being built as a module by anyone.
      
      Lets remove the modular code that is essentially orphaned, so that
      when reading the driver there is no doubt it is builtin-only.
      
      Since module_init was not even used by this driver, the init ordering
      remains unchanged with this commit.
      
      We also delete the MODULE_LICENSE tag etc. since all that information
      was (or is now) contained at the top of the file in the comments.
      
      Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.
      
      Cc: Joerg Roedel <joro@8bytes.org>
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: iommu@lists.linux-foundation.org
      Reviewed-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarJoerg Roedel <jroedel@suse.de>
      8128ac3b
    • Paul Gortmaker's avatar
      iommu/mediatek: Make it explicitly non-modular · d4cf5bbd
      Paul Gortmaker authored
      The Kconfig currently controlling compilation of this code is:
      
      drivers/iommu/Kconfig:config MTK_IOMMU_V1
      drivers/iommu/Kconfig:  bool "MTK IOMMU Version 1 (M4U gen1) Support"
      
      ...meaning that it currently is not being built as a module by anyone.
      
      Lets remove the modular code that is essentially orphaned, so that
      when reading the driver there is no doubt it is builtin-only.
      
      Since module_init was not even used by this driver, the init ordering
      remains unchanged with this commit.
      
      We also delete the MODULE_LICENSE tag etc. since all that information
      was (or is now) contained at the top of the file in the comments.
      
      Cc: Joerg Roedel <joro@8bytes.org>
      Cc: Matthias Brugger <matthias.bgg@gmail.com>
      Cc: Honghui Zhang <honghui.zhang@mediatek.com>
      Cc: iommu@lists.linux-foundation.org
      Cc: linux-mediatek@lists.infradead.org
      Acked-by: default avatarHonghui Zhang <honghui.zhang@mediatek.com>
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarJoerg Roedel <jroedel@suse.de>
      d4cf5bbd
    • Paul Gortmaker's avatar
      iommu/msm: Make it explicitly non-modular · a007dd51
      Paul Gortmaker authored
      The Kconfig currently controlling compilation of this code is:
      
      drivers/iommu/Kconfig:config MSM_IOMMU
      drivers/iommu/Kconfig:  bool "MSM IOMMU Support"
      
      ...meaning that it currently is not being built as a module by anyone.
      
      Lets remove the modular code that is essentially orphaned, so that
      when reading the driver there is no doubt it is builtin-only.
      
      Since module_init was not even used by this driver, the init ordering
      remains unchanged with this commit.
      
      We also delete the MODULE_LICENSE tag etc. since all that information
      was (or is now) contained at the top of the file in the comments.
      
      Cc: Joerg Roedel <joro@8bytes.org>
      Cc: Stepan Moskovchenko <stepanm@codeaurora.org>
      Cc: iommu@lists.linux-foundation.org
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarJoerg Roedel <jroedel@suse.de>
      a007dd51
    • Paul Gortmaker's avatar
      iommu/rockchip: Make it explicitly non-modular · 669a047b
      Paul Gortmaker authored
      The Kconfig currently controlling compilation of this code is:
      
      drivers/iommu/Kconfig:config ROCKCHIP_IOMMU
      drivers/iommu/Kconfig:  bool "Rockchip IOMMU Support"
      
      ...meaning that it currently is not being built as a module by anyone.
      
      The bind/unbind/remove was already explicitly disabled in commit
      98b72b94 ("iommu/rockchip: Prohibit unbind and remove").
      
      Lets remove the remaining traces of  modular infrastructure, so that
      when reading the driver there is no doubt it is builtin-only.
      
      Since module_init was not in use by this code, the init ordering
      remains unchanged with this commit.
      
      Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.
      
      We also delete the MODULE_LICENSE tag etc. since all that information
      was (or is now) contained at the top of the file in the comments.
      
      Cc: Joerg Roedel <joro@8bytes.org>
      Cc: Heiko Stuebner <heiko@sntech.de>
      Cc: Simon Xue <xxm@rock-chips.com>
      Cc: Daniel Kurtz <djkurtz@chromium.org>
      Cc: Jeffy Chen <jeffy.chen@rock-chips.com>
      Cc: iommu@lists.linux-foundation.org
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: linux-rockchip@lists.infradead.org
      Acked-by: default avatarHeiko Stuebner <heiko@sntech.de>
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarJoerg Roedel <jroedel@suse.de>
      669a047b
    • Paul Gortmaker's avatar
      iommu: Audit and remove any unnecessary uses of module.h · c1af7b40
      Paul Gortmaker authored
      Historically a lot of these existed because we did not have
      a distinction between what was modular code and what was providing
      support to modules via EXPORT_SYMBOL and friends.  That changed
      when we forked out support for the latter into the export.h file.
      This means we should be able to reduce the usage of module.h
      in code that is obj-y Makefile or bool Kconfig.
      
      The advantage in removing such instances is that module.h itself
      sources about 15 other headers; adding significantly to what we feed
      cpp, and it can obscure what headers we are effectively using.
      
      Since module.h might have been the implicit source for init.h
      (for __init) and for export.h (for EXPORT_SYMBOL) we consider each
      instance for the presence of either and replace as needed.
      
      Cc: Joerg Roedel <joro@8bytes.org>
      Cc: iommu@lists.linux-foundation.org
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarJoerg Roedel <jroedel@suse.de>
      c1af7b40
    • Yangtao Li's avatar
      irq_remapping: Remove unused header files · 753a31a4
      Yangtao Li authored
      seq_file.h does not need to be included,so remove it.
      Signed-off-by: default avatarYangtao Li <tiny.windzz@gmail.com>
      Signed-off-by: default avatarJoerg Roedel <jroedel@suse.de>
      753a31a4
  2. 06 Nov, 2018 1 commit
    • Robin Murphy's avatar
      iommu: Do physical merging in iommu_map_sg() · 5d95f40e
      Robin Murphy authored
      The original motivation for iommu_map_sg() was to give IOMMU drivers the
      chance to map an IOVA-contiguous scatterlist as efficiently as they
      could. It turns out that there isn't really much driver-specific
      business involved there, so now that the default implementation is
      mandatory let's just improve that - the main thing we're after is to use
      larger pages wherever possible, and as long as domain->pgsize_bitmap
      reflects reality, iommu_map() can already do that in a generic way. All
      we need to do is detect physically-contiguous segments and batch them
      into a single map operation, since whatever we do here is transparent to
      our caller and not bound by any segment-length restrictions on the list
      itself.
      
      Speaking of efficiency, there's really very little point in duplicating
      the checks that iommu_map() is going to do anyway, so those get cleared
      up in the process.
      Signed-off-by: default avatarRobin Murphy <robin.murphy@arm.com>
      Signed-off-by: default avatarJoerg Roedel <jroedel@suse.de>
      5d95f40e
  3. 04 Nov, 2018 9 commits
    • Linus Torvalds's avatar
      Linux 4.20-rc1 · 65102238
      Linus Torvalds authored
      65102238
    • Linus Torvalds's avatar
      Merge tag 'tags/upstream-4.20-rc1' of git://git.infradead.org/linux-ubifs · 42bd06e9
      Linus Torvalds authored
      Pull UBIFS updates from Richard Weinberger:
      
       - Full filesystem authentication feature, UBIFS is now able to have the
         whole filesystem structure authenticated plus user data encrypted and
         authenticated.
      
       - Minor cleanups
      
      * tag 'tags/upstream-4.20-rc1' of git://git.infradead.org/linux-ubifs: (26 commits)
        ubifs: Remove unneeded semicolon
        Documentation: ubifs: Add authentication whitepaper
        ubifs: Enable authentication support
        ubifs: Do not update inode size in-place in authenticated mode
        ubifs: Add hashes and HMACs to default filesystem
        ubifs: authentication: Authenticate super block node
        ubifs: Create hash for default LPT
        ubfis: authentication: Authenticate master node
        ubifs: authentication: Authenticate LPT
        ubifs: Authenticate replayed journal
        ubifs: Add auth nodes to garbage collector journal head
        ubifs: Add authentication nodes to journal
        ubifs: authentication: Add hashes to index nodes
        ubifs: Add hashes to the tree node cache
        ubifs: Create functions to embed a HMAC in a node
        ubifs: Add helper functions for authentication support
        ubifs: Add separate functions to init/crc a node
        ubifs: Format changes for authentication support
        ubifs: Store read superblock node
        ubifs: Drop write_node
        ...
      42bd06e9
    • Linus Torvalds's avatar
      Merge tag 'nfs-for-4.20-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs · 4710e789
      Linus Torvalds authored
      Pull NFS client bugfixes from Trond Myklebust:
       "Highlights include:
      
        Bugfix:
         - Fix build issues on architectures that don't provide 64-bit cmpxchg
      
        Cleanups:
         - Fix a spelling mistake"
      
      * tag 'nfs-for-4.20-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
        NFS: fix spelling mistake, EACCESS -> EACCES
        SUNRPC: Use atomic(64)_t for seq_send(64)
      4710e789
    • Linus Torvalds's avatar
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 35e74524
      Linus Torvalds authored
      Pull more timer updates from Thomas Gleixner:
       "A set of commits for the new C-SKY architecture timers"
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        dt-bindings: timer: gx6605s SOC timer
        clocksource/drivers/c-sky: Add gx6605s SOC system timer
        dt-bindings: timer: C-SKY Multi-processor timer
        clocksource/drivers/c-sky: Add C-SKY SMP timer
      35e74524
    • Linus Torvalds's avatar
      Merge tag 'ntb-4.20' of git://github.com/jonmason/ntb · 04578e84
      Linus Torvalds authored
      Pull NTB updates from Jon Mason:
       "Fairly minor changes and bug fixes:
      
        NTB IDT thermal changes and hook into hwmon, ntb_netdev clean-up of
        private struct, and a few bug fixes"
      
      * tag 'ntb-4.20' of git://github.com/jonmason/ntb:
        ntb: idt: Alter the driver info comments
        ntb: idt: Discard temperature sensor IRQ handler
        ntb: idt: Add basic hwmon sysfs interface
        ntb: idt: Alter temperature read method
        ntb_netdev: Simplify remove with client device drvdata
        NTB: transport: Try harder to alloc an aligned MW buffer
        ntb: ntb_transport: Mark expected switch fall-throughs
        ntb: idt: Set PCIe bus address to BARLIMITx
        NTB: ntb_hw_idt: replace IS_ERR_OR_NULL with regular NULL checks
        ntb: intel: fix return value for ndev_vec_mask()
        ntb_netdev: fix sleep time mismatch
      04578e84
    • Linus Torvalds's avatar
      Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 71e56028
      Linus Torvalds authored
      Pull scheduler fixes from Ingo Molnar:
       "A memory (under-)allocation fix and a comment fix"
      
      * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/topology: Fix off by one bug
        sched/rt: Update comment in pick_next_task_rt()
      71e56028
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 601a8807
      Linus Torvalds authored
      Pull x86 fixes from Ingo Molnar:
       "A number of fixes and some late updates:
      
         - make in_compat_syscall() behavior on x86-32 similar to other
           platforms, this touches a number of generic files but is not
           intended to impact non-x86 platforms.
      
         - objtool fixes
      
         - PAT preemption fix
      
         - paravirt fixes/cleanups
      
         - cpufeatures updates for new instructions
      
         - earlyprintk quirk
      
         - make microcode version in sysfs world-readable (it is already
           world-readable in procfs)
      
         - minor cleanups and fixes"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        compat: Cleanup in_compat_syscall() callers
        x86/compat: Adjust in_compat_syscall() to generic code under !COMPAT
        objtool: Support GCC 9 cold subfunction naming scheme
        x86/numa_emulation: Fix uniform-split numa emulation
        x86/paravirt: Remove unused _paravirt_ident_32
        x86/mm/pat: Disable preemption around __flush_tlb_all()
        x86/paravirt: Remove GPL from pv_ops export
        x86/traps: Use format string with panic() call
        x86: Clean up 'sizeof x' => 'sizeof(x)'
        x86/cpufeatures: Enumerate MOVDIR64B instruction
        x86/cpufeatures: Enumerate MOVDIRI instruction
        x86/earlyprintk: Add a force option for pciserial device
        objtool: Support per-function rodata sections
        x86/microcode: Make revision and processor flags world-readable
      601a8807
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 01897f3e
      Linus Torvalds authored
      Pull perf updates and fixes from Ingo Molnar:
       "These are almost all tooling updates: 'perf top', 'perf trace' and
        'perf script' fixes and updates, an UAPI header sync with the merge
        window versions, license marker updates, much improved Sparc support
        from David Miller, and a number of fixes"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (66 commits)
        perf intel-pt/bts: Calculate cpumode for synthesized samples
        perf intel-pt: Insert callchain context into synthesized callchains
        perf tools: Don't clone maps from parent when synthesizing forks
        perf top: Start display thread earlier
        tools headers uapi: Update linux/if_link.h header copy
        tools headers uapi: Update linux/netlink.h header copy
        tools headers: Sync the various kvm.h header copies
        tools include uapi: Update linux/mmap.h copy
        perf trace beauty: Use the mmap flags table generated from headers
        perf beauty: Wire up the mmap flags table generator to the Makefile
        perf beauty: Add a generator for MAP_ mmap's flag constants
        tools include uapi: Update asound.h copy
        tools arch uapi: Update asm-generic/unistd.h and arm64 unistd.h copies
        tools include uapi: Update linux/fs.h copy
        perf callchain: Honour the ordering of PERF_CONTEXT_{USER,KERNEL,etc}
        perf cs-etm: Correct CPU mode for samples
        perf unwind: Take pgoff into account when reporting elf to libdwfl
        perf top: Do not use overwrite mode by default
        perf top: Allow disabling the overwrite mode
        perf trace: Beautify mount's first pathname arg
        ...
      01897f3e
    • Linus Torvalds's avatar
      Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e9ebc215
      Linus Torvalds authored
      Pull irq fixes from Ingo Molnar:
       "An irqchip driver fix and a memory (over-)allocation fix"
      
      * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        irqchip/irq-mvebu-sei: Fix a NULL vs IS_ERR() bug in probe function
        irq/matrix: Fix memory overallocation
      e9ebc215
  4. 03 Nov, 2018 20 commits