Skip to content
  1. May 13, 2013
  2. May 10, 2013
  3. May 09, 2013
  4. May 08, 2013
  5. May 07, 2013
  6. May 05, 2013
  7. May 04, 2013
    • Tony Lindgren's avatar
      ARM: OMAP2+: Fix unmet direct dependencies for SERIAL_OMAP · eb16d332
      Tony Lindgren authored
      
      
      Commit 8a6201b9 (ARM: OMAP2+: Fix unmet direct dependencies for zoom
      for 8250 serial) fixed unmet direct dependencies for 8250, but failed
      to do the same for omap serial. This can cause the following warning:
      
      warning: (ARCH_OMAP2PLUS_TYPICAL) selects SERIAL_OMAP which has
      unmet direct dependencies (TTY && HAS_IOMEM && GENERIC_HARDIRQS &&
      ARCH_OMAP2PLUS).
      
      We should not select drivers, they should be selected by the
      user. Fix the issue by removing the select and adding them to
      omap2plus_defconfig instead.
      
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      eb16d332
    • Arnd Bergmann's avatar
      ARM: ux500: always select ABX500_CORE · ccefeea9
      Arnd Bergmann authored
      
      
      We are probably selecting more drivers than we should in ux500,
      but cleaning up that logic for good can be left for another
      time. Most of these could be converted into silent options in
      the future, since they are always enabled on ux500 and never
      needed elsewhere.
      
      As a fixup for 3.10, let's at least select the dependencies for
      the other drivers we already select, to make it consistent.
      
      warning: (UX500_SOC_COMMON) selects AB8500_CORE which has unmet direct dependencies (HAS_IOMEM && GENERIC_HARDIRQS && ABX500_CORE && MFD_DB8500_PRCMU)
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      ccefeea9
    • Arnd Bergmann's avatar
      ARM: SIRF: select SMP_ON_UP only on SMP builds · cb0c480a
      Arnd Bergmann authored
      
      
      Like all other platforms, we can only select SMP_ON_UP if SMP
      is also enabled.
      
      warning: (SOC_IMX31 && SOC_IMX35 && ARCH_MARCO) selects
       SMP_ON_UP which has unmet direct dependencies (SMP && !XIP_KERNEL)
      
      Cc: Barry Song <baohua.song@csr.com>
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      cb0c480a
    • Arnd Bergmann's avatar
      ARM: SPEAr: conditionalize l2x0 support · 6343b05f
      Arnd Bergmann authored
      
      
      If the cache controller implementation is disabled at build time,
      we must not call any functions related to it.
      
      arch/arm/mach-spear/built-in.o: In function `spear13xx_l2x0_init':
      arch/arm/mach-spear/spear13xx.c:47: undefined reference to `l2x0_init'
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarViresh Kumar <viresh.linux@gmail.com>
      6343b05f
    • Arnd Bergmann's avatar
      ARM: imx: build CPU suspend code only when needed · cb48389b
      Arnd Bergmann authored
      
      
      The ARM CPU suspend function has its own configuration symbol,
      which we need to use for conditionalizing any code calling into
      it as well.
      
      arch/arm/mach-imx/built-in.o: In function `v7_cpu_resume':
      /git/arm-soc/arch/arm/mach-imx/headsmp.S:57: undefined
       reference to `cpu_resume'
      
      Cc: Sascha Hauer <kernel@pengutronix.de>
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      cb48389b
    • Arnd Bergmann's avatar
      ARM: OMAP: build SMP code only for OMAP4/5 · 572b16db
      Arnd Bergmann authored
      
      
      The OMAP platform code assumes that SMP is only ever enabled when
      CONFIG_ARCH_OMAP4 or CONFIG_SOC_OMAP5 is enabled, which is not
      necessarirly true in a multiplatform configuration.
      
      arch/arm/mach-omap2/built-in.o: In function `omap4_smp_prepare_cpus':
       :(.init.text+0x413c): undefined reference to `omap_get_wakeupgen_base'
       :(.init.text+0x415c): undefined reference to `omap_secure_apis_support'
      arch/arm/mach-omap2/built-in.o: In function `omap4_boot_secondary':
       :(.cpuinit.text+0x28): undefined reference to `omap_get_wakeupgen_base'
       :(.cpuinit.text+0x3c): undefined reference to `omap_secure_apis_support'
      arch/arm/mach-omap2/built-in.o: In function `omap4_cpu_die':
       :(.ref.text+0x8): undefined reference to `omap_get_wakeupgen_base'
       :(.ref.text+0x10): undefined reference to `omap_secure_apis_support'
       :(.ref.text+0x4c): undefined reference to `omap4_hotplug_cpu'
       :(.ref.text+0x50): undefined reference to `omap_secure_apis_support'
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarTony Lindgren <tony@atomide.com>
      572b16db
    • Arnd Bergmann's avatar
      ARM: tegra: Tegra114 needs CPU_FREQ_TABLE · 63cc8467
      Arnd Bergmann authored
      
      
      Like the other Tegra SoCs using the same cpufreq driver, we
      have to enable CPU_FREQ_TABLE for this one.
      
      drivers/built-in.o: In function `tegra_cpu_exit':
       drivers/cpufreq/tegra-cpufreq.c:237: undefined reference to
       `cpufreq_frequency_table_cpuinfo'
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
      Cc: Stephen Warren <swarren@nvidia.com>
      Cc: Hiroshi Doyu <hdoyu@nvidia.com>
      63cc8467
  8. May 03, 2013
    • Arnd Bergmann's avatar
      ARM: SPEAr: conditionalize SMP code · a94d236d
      Arnd Bergmann authored
      
      
      Some constant definitions are only defined for spear13xx, so
      we must not attempt to build SPEAr SMP support when that
      SoC is not enabled.
      
      arch/arm/mach-spear/platsmp.c:25:35:
       error: 'VA_SCU_BASE' undeclared here (not in a function)
       arch/arm/mach-spear/platsmp.c: In function 'spear13xx_smp_prepare_cpus':
       arch/arm/mach-spear/platsmp.c:111:58: error: 'SYS_LOCATION' undeclared (first use in this function)
      
      Cc: Viresh Kumar <viresh.linux@gmail.com>
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      a94d236d
    • Arnd Bergmann's avatar
      ARM: imx: reset_controller may be disabled · 5c5f0421
      Arnd Bergmann authored
      
      
      The new reset controller API is optional, so if that is disabled,
      we must not call it from platform code.
      
      arch/arm/mach-imx/built-in.o: In function
       `imx_src_init': /git/arm-soc/arch/arm/mach-imx/src.c:144:
      	undefined reference to `reset_controller_register'
      
      Cc: Sascha Hauer <kernel@pengutronix.de>
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      5c5f0421
    • Russell King's avatar
      ARM: EXYNOS: remove unnecessary use of IS_ERR_VALUE() · 008ca431
      Russell King authored
      
      
      s5p_register_gpio_interrupt() returns 0 or positive for success, and
      -ve for errors, so just use the standard >= 0 test.
      
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      008ca431
    • Russell King's avatar
      ARM: IMX: remove unnecessary use of IS_ERR_VALUE() · d98642c3
      Russell King authored
      
      
      device_register() returns -ve values for errors, and zero for success.
      There's no need to obfuscate the code with IS_ERR_VALUE().
      
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      d98642c3
    • Russell King's avatar
      ARM: OMAP: use consistent error checking · c48cd659
      Russell King authored
      
      
      Consistently check errors using the usual method used in the kernel
      for much of its history.  For instance:
      
      int gpmc_cs_set_timings(int cs, const struct gpmc_timings *t)
      {
      	int div;
      	div = gpmc_calc_divider(t->sync_clk);
      	if (div < 0)
      		return div;
      static int gpmc_set_async_mode(int cs, struct gpmc_timings *t)
      {
      ...
      	return gpmc_cs_set_timings(cs, t);
      
      .....
      	ret = gpmc_set_async_mode(gpmc_onenand_data->cs, &t);
      	if (IS_ERR_VALUE(ret))
      		return ret;
      
      So, gpmc_cs_set_timings() thinks any negative return value is an error,
      but where we check that in higher levels, only a limited range are
      errors...
      
      There is only _one_ use of IS_ERR_VALUE() in arch/arm which is really
      appropriate, and that is in arch/arm/include/asm/syscall.h:
      
      static inline long syscall_get_error(struct task_struct *task,
      				     struct pt_regs *regs)
      {
      	unsigned long error = regs->ARM_r0;
      	return IS_ERR_VALUE(error) ? error : 0;
      }
      
      because this function really does have to differentiate between error
      return values and addresses which look like negative numbers (eg, from
      mmap()).
      
      So, here's a patch to remove them from OMAP, except for the above.
      
      Acked-by: default avatarTony Lindgren <tony@atomide.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      c48cd659
    • Russell King's avatar
      ARM: cleanup: OMAP hwmod error checking · 857835c6
      Russell King authored
      
      
      omap_hwmod_lookup() only returns NULL on error, never an error pointer.
      Checking the returned pointer using IS_ERR_OR_NULL() is needless
      overhead.  Use a simple !ptr check instead.
      
      OMAP devices (oh->od) always have a valid platform device attached (see
      omap_device_alloc()) so there's no point validating the platform device
      pointer (we will have already oopsed long before if this is not the
      case here.)
      
      Lastly, oh->od is only ever NULL or a valid omap device pointer - 'oh'
      comes from the statically declared hwmod tables, and the pointer is
      only filled in by omap_device_alloc() at a point where the omap device
      pointer must be valid.
      
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      857835c6