Skip to content
  1. Nov 19, 2014
    • Arnd Bergmann's avatar
      ARM64: use GENERIC_PCI_IOMAP · cb61f676
      Arnd Bergmann authored
      
      
      Patch 09a57239 ("arm64: Use include/asm-generic/io.h") correctly
      removed the GENERIC_IOMAP selection from ARM64, which is not needed
      on architectures that have memory-mapped PCI I/O space, however
      we now lack a pci_iomap() function.
      
      Fortunately, there is already a generic implementation for this
      case, so we just need to select GENERIC_PCI_IOMAP to make it all
      work.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Fixes: 09a57239 ("arm64: Use include/asm-generic/io.h")
      cb61f676
    • Arnd Bergmann's avatar
      sparc: io: remove duplicate relaxed accessors on sparc32 · 7c3969c3
      Arnd Bergmann authored
      
      
      Commit 1191ccb3 ("sparc: io: implement dummy relaxed accessor
      macros for writes") added the relaxed accessors (readl_relaxed etc) in
      a file that is shared between sparc32 and sparc64. However, the earlier
      e1039fb4 ("sparc32: introduce asm-generic/io.h") had already changed
      the sparc32 implementation to use asm-generic/io.h, which provides the
      same macros, resulting in lots of build errors.
      
      This moves the definitions from the shared sparc file into the
      sparc64-only file to fix the sparc32 build regression.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Reported-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
      Fixes: 1191ccb3 ("sparc: io: implement dummy relaxed accessor macros for writes")
      7c3969c3
  2. Nov 11, 2014
    • Arnd Bergmann's avatar
      Merge branch 'io' of git://git.kernel.org/pub/scm/linux/kernel/git/will/linux into asm-generic · 1c8d2969
      Arnd Bergmann authored
      * 'io' of git://git.kernel.org/pub/scm/linux/kernel/git/will/linux
      
      :
        documentation: memory-barriers: clarify relaxed io accessor semantics
        x86: io: implement dummy relaxed accessor macros for writes
        tile: io: implement dummy relaxed accessor macros for writes
        sparc: io: implement dummy relaxed accessor macros for writes
        powerpc: io: implement dummy relaxed accessor macros for writes
        parisc: io: implement dummy relaxed accessor macros for writes
        mn10300: io: implement dummy relaxed accessor macros for writes
        m68k: io: implement dummy relaxed accessor macros for writes
        m32r: io: implement dummy relaxed accessor macros for writes
        ia64: io: implement dummy relaxed accessor macros for writes
        cris: io: implement dummy relaxed accessor macros for writes
        frv: io: implement dummy relaxed accessor macros for writes
        xtensa: io: remove dummy relaxed accessor macros for reads
        s390: io: remove dummy relaxed accessor macros for reads
        microblaze: io: remove dummy relaxed accessor macros
        asm-generic: io: implement relaxed accessor macros as conditional wrappers
      
      Conflicts:
      	include/asm-generic/io.h
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      1c8d2969
    • Thierry Reding's avatar
      ARM: sa11x0: Use void __iomem * in MMIO accessors · 3ba5acf3
      Thierry Reding authored
      
      
      MMIO accessors such as readl() and writel() want a void __iomem * for
      the address. Update the BSE nanoEngine PCI driver to pass such pointers
      instead of unsigned long in preparation to converting ARM to use generic
      and more rigidly typed accessors.
      
      Reported-by: default avatarkbuild test robot <fengguang.wu@intel.com>
      Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      3ba5acf3
  3. Nov 10, 2014
    • Arnd Bergmann's avatar
      Merge branch 'asm-generic-io' of https://github.com/thierryreding/linux into asm-generic · 1d0eeac7
      Arnd Bergmann authored
      Pull asm-generic/io.h overhaul from Thierry Reding
      
      * 'asm-generic-io' of https://github.com/thierryreding/linux
      
      :
        arm64: Use include/asm-generic/io.h
        ARM: Use include/asm-generic/io.h
        asm-generic/io.h: Implement generic {read,write}s*()
        asm-generic/io.h: Reconcile I/O accessor overrides
        /dev/mem: Use more consistent data types
        Change xlate_dev_{kmem,mem}_ptr() prototypes
        ARM: ixp4xx: Properly override I/O accessors
        ARM: ixp4xx: Fix build with IXP4XX_INDIRECT_PCI
        ARM: ebsa110: Properly override I/O accessors
        ARC: Remove redundant PCI_IOBASE declaration
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      1d0eeac7
    • Thierry Reding's avatar
      arm64: Use include/asm-generic/io.h · 09a57239
      Thierry Reding authored
      
      
      Include the generic I/O header file so that duplicate implementations
      can be removed. This will also help to establish consistency across more
      architectures regarding which accessors they support.
      
      Acked-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
      09a57239
    • Thierry Reding's avatar
      ARM: Use include/asm-generic/io.h · 84c4d3a6
      Thierry Reding authored
      
      
      Include the generic I/O header file so that duplicate implementations
      can be removed. This will also help to establish consistency across more
      architectures regarding which accessors they support.
      
      Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
      84c4d3a6
    • Thierry Reding's avatar
      asm-generic/io.h: Implement generic {read,write}s*() · 9ab3a7a0
      Thierry Reding authored
      
      
      Currently driver writers need to use io{read,write}{8,16,32}_rep() when
      accessing FIFO registers portably. This is bad for two reasons: it is
      inconsistent with how other registers are accessed using the standard
      {read,write}{b,w,l}() functions, which can lead to confusion. On some
      architectures the io{read,write}*() functions also need to perform some
      extra checks to determine whether an address is memory-mapped or refers
      to I/O space. Drivers which can be expected to never use I/O can safely
      use the {read,write}s{b,w,l,q}(), just like they use their non-string
      variants and there's no need for these extra checks.
      
      This patch implements generic versions of readsb(), readsw(), readsl(),
      readsq(), writesb(), writesw(), writesl() and writesq(). Variants of
      these string functions for I/O accesses (ins*() and outs*() as well as
      ioread*_rep() and iowrite*_rep()) are now implemented in terms of the
      new functions.
      
      Going forward, {read,write}{,s}{b,w,l,q}() should be used consistently
      by drivers for devices that will only ever be memory-mapped and hence
      don't need to access I/O space, whereas io{read,write}{8,16,32}_rep()
      should be used by drivers for devices that can be either memory-mapped
      or I/O-mapped.
      
      Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
      9ab3a7a0
    • Thierry Reding's avatar
      asm-generic/io.h: Reconcile I/O accessor overrides · 9216efaf
      Thierry Reding authored
      
      
      Overriding I/O accessors and helpers is currently very inconsistent.
      This commit introduces a homogeneous way to override functions by
      checking for the existence of a macro with the same of the function.
      Architectures can provide their own implementations and communicate this
      to the generic header by defining the appropriate macro. Doing this will
      also help prevent the implementations from being subsequently
      overridden.
      
      While at it, also turn a lot of macros into static inline functions for
      better type checking and to provide a canonical signature for overriding
      architectures to copy. Also reorder functions by logical groups.
      
      Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
      9216efaf
    • Thierry Reding's avatar
      /dev/mem: Use more consistent data types · 4707a341
      Thierry Reding authored
      
      
      The xlate_dev_{kmem,mem}_ptr() functions take either a physical address
      or a kernel virtual address, so data types should be phys_addr_t and
      void *. They both return a kernel virtual address which is only ever
      used in calls to copy_{from,to}_user(), so make variables that store it
      void * rather than char * for consistency.
      
      Also only define a weak unxlate_dev_mem_ptr() function if architectures
      haven't overridden them in the asm/io.h header file.
      
      Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
      4707a341
    • Thierry Reding's avatar
      Change xlate_dev_{kmem,mem}_ptr() prototypes · dc012014
      Thierry Reding authored
      
      
      xlate_dev_mem_ptr() is used to convert a physical address to an uncached
      kernel virtual address mapping, so make it use phys_addr_t as type for
      the physical address and return void * for the kernel virtual address.
      
      xlate_dev_kmem_ptr() converts a cached kernel virtual address mapping to
      an uncached kernel virtual address mapping, so make it use void * for
      both the input parameter and return value.
      
      Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
      dc012014
    • Thierry Reding's avatar
      ARM: ixp4xx: Properly override I/O accessors · 2e0fa0c9
      Thierry Reding authored
      
      
      In order to override accessors properly they must be #define'd so that
      subsequent generic headers (the one for ARM and finally the architecture
      independent one) can properly detect it.
      
      Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
      2e0fa0c9
    • Arnd Bergmann's avatar
      ARM: ixp4xx: Fix build with IXP4XX_INDIRECT_PCI · e43b21cb
      Arnd Bergmann authored
      
      
      Provide *_relaxed() accessors and make sure to pass the volatile void
      __iomem * to accessors rather than the value cast to a u32. This allows
      ixp4xx to build with IXP4XX_INDIRECT_PCI enabled.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
      e43b21cb
    • Thierry Reding's avatar
      ARM: ebsa110: Properly override I/O accessors · 2cd0f559
      Thierry Reding authored
      
      
      In order to override accessors properly they must be #define'd so that
      subsequent generic headers (the one for ARM and finally the architecture
      independent one) can properly detect it.
      
      While at it, make all accessors use volatile void __iomem * to avoid a
      slew of build warnings.
      
      Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
      2cd0f559
    • Thierry Reding's avatar
      ARC: Remove redundant PCI_IOBASE declaration · bfb111ec
      Thierry Reding authored
      
      
      ARC's asm/io.h includes the asm-generic/io.h which already defines the
      PCI_IOBASE variable in exactly the same way, so it can be dropped from
      the architecture specific header.
      
      Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
      bfb111ec
  4. Oct 20, 2014
  5. Oct 19, 2014
    • Linus Torvalds's avatar
      Merge git://git.infradead.org/users/eparis/audit · ab074ade
      Linus Torvalds authored
      Pull audit updates from Eric Paris:
       "So this change across a whole bunch of arches really solves one basic
        problem.  We want to audit when seccomp is killing a process.  seccomp
        hooks in before the audit syscall entry code.  audit_syscall_entry
        took as an argument the arch of the given syscall.  Since the arch is
        part of what makes a syscall number meaningful it's an important part
        of the record, but it isn't available when seccomp shoots the
        syscall...
      
        For most arch's we have a better way to get the arch (syscall_get_arch)
        So the solution was two fold: Implement syscall_get_arch() everywhere
        there is audit which didn't have it.  Use syscall_get_arch() in the
        seccomp audit code.  Having syscall_get_arch() everywhere meant it was
        a useless flag on the stack and we could get rid of it for the typical
        syscall entry.
      
        The other changes inside the audit system aren't grand, fixed some
        records that had invalid spaces.  Better locking around the task comm
        field.  Removing some dead functions and structs.  Make some things
        static.  Really minor stuff"
      
      * git://git.infradead.org/users/eparis/audit: (31 commits)
        audit: rename audit_log_remove_rule to disambiguate for trees
        audit: cull redundancy in audit_rule_change
        audit: WARN if audit_rule_change called illegally
        audit: put rule existence check in canonical order
        next: openrisc: Fix build
        audit: get comm using lock to avoid race in string printing
        audit: remove open_arg() function that is never used
        audit: correct AUDIT_GET_FEATURE return message type
        audit: set nlmsg_len for multicast messages.
        audit: use union for audit_field values since they are mutually exclusive
        audit: invalid op= values for rules
        audit: use atomic_t to simplify audit_serial()
        kernel/audit.c: use ARRAY_SIZE instead of sizeof/sizeof[0]
        audit: reduce scope of audit_log_fcaps
        audit: reduce scope of audit_net_id
        audit: arm64: Remove the audit arch argument to audit_syscall_entry
        arm64: audit: Add audit hook in syscall_trace_enter/exit()
        audit: x86: drop arch from __audit_syscall_entry() interface
        sparc: implement is_32bit_task
        sparc: properly conditionalize use of TIF_32BIT
        ...
      ab074ade
    • Olof Johansson's avatar
      Merge tag 'qcom-dt-for-3.18-3' of... · 57764512
      Olof Johansson authored
      Merge tag 'qcom-dt-for-3.18-3' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom into fixes
      
      Merge "qcom DT changes for v3.18-3" from Kumar Gala:
      
      Qualcomm ARM Based Device Tree Updates for v3.18-3
      
      * Added Board support for CM-QS600 and Sony Xperia Z1 phone
      * Added SATA support on IPQ8064/AP148
      
      * tag 'qcom-dt-for-3.18-3' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom:
        ARM: dts: qcom: add CM-QS600 board
        ARM: dts: qcom: Add initial DTS file for Sony Xperia Z1 phone
        ARM: dts: qcom: Add SATA support on IPQ8064/AP148
      57764512
    • Olof Johansson's avatar
      Merge tag 'samsung-fixes-2' of... · e29c6486
      Olof Johansson authored
      Merge tag 'samsung-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into fixes
      
      Pull more fixes from Kukjin Kim:
      
      2nd Samsung fixes for v3.18
      - Explicitly set dr_mode on exynos5800-peach-pi, exynos5420-peach-pit
        and exynos5420-arndale-octa boards, because the USB dwc3 controller
        will not work properly without dr_mode as host on above boards if
        the USB host and gadget are enabled in kernel configuration both.
      
      * tag 'samsung-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung
      
      :
        ARM: dts: Explicitly set dr_mode on exynos5420-arndale-octa
        ARM: dts: Explicitly set dr_mode on exynos Peach boards
      
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      e29c6486
    • Scott Branden's avatar
      MAINTAINERS: corrected bcm2835 search · 9209bec4
      Scott Branden authored
      
      
      Corrected bcm2835 maintainer info by using N: to specify any files with
      bcm2835 in are directed to the proper maintainer.
      Also corrected minor mispelling of ARCHITECTURE in 2 comment locations.
      
      Signed-off-by: default avatarScott Branden <sbranden@broadcom.com>
      Signed-off-by: default avatarStephen Warren <swarren@wwwdotorg.org>
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      9209bec4
    • Linus Torvalds's avatar
      Merge tag 'ntb-3.18' of git://github.com/jonmason/ntb · 61ed53de
      Linus Torvalds authored
      Pull ntb (non-transparent bridge) updates from Jon Mason:
       "Add support for Haswell NTB split BARs, a debugfs entry for basic
        debugging info, and some code clean-ups"
      
      * tag 'ntb-3.18' of git://github.com/jonmason/ntb:
        ntb: Adding split BAR support for Haswell platforms
        ntb: use errata flag set via DID to implement workaround
        ntb: conslidate reading of PPD to move platform detection earlier
        ntb: move platform detection to separate function
        NTB: debugfs device entry
      61ed53de
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 278f1d07
      Linus Torvalds authored
      Pull i2c updates from Wolfram Sang:
       "Highlights from the I2C subsystem for 3.18:
      
         - new drivers for Axxia AM55xx, and Hisilicon hix5hd2 SoC.
      
         - designware driver gained AMD support, exynos gained exynos7 support
      
        The rest is usual driver stuff.  Hopefully no lowlights this time"
      
      * 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        i2c: i801: Add Device IDs for Intel Sunrise Point PCH
        i2c: hix5hd2: add i2c controller driver
        i2c-imx: Disable the clock on probe failure
        i2c: designware: Add support for AMD I2C controller
        i2c: designware: Rework probe() to get clock a bit later
        i2c: designware: Default to fast mode in case of ACPI
        i2c: axxia: Add I2C driver for AXM55xx
        i2c: exynos: add support for HSI2C module on Exynos7
        i2c: mxs: detect No Slave Ack on SELECT in PIO mode
        i2c: cros_ec: Remove EC_I2C_FLAG_10BIT
        i2c: cros-ec-tunnel: Add of match table
        i2c: rcar: remove sign-compare flaw
        i2c: ismt: Use minimum descriptor size
        i2c: imx: Add arbitration lost check
        i2c: rk3x: Remove unlikely() annotations
        i2c: rcar: check for no IRQ in rcar_i2c_irq()
        i2c: rcar: make rcar_i2c_prepare_msg() *void*
        i2c: rcar: simplify check for last message
        i2c: designware: add support of platform data to set I2C mode
        i2c: designware: add support of I2C standard mode
      278f1d07
    • Linus Torvalds's avatar
      Merge tag 'sound-fix-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · d590c6cd
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "Here are a collection of small fixes after 3.18 merge.
      
        The urgent one is the fix for kernel panics with linked PCM substream
        triggered by the recent nonatomic PCM ops support.  Other two fixes
        (emu10k1 and bebob) are stable fixes, and one easy PCI ID addition for
        a new Intel HD-audio controller"
      
      * tag 'sound-fix-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: hda_intel: Add Device IDs for Intel Sunrise Point PCH
        ALSA: emu10k1: Fix deadlock in synth voice lookup
        ALSA: pcm: Fix referred substream in snd_pcm_action_group() unlock loop
        ALSA: bebob: Fix failure to detect source of clock for Terratec Phase 88
      d590c6cd
Loading