Skip to content
  1. Mar 30, 2015
  2. Mar 13, 2015
  3. Mar 11, 2015
  4. Mar 08, 2015
    • Stefan Agner's avatar
      irqchip: vf610-mscm-ir: Add support for Vybrid MSCM interrupt router · 0494e11a
      Stefan Agner authored
      
      
      This adds support for Vybrid's interrupt router. On VF6xx models,
      almost all peripherals can be used by either of the two CPU's,
      the Cortex-A5 or the Cortex-M4. The interrupt router routes the
      peripheral interrupts to the configured CPU.
      
      This IRQ chip driver configures the interrupt router to route
      the requested interrupt to the CPU the kernel is running on.
      The driver makes use of the irqdomain hierarchy support. The
      parent is given by the device tree. This should be one of the
      two possible parents either ARM GIC or the ARM NVIC interrupt
      controller. The latter is currently not yet supported.
      
      Note that there is no resource control mechnism implemented to
      avoid concurrent access of the same peripheral. The user needs
      to make sure to use device trees which assign the peripherals
      orthogonally. However, this driver warns the user in case the
      interrupt is already configured for the other CPU. This provides
      a poor man's resource controller.
      
      Acked-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
      Signed-off-by: default avatarStefan Agner <stefan@agner.ch>
      Link: https://lkml.kernel.org/r/1425249689-32354-2-git-send-email-stefan@agner.ch
      
      
      Signed-off-by: default avatarJason Cooper <jason@lakedaemon.net>
      0494e11a
  5. Mar 06, 2015
  6. Mar 03, 2015
  7. Mar 02, 2015
  8. Feb 26, 2015
  9. Feb 20, 2015
  10. Feb 19, 2015
  11. Feb 18, 2015
    • Paul Bolle's avatar
      ARM: mm: Remove Kconfig symbol CACHE_PL310 · d88d6cfc
      Paul Bolle authored
      
      
      Commit 20e783e3 ("ARM: 8296/1: cache-l2x0: clean up aurora cache
      handling") removed the only user of the Kconfig symbol CACHE_PL310.
      Setting CACHE_PL310 is now pointless. Remove its Kconfig entry, and one
      select of this symbol.
      
      Signed-off-by: default avatarPaul Bolle <pebolle@tiscali.nl>
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      d88d6cfc
    • Arnd Bergmann's avatar
      ARM: rockchip: force built-in regulator support for PM · d1bef995
      Arnd Bergmann authored
      
      
      The rockchips suspend/resume code requires regulators to work,
      and gives a compile-time error if they are not available:
      
      arch/arm/mach-rockchip/built-in.o: In function `rk3288_suspend_finish':
      :(.text+0x146): undefined reference to `regulator_suspend_finish'
      arch/arm/mach-rockchip/built-in.o: In function `rk3288_suspend_prepare':
      :(.text+0x18e): undefined reference to `regulator_suspend_prepare'
      
      To solve this, we now enable regulators whenever they are needed,
      which is what we do on a lot of other platforms as well.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      d1bef995
    • Arnd Bergmann's avatar
      ARM: mvebu: build armada375-smp code conditionally · 16523518
      Arnd Bergmann authored
      
      
      mvebu_armada375_smp_wa_init is only used on armada 375 but is defined
      for all mvebu machines. As it calls a function that is only provided
      sometimes, this can result in a link error:
      
      arch/arm/mach-mvebu/built-in.o: In function `mvebu_armada375_smp_wa_init':
      :(.text+0x228): undefined reference to `mvebu_setup_boot_addr_wa'
      
      To solve this, we can just change the existing #ifdef around the
      function to also check for Armada375 SMP platforms.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Fixes: 305969fb ("ARM: mvebu: use the common function for Armada 375 SMP workaround")
      Cc: Andrew Lunn <andrew@lunn.ch>
      Cc: Jason Cooper <jason@lakedaemon.net>
      Cc: Gregory Clement <gregory.clement@free-electrons.com>
      16523518
    • Arnd Bergmann's avatar
      ARM: sti: always enable RESET_CONTROLLER · 1fd01aa2
      Arnd Bergmann authored
      
      
      A lot of the sti device drivers require reset controller support,
      but do not all have individual 'depends on RESET_CONTROLLER'
      statements. Using 'select' here once avoids a lot of build errors
      resulting from this.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarMaxime Coquelin <maxime.coquelin@st.com>
      Acked-by: default avatarPatrice Chotard <patrice.chotard@st.com>
      Cc: Srinivas Kandagatla <srinivas.kandagatla@gmail.com>
      1fd01aa2
    • Arnd Bergmann's avatar
      ARM: rockchip: make rockchip_suspend_init conditional · c8823e7a
      Arnd Bergmann authored
      
      
      If CONFIG_PM_SLEEP is disabled, we get a build error for rockchips:
      
      arch/arm/mach-rockchip/built-in.o: In function `rockchip_dt_init':
      :(.init.text+0x1c): undefined reference to `rockchip_suspend_init'
      
      This adds an inline alternative for that case.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Reviewed-by: default avatarHeiko Stuebner <heiko@sntech.de>
      Cc: linux-rockchip@lists.infradead.org
      c8823e7a
    • Arnd Bergmann's avatar
      ARM: ixp4xx: fix {in,out}s{bwl} data types · 1aeb3c5c
      Arnd Bergmann authored
      
      
      Most platforms use void pointer arguments in these functions, but
      ixp4xx does not, which triggers lots of warnings in device drivers like:
      
      net/ethernet/8390/ne2k-pci.c: In function 'ne2k_pci_get_8390_hdr':
      net/ethernet/8390/ne2k-pci.c:503:3: warning: passing argument 2 of 'insw' from incompatible pointer type
         insw(NE_BASE + NE_DATAPORT, hdr, sizeof(struct e8390_pkt_hdr)>>1);
         ^
      In file included from include/asm/io.h:214:0,
                       from /git/arm-soc/include/linux/io.h:22,
                       from /git/arm-soc/include/linux/pci.h:31,
                       from net/ethernet/8390/ne2k-pci.c:48:
      mach-ixp4xx/include/mach/io.h:316:91: note: expected 'u16 *' but argument is of type 'struct e8390_pkt_hdr *'
       static inline void insw(u32 io_addr, u16 *vaddr, u32 count)
      
      Fixing the drivers seems hopeless, so this changes the ixp4xx code
      to do the same as the others to avoid the warnings.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarKrzysztof Halasa <khalasa@piap.pl>
      Cc: Imre Kaloz <kaloz@openwrt.org>
      1aeb3c5c
    • Arnd Bergmann's avatar
      ARM: prima2: do not select SMP_ON_UP · d76f733d
      Arnd Bergmann authored
      
      
      The new Atlas7 platform implicitly selects 'CONFIG_SMP_ON_UP',
      which leads to problems if we enable building the platform without
      MMU, as that combination is not allowed and causes a link error:
      
      arch/arm/kernel/built-in.o: In function `c_show':
      :(.text+0x1872): undefined reference to `smp_on_up'
      :(.text+0x1876): undefined reference to `smp_on_up'
      arch/arm/kernel/built-in.o: In function `arch_irq_work_raise':
      :(.text+0x3d48): undefined reference to `smp_on_up'
      :(.text+0x3d4c): undefined reference to `smp_on_up'
      arch/arm/kernel/built-in.o: In function `smp_setup_processor_id':
      :(.init.text+0x180): undefined reference to `smp_on_up'
      
      This removes the 'select' statement.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Fixes: 4cba0585 ("ARM: sirf: add Atlas7 machine support")
      Acked-by: default avatarBarry Song <Baohua.Song@csr.com>
      Cc: Zhiwu Song <Zhiwu.Song@csr.com>
      d76f733d
    • Arnd Bergmann's avatar
      ARM: at91: fix pm declarations · a91c5824
      Arnd Bergmann authored
      
      
      In a recent rearrangement of the at91 pm initialization code, a broken
      set of declarations was added for the !CONFIG_PM-case, leading to
      this link error:
      
      arch/arm/mach-at91/board-dt-sama5.o: In function `at91_rm9200_pm_init':
      arch/arm/mach-at91/generic.h:40: multiple definition of `at91_rm9200_pm_init'
      arch/arm/mach-at91/setup.o:arch/arm/mach-at91/generic.h:40: first defined here
      arch/arm/mach-at91/board-dt-sama5.o: In function `at91_sam9260_pm_init':
      arch/arm/mach-at91/generic.h:41: multiple definition of `at91_sam9260_pm_init'
      arch/arm/mach-at91/setup.o:arch/arm/mach-at91/generic.h:41: first defined here
      arch/arm/mach-at91/board-dt-sama5.o: In function `at91_sam9g45_pm_init':
      arch/arm/mach-at91/generic.h:42: multiple definition of `at91_sam9g45_pm_init'
      arch/arm/mach-at91/setup.o:arch/arm/mach-at91/generic.h:42: first defined here
      
      This adds the missing 'static inline' to the declarations to avoid
      creating a copy of the functions in each file that includes the
      header.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Fixes: 4db0ba22 ("ARM: at91: pm: prepare for multiplatform")
      Acked-by: default avatarNicolas Ferre <nicolas.ferre@atmel.com>
      Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
      Cc: Alexandre Belloni <alexandre.belloni@free-electrons.com>
      a91c5824
    • Arnd Bergmann's avatar
      ARM: davinci: multi-soc kernels require AUTO_ZRELADDR · 99bd667a
      Arnd Bergmann authored
      
      
      The davinci DA8xx and DMx families have incompatible zreladdr
      settings, and attempting to build a kernel with both enabled
      results in an error unless AUTO_ZRELADDR is set:
      
      multiple zreladdrs: 0xc0008000 0x80008000
      This needs CONFIG_AUTO_ZRELADDR to be set
      
      This patch changes Kconfig to make the two families mutually
      exclusive when this is unset.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarSekhar Nori <nsekhar@ti.com>
      Cc: Kevin Hilman <khilman@deeprootsystems.com>
      99bd667a
    • Arnd Bergmann's avatar
      ARM: davinci: davinci_cfg_reg cannot be init · 31612d64
      Arnd Bergmann authored
      
      
      davinci_cfg_reg gets called from a lot of locations that
      might get called after the init section has been discarded,
      so the function itself must not be marked __init either.
      
      The kernel build currently warns about this with lots of
      messages like:
      
      WARNING: vmlinux.o(.text.unlikely+0x24c): Section mismatch in reference from the function dm365evm_mmc_configure() to the function .init.text:davinci_cfg_reg()
      The function dm365evm_mmc_configure() references
      the function __init davinci_cfg_reg().
      This is often because dm365evm_mmc_configure lacks a __init
      annotation or the annotation of davinci_cfg_reg is wrong.
      
      This removes the extraneous __init_or_module annotation.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarSekhar Nori <nsekhar@ti.com>
      Cc: Kevin Hilman <khilman@deeprootsystems.com>
      31612d64
    • Arnd Bergmann's avatar
      ARM: BCM: put back ARCH_MULTI_V7 dependency for mobile · ff34cae5
      Arnd Bergmann authored
      
      
      A recent cleanup rearranged the Kconfig file for mach-bcm and
      accidentally dropped the dependency on ARCH_MULTI_V7, which
      makes it possible to now build the two mobile SoC platforms
      on an ARMv6-only kernel, resulting in a log of Kconfig
      warnings like
      
      warning: ARCH_BCM_MOBILE selects ARM_ERRATA_775420 which has unmet direct dependencies (CPU_V7)
      
      and which of course cannot work on any machine.
      
      This puts back the dependencies as before.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Fixes: 64e74aa7 ("ARM: mach-bcm: ARCH_BCM_MOBILE: remove one level of menu from Kconfig")
      Acked-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Acked-by: default avatarScott Branden <sbranden@broadcom.com>
      ff34cae5