1. 21 Mar, 2014 32 commits
    • 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
    • Felipe Balbi's avatar
      ARM: omap1: fix build when !CONFIG_OMAP_32K_TIMER · 84bef117
      Felipe Balbi authored
      If CONFIG_OMAP_32K_TIMER isn't enabled, we will
      try to use enable_dyn_sleep which wasn't defined
      anywhere.
      
      In order to fix the problem, we always define
      enable_dyn_sleep as 0 when !CONFIG_OMAP_32K_TIMER.
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      Acked-by: default avatarTony Lindgren <tony@atomide.com>
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      84bef117
    • Arnd Bergmann's avatar
      ARM: msm: export legacy DMA interfaces · b25a7912
      Arnd Bergmann authored
      The msm_sdcc MMC driver and the msm_serial_hs uart driver both
      use the pre-dmaengine interfaces provided by the MSM platform.
      
      Since these drivers can be loadable modules, we should export
      the functions used in the drivers.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarDavid Brown <davidb@codeaurora.org>
      Cc: Daniel Walker <dwalker@fifo99.com>
      Cc: Bryan Huntsman <bryanh@codeaurora.org>
      b25a7912
    • Arnd Bergmann's avatar
      ARM: msm: avoid calling debug_ll_addr on !MMU · d967b010
      Arnd Bergmann authored
      MSM7X00A has an open-coded version of debug_ll_io_init so it
      can use MT_DEVICE_NONSHARED as required by the platform.
      
      However, this fails to build on no-MMU kernels because the
      debug_ll_addr function is not available. Since the iotable_init
      function doesn't actually do anyting in this configuration,
      we can simply get away by enclosing the broken function call
      in an #ifdef, which seems to be the least ugly workaround.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarDavid Brown <davidb@codeaurora.org>
      Cc: Daniel Walker <dwalker@fifo99.com>
      Cc: Bryan Huntsman <bryanh@codeaurora.org>
      d967b010
    • Arnd Bergmann's avatar
      ARM: msm: add missing include of linux/module.h · 404ed596
      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 avatarDavid Brown <davidb@codeaurora.org>
      Cc: Daniel Walker <dwalker@fifo99.com>
      Cc: Bryan Huntsman <bryanh@codeaurora.org>
      404ed596
    • Arnd Bergmann's avatar
      ARM: lpc32xx: export lpc32xx_return_iram_size · 22833d55
      Arnd Bergmann authored
      This symbol is used by the lpc_eth driver, which may
      be a loadable module.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarRoland Stigge <stigge@antcom.de>
      22833d55
    • Arnd Bergmann's avatar
      ARM: ks8695/og: make PCI setup conditional · de94abfa
      Arnd Bergmann authored
      The 'og' machine tries to always initialized the PCI code, but that
      may be disabled in Kconfig, leading to a build error.
      
      This patch changes the code to use the same Kconfig symbol to decide
      about calling the ks8695_init_pci function at build time that we
      use to decide about building the ks8695 PCI support.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarGreg Ungerer <gerg@uclinux.org>
      de94abfa
    • Arnd Bergmann's avatar
      ARM: ixp4xx: fix gpio rework · 48ba81f6
      Arnd Bergmann authored
      Commit 098e30f6 "ARM: ixp4xx: stop broadcasting the custom GPIO API"
      changed the internal gpio code of ixp4xx to be accessible only from
      common.c, but unfortunately that broke the Goramo MultiLink code, which
      uses this API.
      
      This tries to restore the previous state without exposing the
      API globally again. A better solution might be needed.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Cc: Krzysztof Halasa <khc@pm.waw.pl>
      Cc: Imre Kaloz <kaloz@openwrt.org>
      48ba81f6
    • Arnd Bergmann's avatar
      ARM: ixp4xx: avoid use of PCIBIOS_MIN_MEM in io.h · 926aabde
      Arnd Bergmann authored
      When using CONFIG_IXP4XX_INDIRECT_PCI, we run into a recursive
      header file dependency between mach/io.h and asm/pci.h, resulting
      in a build failure:
      
      mach-ixp4xx/include/mach/io.h: In function 'is_pci_memory':
      mach-ixp4xx/include/mach/io.h:53:18: error: 'PCIBIOS_MIN_MEM' undeclared (first use in this function)
        return (addr >= PCIBIOS_MIN_MEM) && (addr <= 0x4FFFFFFF);
                        ^
      mach-ixp4xx/include/mach/io.h:53:18: note: each undeclared identifier is reported only once for each function it appears in
      
      We can work around this by referencing the pcibios_min_mem variable
      directly through an extern declaration, rather than using the macro.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Imre Kaloz <kaloz@openwrt.org>
      Cc: Krzysztof Halasa <khc@pm.waw.pl>
      926aabde
    • Arnd Bergmann's avatar
      ARM: ixp4xx/omixp: always include linux/leds.h · e9c610a4
      Arnd Bergmann authored
      The omixp board code unconditionally defines a gpio-led
      device, but for some reason includes the header file
      for this only if CONFIG_LEDS_CLASS is enabled, causing
      a build error otherwise.
      
      Removing the #ifdef fixes the build error with no downsides
      whatsoever.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Imre Kaloz <kaloz@openwrt.org>
      Cc: Krzysztof Halasa <khc@pm.waw.pl>
      e9c610a4
    • Arnd Bergmann's avatar
      ARM: hisi: fix building without CONFIG_HOTPLUG_CPU · 1d858f31
      Arnd Bergmann authored
      The hisi SMP code always uses the hi3xxx_set_cpu() function
      defined in the hotplug.c file, so we cannot build without
      this when CONFIG_SMP is enabled. This patch slightly restructures
      the code so we always build the parts of hotplug.c that we need
      but just leave out the CPU disable logic if CONFIG_HOTPLUG_CPU
      is turned off.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarHaojian Zhuang <haojian.zhuang@gmail.com>
      1d858f31
    • Arnd Bergmann's avatar
      ARM: ep93xx: export ep93xx_chip_revision · 67e108c5
      Arnd Bergmann authored
      ep93xx_chip_revision is used by the pata_ep93xx driver,
      which can be a loadable module. Exporting the symbol
      avoids a link error in this case.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarHartley Sweeten <hsweeten@visionengravers.com>
      Cc: Ryan Mallon <rmallon@gmail.com>
      67e108c5
    • Arnd Bergmann's avatar
      ARM: efm32: select AUTO_ZRELADDR · 1df13d9d
      Arnd Bergmann authored
      The efm32 platform does not provide a zreladdr-y line its Makefile.boot,
      so we always have to use CONFIG_AUTO_ZRELADDR in order to successfully
      build and link a zImage.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Uwe Kleine-König <kernel@pengutronix.de>
      1df13d9d
    • Arnd Bergmann's avatar
      ARM: davinci: fix Kconfig for DA850_EVM · 06f07c9e
      Arnd Bergmann authored
      The DAVINCI_DA850_EVM board uses an unusual method to
      enable the GPIO_PCA953X and KEYBOARD_GPIO_POLLED symbols,
      which leads to the dependencies on these symbols being
      ignored. As GPIO_PCA953X actually requires I2C, that
      can lead to build failures when I2C is disabled.
      
      This patch removes the duplicate symbol definitions
      and instead enables them from the davinci_all_defconfig
      file.
      
      A different question whether we actually want to automatically
      enable them at all or rather put them into defconfig,
      but that should be a separate patch.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarSekhar Nori <nsekhar@ti.com>
      Cc: Kevin Hilman <khilman@deeprootsystems.com>
      Cc: davinci-linux-open-source@linux.davincidsp.com
      06f07c9e
    • Arnd Bergmann's avatar
      ARM: davinci: make dm644x-evm phy fixup conditional · 4bbef1da
      Arnd Bergmann authored
      We cannot call phy_register_fixup_for_uid() if CONFIG_PHYLIB
      is not built into the kernel, and we should not enforce that
      to be built into vmlinux either, because one might want to
      disable the entire network stack.
      
      This change uses a compile-time condition on CONFIG_PHYLIB
      to remove the call in the cases where it cannot work.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarSekhar Nori <nsekhar@ti.com>
      Cc: Kevin Hilman <khilman@deeprootsystems.com>
      Cc: davinci-linux-open-source@linux.davincidsp.com
      4bbef1da
    • Arnd Bergmann's avatar
      ARM: at91: sama5 always uses DT · a1628604
      Arnd Bergmann authored
      It makes no sense for sama5 support to be enabled if we don't
      also enable USE_OF. Making this automatic in Kconfig avoids
      a possible randconfig conflict between the old and new clock
      support code.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarNicolas Ferre <nicolas.ferre@atmel.com>
      Acked-by: default avatarJean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
      a1628604
    • Arnd Bergmann's avatar
      ARM: at91: fix broken "if () else" statement · 871336a9
      Arnd Bergmann authored
      If CONFIG_PATA_AT91 is disabled, the code in at91_add_device_cf
      is turned into invalid C statements due to the lack of an
      expression before the 'else' clause.
      
      This moves the first half of the condition inside of the #ifdef,
      which seems to be what the author intended.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarNicolas Ferre <nicolas.ferre@atmel.com>
      Cc: Andrew Victor <linux@maxim.org.za>
      Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
      871336a9
    • Arnd Bergmann's avatar
      ARM: at91: export sam9_smc interfaces · c85fc989
      Arnd Bergmann authored
      The pata_at91 driver uses interfaces defined in the sam9_smc
      platform code. Since the pata driver can be a loadable module,
      we have to export those symbols in order to link cleanly.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarNicolas Ferre <nicolas.ferre@atmel.com>
      Cc: Andrew Victor <linux@maxim.org.za>
      Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
      c85fc989
    • Arnd Bergmann's avatar
      ARM: at91: don't provide dt init code for at91x40 · dfe36763
      Arnd Bergmann authored
      at91x40 has no support for device tree, but Kconfig allows
      us to enable CONFIG_OF anyway, causing a link error in the
      at91 reset controller initialization.
      
      The easiest fix is to adapt the existing #ifdef to omit
      the broken code on at91x40 where it is never called anyway.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarNicolas Ferre <nicolas.ferre@atmel.com>
      Cc: Andrew Victor <linux@maxim.org.za>
      Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
      dfe36763
    • Arnd Bergmann's avatar
      ARM: at91: split out at91x40 into a top-level option · fe138c23
      Arnd Bergmann authored
      at91x40 is different from all the other at91 machines, and it is
      impossible to build a kernel that works on both this SoC and
      any of the others, even though it is possible to build a noMMU
      kernel for any at91 machine.
      
      By turning at91x40 into a separate top-level option, we explicitly
      forbid enabling invalid configurations that include mutually exclusive
      machines.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarNicolas Ferre <nicolas.ferre@atmel.com>
      Cc: Andrew Victor <linux@maxim.org.za>
      Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
      fe138c23
  2. 16 Feb, 2014 8 commits
    • Linus Torvalds's avatar
      Linux 3.14-rc3 · 6d0abeca
      Linus Torvalds authored
      6d0abeca
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · 3962dfbe
      Linus Torvalds authored
      Pull btrfs fixes from Chris Mason:
       "We have a small collection of fixes in my for-linus branch.
      
        The big thing that stands out is a revert of a new ioctl.  Users
        haven't shipped yet in btrfs-progs, and Dave Sterba found a better way
        to export the information"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
        Btrfs: use right clone root offset for compressed extents
        btrfs: fix null pointer deference at btrfs_sysfs_add_one+0x105
        Btrfs: unset DCACHE_DISCONNECTED when mounting default subvol
        Btrfs: fix max_inline mount option
        Btrfs: fix a lockdep warning when cleaning up aborted transaction
        Revert "btrfs: add ioctl to export size of global metadata reservation"
      3962dfbe
    • Linus Torvalds's avatar
      Merge tag 'dt-fixes-for-3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · 4302a875
      Linus Torvalds authored
      Pull devicetree fixes from Rob Herring:
       "Fix booting on PPC boards.  Changes to of_match_node matching caused
        the serial port on some PPC boards to stop working.  Reverted the
        change and reimplement to split matching between new style compatible
        only matching and fallback to old matching algorithm"
      
      * tag 'dt-fixes-for-3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
        of: search the best compatible match first in __of_match_node()
        Revert "OF: base: match each node compatible against all given matches first"
      4302a875
    • Kevin Hao's avatar
      of: search the best compatible match first in __of_match_node() · 06b29e76
      Kevin Hao authored
      Currently, of_match_node compares each given match against all node's
      compatible strings with of_device_is_compatible.
      
      To achieve multiple compatible strings per node with ordering from
      specific to generic, this requires given matches to be ordered from
      specific to generic. For most of the drivers this is not true and also
      an alphabetical ordering is more sane there.
      
      Therefore, this patch introduces a function to match each of the node's
      compatible strings against all given compatible matches without type and
      name first, before checking the next compatible string. This implies
      that node's compatibles are ordered from specific to generic while
      given matches can be in any order. If we fail to find such a match
      entry, then fall-back to the old method in order to keep compatibility.
      
      Cc: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
      Signed-off-by: default avatarKevin Hao <haokexin@gmail.com>
      Tested-by: default avatarStephen Chivers <schivers@csc.com>
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      06b29e76
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending · 946dd683
      Linus Torvalds authored
      Pull SCSI target fixes from Nicholas Bellinger:
       "Mostly minor fixes this time to v3.14-rc1 related changes.  Also
        included is one fix for a free after use regression in persistent
        reservations UNREGISTER logic that is CC'ed to >= v3.11.y stable"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:
        Target/sbc: Fix protection copy routine
        IB/srpt: replace strict_strtoul() with kstrtoul()
        target: Simplify command completion by removing CMD_T_FAILED flag
        iser-target: Fix leak on failure in isert_conn_create_fastreg_pool
        iscsi-target: Fix SNACK Type 1 + BegRun=0 handling
        target: Fix missing length check in spc_emulate_evpd_83()
        qla2xxx: Remove last vestiges of qla_tgt_cmd.cmd_list
        target: Fix 32-bit + CONFIG_LBDAF=n link error w/ sector_div
        target: Fix free-after-use regression in PR unregister
      946dd683
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 2d0ef4fb
      Linus Torvalds authored
      Pull i2c fixes from Wolfram Sang:
       "i2c has a bugfix and documentation improvements for you"
      
      * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        Documentation: i2c: mention ACPI method for instantiating devices
        Documentation: i2c: describe devicetree method for instantiating devices
        i2c: mv64xxx: refactor message start to ensure proper initialization
      2d0ef4fb
    • Linus Torvalds's avatar
      Merge branches 'irq-urgent-for-linus' and 'irq-core-for-linus' of... · 5a667a0c
      Linus Torvalds authored
      Merge branches 'irq-urgent-for-linus' and 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
      
      Pull irq update from Thomas Gleixner:
       "Fix from the urgent branch: a trivial oneliner adding the missing
        Kconfig dependency curing build failures which have been discovered by
        several build robots.
      
        The update in the irq-core branch provides a new function in the
        irq/devres code, which is a prerequisite for driver developers to get
        rid of boilerplate code all over the place.
      
        Not a bugfix, but it has zero impact on the current kernel due to the
        lack of users.  It's simpler to provide the infrastructure to
        interested parties via your tree than fulfilling the wishlist of
        driver maintainers on which particular commit or tag this should be
        based on"
      
      * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        genirq: Add missing irq_to_desc export for CONFIG_SPARSE_IRQ=n
      
      * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        genirq: Add devm_request_any_context_irq()
      5a667a0c
    • Linus Torvalds's avatar
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 3a19c07c
      Linus Torvalds authored
      Pull timer fixes from Thomas Gleixner:
       "The following trilogy of patches brings you:
      
         - fix for a long standing math overflow issue with HZ < 60
      
         - an onliner fix for a corner case in the dreaded tick broadcast
           mechanism affecting a certain range of AMD machines which are
           infested with the infamous automagic C1E power control misfeature
      
         - a fix for one of the ARM platforms which allows the kernel to
           proceed and boot instead of stupidly panicing for no good reason.
           The patch is slightly larger than necessary, but it's less ugly
           than the alternative 5 liner"
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        tick: Clear broadcast pending bit when switching to oneshot
        clocksource: Kona: Print warning rather than panic
        time: Fix overflow when HZ is smaller than 60
      3a19c07c