Skip to content
  1. Apr 04, 2014
  2. Mar 27, 2014
  3. Mar 22, 2014
    • Arnd Bergmann's avatar
      Merge branch 'randconfig-fixes' into next/fixes-non-critical · 600a1dfa
      Arnd Bergmann authored
      
      
      This is the first batch of a much longer series of bug fixes
      found during randconfig testing. This part are all the simple
      patches that are applicable for the arm-soc tree, while most
      other fixes will likely go through other maintainers.
      
      * randconfig-fixes: (50 commits)
        ARM: tegra: make debug_ll code build for ARMv6
        ARM: sunxi: fix build for THUMB2_KERNEL
        ARM: exynos: add missing include of linux/module.h
        ARM: exynos: fix l2x0 saved regs handling
        ARM: samsung: select CRC32 for SAMSUNG_PM_CHECK
        ARM: samsung: select ATAGS where necessary
        ARM: samsung: fix SAMSUNG_PM_DEBUG Kconfig logic
        ARM: samsung: allow serial driver to be disabled
        ARM: s5pv210: enable IDE support in MACH_TORBRECK
        ARM: s5p64x0: fix building with only one soc type
        ARM: s3c64xx: select power domains only when used
        ARM: s3c64xx: MACH_SMDK6400 needs HSMMC1
        ARM: s3c24xx: osiris dvs needs tps65010
        ARM: s3c24xx: fix gta02 build error
        ARM: s3c24xx: MINI2440 needs I2C for EEPROM_AT24
        ARM: integrator: only select pl01x if TTY is enabled
        ARM: realview: fix sparsemem build
        ARM: footbridge: make screen_info setup conditional
        ARM: footbridge: fix build with PCI disabled
        ARM: footbridge: don't build floppy code for addin mode
        ...
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      600a1dfa
    • Arnd Bergmann's avatar
      ARM: tegra: make debug_ll code build for ARMv6 · 9f3ba456
      Arnd Bergmann authored
      
      
      In a combined ARMv6/v7 kernel, we cannot use the
      movt/movw instructions to load an immediate, as they
      are not valid on ARMv6.
      
      This changes the file to use an indirect load instead,
      as lots of other implementations do.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Tested-by: default avatarStephen Warren <swarren@wwwdotorg.org>
      Acked-by: default avatarStephen Warren <swarren@wwwdotorg.org>
      Cc: Thierry Reding <thierry.reding@gmail.com>
      Cc: linux-tegra@vger.kernel.org
      9f3ba456
    • Arnd Bergmann's avatar
      ARM: sunxi: fix build for THUMB2_KERNEL · 1146b600
      Arnd Bergmann authored
      
      
      Building an SMP kernel for the sunxi platform with THUMB2 instructions
      fails with this error at the moment:
      
      headsmp.S:7: Error: Thumb encoding does not support an immediate here -- `msr cpsr_fsxc,#0xd3'
      
      Since the generic secondary_startup function already does
      the same thing in a safe way, we can just drop the private
      sunxi implementation and jump straight to secondary_startup.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
      1146b600
    • Arnd Bergmann's avatar
      ARM: exynos: add missing include of linux/module.h · 96c3a250
      Arnd Bergmann authored
      
      
      After the restructuring of the module.h and init.h headers,
      we now need to include this explicitly here.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarKukjin Kim <kgene.kim@samsung.com>
      Cc: Tomasz Figa <tomasz.figa@gmail.com>
      Cc: Ben Dooks <ben-linux@fluff.org>
      96c3a250
    • Arnd Bergmann's avatar
      ARM: exynos: fix l2x0 saved regs handling · 39378e41
      Arnd Bergmann authored
      
      
      The exynos4_l2x0_cache_init function tries to flush the data cache
      for the location of the saved l2x0 registers and pass the physical
      address to the s5p-sleep implementation.
      
      However, the s5p-sleep code is optional, and if it is disabled,
      we get a linker error here when the l2x0_regs_phys variable does
      not exist.
      
      To solve this, use a compile-time conditional to drop this code
      if we don't want it.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarKukjin Kim <kgene.kim@samsung.com>
      Cc: Tomasz Figa <tomasz.figa@gmail.com>
      Cc: Ben Dooks <ben-linux@fluff.org>
      39378e41
    • Arnd Bergmann's avatar
      ARM: samsung: select CRC32 for SAMSUNG_PM_CHECK · 714e3302
      Arnd Bergmann authored
      
      
      The Samsung pm_check code uses the crc32 library code, which can
      be built as a loadable module, in which case we get a link error
      building the kernel.
      
      A better solution is to use 'select CRC32', which is what all
      other users of this code do, as it ensures it is always built-in.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarKukjin Kim <kgene.kim@samsung.com>
      Cc: Tomasz Figa <tomasz.figa@gmail.com>
      Cc: Ben Dooks <ben-linux@fluff.org>
      714e3302
    • Arnd Bergmann's avatar
      ARM: samsung: select ATAGS where necessary · 335cce74
      Arnd Bergmann authored
      
      
      Most of the Samsung platforms do not yet allow building with
      DT at all, so we should select CONFIG_ATAGS for now in all
      cases we also select CONFIG_SAMSUNG_ATAGS.
      
      Found during randconfig testing.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarKukjin Kim <kgene.kim@samsung.com>
      Cc: Tomasz Figa <tomasz.figa@gmail.com>
      Cc: Ben Dooks <ben-linux@fluff.org>
      335cce74
    • Arnd Bergmann's avatar
      ARM: samsung: fix SAMSUNG_PM_DEBUG Kconfig logic · af960151
      Arnd Bergmann authored
      
      
      The suspend debug code for Samsung has multiple dependencies
      that we should not unconditionally enable. In particular,
      we rely on the DEBUG_S3C_UART setting, which in turn depends
      on the samsung UART driver.
      
      Signed-off-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarKukjin Kim <kgene.kim@samsung.com>
      Cc: Tomasz Figa <tomasz.figa@gmail.com>
      Cc: Ben Dooks <ben-linux@fluff.org>
      af960151
    • Arnd Bergmann's avatar
      ARM: samsung: allow serial driver to be disabled · 0443a653
      Arnd Bergmann authored
      
      
      If CONFIG_SERIAL_SAMSUNG is disabled, we run into build errors
      with some samsung platforms. This adds a couple of #ifdef
      statements to hopefully deal with this more gracefully.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarKukjin Kim <kgene.kim@samsung.com>
      Cc: Tomasz Figa <tomasz.figa@gmail.com>
      Cc: Ben Dooks <ben-linux@fluff.org>
      0443a653
    • Arnd Bergmann's avatar
      ARM: s5pv210: enable IDE support in MACH_TORBRECK · 943fa726
      Arnd Bergmann authored
      
      
      Building MACH_TORBRECK by itself results in a build error
      because we try to reference the s3c_device_cfcon definition
      that is hidden inside CONFIG_SAMSUNG_DEV_IDE. This changes
      the Kconfig logic to ensure that option is enabled when we
      need it.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarKukjin Kim <kgene.kim@samsung.com>
      Cc: Tomasz Figa <tomasz.figa@gmail.com>
      Cc: Ben Dooks <ben-linux@fluff.org>
      943fa726
    • Arnd Bergmann's avatar
      ARM: s5p64x0: fix building with only one soc type · 4f579c03
      Arnd Bergmann authored
      
      
      The s5p64x0 platform supports two distinct SoCs, s5p6440 and s5p6450,
      and in the normal configuration, both are enabled. However if we build
      a kernel that only enables one of the two, the #ifdef logic in common.c
      breaks down, as some of the functions declared in the header are defined
      to NULL using the preprocessor but then defined anyway.
      
      This patch cleans up the mess and ensures that each function has either
      exactly one C declaration and one matching C definition, or we have
      a NULL defined function pointer but no C definition.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarKukjin Kim <kgene.kim@samsung.com>
      Cc: Tomasz Figa <tomasz.figa@gmail.com>
      Cc: Ben Dooks <ben-linux@fluff.org>
      4f579c03
    • Arnd Bergmann's avatar
      ARM: s3c64xx: select power domains only when used · 4ab75a3f
      Arnd Bergmann authored
      
      
      The power domain code is only available when CONFIG_PM
      is enabled, so we must not select that unconditionally for
      s3c64xx. Changing it to 'select PM_GENERIC_DOMAINS if PM'
      mirrors what we do on other platforms, and fixes a possible
      randconfig build bug.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarKukjin Kim <kgene.kim@samsung.com>
      Cc: Tomasz Figa <tomasz.figa@gmail.com>
      Cc: Ben Dooks <ben-linux@fluff.org>
      4ab75a3f
    • Arnd Bergmann's avatar
      ARM: s3c64xx: MACH_SMDK6400 needs HSMMC1 · b25a1b64
      Arnd Bergmann authored
      
      
      This board uses both MMC controllers, so we need to enable
      the Kconfig option to define the platform data.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarKukjin Kim <kgene.kim@samsung.com>
      Cc: Tomasz Figa <tomasz.figa@gmail.com>
      Cc: Ben Dooks <ben-linux@fluff.org>
      b25a1b64
    • Arnd Bergmann's avatar
      ARM: s3c24xx: osiris dvs needs tps65010 · f88309c6
      Arnd Bergmann authored
      
      
      The osiris-dvs driver calls functions exported by the tps65010
      driver, so we have to ensure that driver is enabled first.
      Using 'select' here doesn't work all that well, because it
      requires I2C to be enabled in turn.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      f88309c6
    • Arnd Bergmann's avatar
      ARM: s3c24xx: fix gta02 build error · 645e27b0
      Arnd Bergmann authored
      
      
      The gta02 has always been broken in the case when CONFIG_PCF50633_ADC
      is not used, since gta02_charger_worker then passes a nonexisting
      variable into the pcf50633_mbc_usb_curlim_set() function.
      
      This addresses the obvious typo by using the variable that is
      used everywhere else in this file.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarKukjin Kim <kgene.kim@samsung.com>
      Cc: Tomasz Figa <tomasz.figa@gmail.com>
      Cc: Ben Dooks <ben-linux@fluff.org>
      645e27b0
    • Arnd Bergmann's avatar
      ARM: s3c24xx: MINI2440 needs I2C for EEPROM_AT24 · 37373f16
      Arnd Bergmann authored
      
      
      If I2C is disabled, we cannot build the AT24 driver, so we
      should not select it.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarKukjin Kim <kgene.kim@samsung.com>
      Cc: Tomasz Figa <tomasz.figa@gmail.com>
      Cc: Ben Dooks <ben-linux@fluff.org>
      37373f16
    • Arnd Bergmann's avatar
      ARM: integrator: only select pl01x if TTY is enabled · 152c5555
      Arnd Bergmann authored
      
      
      Building the integrator platform without TTY support currently
      results in a build failure because we always turn on the
      pl010 or pl011 drivers. Changing this to a conditional 'select'
      statement enables us to build more random configurations, although
      it should have little impact for practical configurations.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Linus Walleij <linus.walleij@linaro.org>
      152c5555
    • Arnd Bergmann's avatar
      ARM: realview: fix sparsemem build · dd94d355
      Arnd Bergmann authored
      Commit b713aa0b
      
       "ARM: fix asm/memory.h build error" broke some
      configurations on mach-realview with sparsemem enabled, which
      is missing a definition of PHYS_OFFSET:
      
      arch/arm/include/asm/memory.h:268:42: error: 'PHYS_OFFSET' undeclared (first use in this function)
       #define PHYS_PFN_OFFSET ((unsigned long)(PHYS_OFFSET >> PAGE_SHIFT))
      arch/arm/include/asm/dma-mapping.h:104:9: note: in expansion of macro 'PHYS_PFN_OFFSET'
        return PHYS_PFN_OFFSET + dma_to_pfn(dev, *dev->dma_mask);
      
      An easy workaround is for realview to define PHYS_OFFSET itself,
      in the same way we define it for platforms that don't have a private
      __virt_to_phys function.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Linus Walleij <linus.walleij@linaro.org>
      dd94d355
    • Arnd Bergmann's avatar
      ARM: footbridge: make screen_info setup conditional · 617d1464
      Arnd Bergmann authored
      
      
      The global screen_info structure is used to communicate
      data about the console from platform code to the console
      driver, but is only defined on ARM if either the VGA or
      dummy consoles are in use.
      
      This changes the footbridge code so we don't try to access
      this structure in case it is not defined, which prevents
      a possible randconfig build error.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Russell King <linux@arm.linux.org.uk>
      617d1464
    • Arnd Bergmann's avatar
      ARM: footbridge: fix build with PCI disabled · 570977a1
      Arnd Bergmann authored
      
      
      The dc21285.c source file cannot be built when CONFIG_PCI is
      disabled, because it calls a number of PCI core interfaces.
      
      This changes the Makefile so we don't include this file in the
      build if CONFIG_PCI is disabled. No other code references anything
      defined inside of this file in this case.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Russell King <linux@arm.linux.org.uk>
      570977a1
    • Arnd Bergmann's avatar
      ARM: footbridge: don't build floppy code for addin mode · ad9faf4c
      Arnd Bergmann authored
      
      
      The ARCH_EBSA285_ADDIN platform does not provide the
      ISA_DMA API, which is required by the floppy driver.
      
      Let's ensure that the floppy code can only be built
      when ISA_DMA is also enabled, by moving the select
      statement into ARCH_EBSA285_HOST.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Russell King <linux@arm.linux.org.uk>
      ad9faf4c
    • Arnd Bergmann's avatar
      ARM: rpc: autoselect CPU_SA110 · fa04e209
      Arnd Bergmann authored
      
      
      ARCH_RPC no longer supports other CPUs aside from StrongARM110,
      so we can make the option implicitly selected by the platform
      and no longer give the option of building a kernel without CPU
      support.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Russell King <linux@arm.linux.org.uk>
      fa04e209
    • Arnd Bergmann's avatar
      ARM: pxa: trizeps4 and trizeps4wl use the same file · edd4c720
      Arnd Bergmann authored
      
      
      The trizeps4 and trizeps4wl platforms are both implemented
      using the same board file. Since the trizeps4wl code is a
      superset of trizeps4, it makes no sense to enable just the
      latter, but with the current Kconfig logic, it causes the
      board file not to be built at all.
      
      Selecting MACH_TRIZEPS4 from MACH_TRIZEPS4WL ensures that
      we are actually building the board file.
      
      Found during randconfig testing.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Eric Miao <eric.y.miao@gmail.com>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Haojian Zhuang <haojian.zhuang@gmail.com>
      Cc: Daniel Mack <zonque@gmail.com>
      edd4c720
    • Arnd Bergmann's avatar
      ARM: pxa: select I2C_GPIO only if I2C is on · c7dc7d49
      Arnd Bergmann authored
      
      
      The Arcom/Eurotech VIPER SBC enables the I2C_GPIO driver, but
      that has a dependency on I2C, and causes build failures if I2C
      is disabled. To keep existing configurations running while fixing
      the randconfig problems, this changes the logic to only enable
      I2C_GPIO if I2C is already enabled.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarHaojian Zhuang <haojian.zhuang@gmail.com>
      Cc: Eric Miao <eric.y.miao@gmail.com>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Daniel Mack <zonque@gmail.com>
      c7dc7d49
    • Arnd Bergmann's avatar
      ARM: pxa: remove broken balloon3_gpio_vbus reference · 419606ec
      Arnd Bergmann authored
      
      
      balloon3_udc_init() tries to register a balloon3_gpio_vbus
      device, but this has never been defined in the mainline
      kernel. To avoid the obvious build failure when this function
      is enabled, remove the bogus reference here.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Eric Miao <eric.y.miao@gmail.com>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Haojian Zhuang <haojian.zhuang@gmail.com>
      Cc: Daniel Mack <zonque@gmail.com>
      419606ec
    • Arnd Bergmann's avatar
      ARM: pxa: fix pxa_ssp_* declarations · 1ced9a5b
      Arnd Bergmann authored
      
      
      The functions declared in include/linux/pxa2xx_ssp.h are
      defined in plat-pxa/ssp.c, which can also be built for
      PLAT_MMP, but may be disabled there. This can lead to
      both unresolved symbols at link time and to duplicate
      symbols at compile time for random configurations.
      
      Changing the #ifdef in the header file to match the
      Kconfig symbol that decides if the file is built solves
      both problems.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Eric Miao <eric.y.miao@gmail.com>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Haojian Zhuang <haojian.zhuang@gmail.com>
      Cc: Daniel Mack <zonque@gmail.com>
      1ced9a5b
    • Arnd Bergmann's avatar
      ARM: pxa: fix colibri build · 847e3496
      Arnd Bergmann authored
      
      
      The colibri_ohci_init function performs a register access through
      the io_p2v() macro, which requires the IOMEM macro to be defined.
      
      By explicitly including the asm/io.h header file that contains
      this macro, we avoid the build error:
      
      arch/arm/mach-pxa/colibri-evalboard.c: In function 'colibri_ohci_init':
      arch/arm/mach-pxa/colibri-evalboard.c:68:2: error: implicit declaration of function 'IOMEM' [-Werror=implicit-function-declaration]
        UP2OCR = UP2OCR_HXS | UP2OCR_HXOE | UP2OCR_DPPDE | UP2OCR_DMPDE;
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Eric Miao <eric.y.miao@gmail.com>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Haojian Zhuang <haojian.zhuang@gmail.com>
      Cc: Daniel Mack <zonque@gmail.com>
      847e3496
    • Arnd Bergmann's avatar
      ARM: pxa: enable pxafb unconditionally for some boards · e914f19f
      Arnd Bergmann authored
      
      
      The SAAR and TAVOREVB machines try to call functions from
      the PXAFB frame buffer driver from their platform code,
      which only works if that driver is built-in.
      
      This patch ensures that both the generic frame buffer
      code and the specific pxafb driver are always enabled
      when we build a kernel for one of the two boards.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Eric Miao <eric.y.miao@gmail.com>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Haojian Zhuang <haojian.zhuang@gmail.com>
      Cc: Daniel Mack <zonque@gmail.com>
      e914f19f
    • Arnd Bergmann's avatar
      ARM: pxa: don't "select" SMC91X on MACH_XCEP · a0ad0fdb
      Arnd Bergmann authored
      
      
      We normally don't hard-enable Kconfig options just because
      a board contains a specific piece of hardware. In this case,
      selecting SMC91X causes a build error, if we don't also enable
      basic network device driver support.
      
      Since the platform has no direct dependency on this driver
      at link time, we can just remove the 'select' statement.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Eric Miao <eric.y.miao@gmail.com>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Haojian Zhuang <haojian.zhuang@gmail.com>
      Cc: Daniel Mack <zonque@gmail.com>
      a0ad0fdb
    • Arnd Bergmann's avatar
      ARM: orion5x: make dns323 independent of PHY support · 32ff4971
      Arnd Bergmann authored
      
      
      The D-Link DNS-323 machine tries to unconditionally select CONFIG_PHYLIB,
      but that has other dependencies that might not necessarily be enabled,
      causing random build errors.
      
      To work around this, this patch removes the 'select' statement and
      instead uses a compile-time check to skip the phy_register_fixup_for_uid()
      call if PHYLIB is not available in the kernel.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarJason Cooper <jason@lakedaemon.net>
      Cc: Andrew Lunn <andrew@lunn.ch>
      Cc: Gregory Clement <gregory.clement@free-electrons.com>
      Cc: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
      32ff4971
    • Arnd Bergmann's avatar
      ARM: mvebu: add missing header · 9e128041
      Arnd Bergmann authored
      
      
      The definition for SIGBUS may not be visible without including
      linux/signal.h, as I found during randconfig testing.
      
      Adding an explicit include is certainly the right thing to do.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarJason Cooper <jason@lakedaemon.net>
      Acked-by: default avatarGregory Clement <gregory.clement@free-electrons.com>
      Cc: Andrew Lunn <andrew@lunn.ch>
      Cc: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
      9e128041
    • Arnd Bergmann's avatar
      ARM: omap1: don't rely on tps65010 · 0b31c53b
      Arnd Bergmann authored
      
      
      The code for h2 and osk implicitly assumes that the tps65010
      driver is built-in, in order to perform the initial regulator
      setup.
      
      This is fine for most real uses, but it does get into the way
      of build testing with 'make randconfig', since we don't want
      platforms to implicitly select device drivers and subsystems
      such as I2C.
      
      This patch by contrast changes the board files to not call
      into the tps65010 driver when that is not built-in, allowing
      us to build all configurations including some that will not
      work properly on this hardware.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarTony Lindgren <tony@atomide.com>
      0b31c53b