Merge tag 'boards' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Linus Torvalds [Wed, 12 Dec 2012 20:14:06 +0000 (12:14 -0800)]
Pull ARM SoC board updates from Olof Johansson:
 "This branch contains a set of various board updates for ARM platforms.

  A few shmobile platforms that are stale have been removed, some
  defconfig updates for various boards selecting new features such as
  pinctrl subsystem support, and various updates enabling peripherals,
  etc."

Fix up conflicts mostly as per Olof.

* tag 'boards' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (58 commits)
  ARM: S3C64XX: Add dummy supplies for Glenfarclas LDOs
  ARM: S3C64XX: Add registration of WM2200 Bells device on Cragganmore
  ARM: kirkwood: Add Plat'Home OpenBlocks A6 support
  ARM: Dove: update defconfig
  ARM: Kirkwood: update defconfig for new boards
  arm: orion5x: add DT related options in defconfig
  arm: orion5x: convert 'LaCie Ethernet Disk mini v2' to Device Tree
  arm: orion5x: basic Device Tree support
  arm: orion5x: mechanical defconfig update
  ARM: kirkwood: Add support for the MPL CEC4
  arm: kirkwood: add support for ZyXEL NSA310
  ARM: Kirkwood: new board USI Topkick
  ARM: kirkwood: use gpio-fan DT binding on lsxl
  ARM: Kirkwood: add Netspace boards to defconfig
  ARM: kirkwood: DT board setup for Network Space Mini v2
  ARM: kirkwood: DT board setup for Network Space Lite v2
  ARM: kirkwood: DT board setup for Network Space v2 and parents
  leds: leds-ns2: add device tree binding
  ARM: Kirkwood: Enable the second I2C bus
  ARM: mmp: select pinctrl driver
  ...

26 files changed:
1  2 
arch/arm/Kconfig
arch/arm/boot/dts/Makefile
arch/arm/configs/armadillo800eva_defconfig
arch/arm/configs/imx_v4_v5_defconfig
arch/arm/configs/imx_v6_v7_defconfig
arch/arm/mach-exynos/mach-origen.c
arch/arm/mach-imx/mach-imx27_visstrim_m10.c
arch/arm/mach-kirkwood/board-dt.c
arch/arm/mach-kirkwood/board-lsxl.c
arch/arm/mach-kirkwood/common.c
arch/arm/mach-kirkwood/common.h
arch/arm/mach-omap1/board-fsample.c
arch/arm/mach-omap1/board-h2.c
arch/arm/mach-omap1/board-h3.c
arch/arm/mach-omap1/board-perseus2.c
arch/arm/mach-omap2/Makefile
arch/arm/mach-omap2/board-4430sdp.c
arch/arm/mach-omap2/board-generic.c
arch/arm/mach-omap2/board-omap4panda.c
arch/arm/mach-omap2/board-rm680.c
arch/arm/mach-omap2/board-rx51.c
arch/arm/mach-shmobile/Kconfig
arch/arm/mach-shmobile/Makefile
arch/arm/mach-shmobile/board-kzm9g.c
arch/arm/mach-shmobile/board-mackerel.c
drivers/leds/leds-ns2.c

Simple merge
@@@ -92,8 -81,8 +101,9 @@@ dtb-$(CONFIG_ARCH_OMAP2PLUS) += omap242
        omap4-sdp.dtb \
        omap5-evm.dtb \
        am335x-evm.dtb \
 +      am335x-evmsk.dtb \
        am335x-bone.dtb
+ dtb-$(CONFIG_ARCH_ORION5X) += orion5x-lacie-ethernet-disk-mini-v2.dtb
  dtb-$(CONFIG_ARCH_PRIMA2) += prima2-evb.dtb
  dtb-$(CONFIG_ARCH_U8500) += snowball.dtb
  dtb-$(CONFIG_ARCH_SHMOBILE) += emev2-kzm9d.dtb \
Simple merge
Simple merge
Simple merge
Simple merge
  #include <linux/kernel.h>
  #include <linux/init.h>
  #include <linux/platform_device.h>
 -#include <linux/mtd/partitions.h>
 -#include <linux/ata_platform.h>
 -#include <linux/spi/flash.h>
 -#include <linux/spi/spi.h>
  #include <linux/mv643xx_eth.h>
  #include <linux/gpio.h>
- #include <linux/gpio-fan.h>
  #include "common.h"
  #include "mpp.h"
  
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
  #include <asm/mach/map.h>
  
  #include "common.h"
 -#include <plat/usb.h>
 -#include <plat/mmc.h>
  #include "omap4-keypad.h"
- #include <video/omapdss.h>
- #include <video/omap-panel-nokia-dsi.h>
- #include <video/omap-panel-picodlp.h>
  #include <linux/wl12xx.h>
  #include <linux/platform_data/omap-abe-twl6040.h>
  
Simple merge
  #include <asm/mach-types.h>
  #include <asm/mach/arch.h>
  #include <asm/mach/map.h>
- #include <video/omapdss.h>
- #include <video/omap-panel-tfp410.h>
  
  #include "common.h"
 -#include <plat/usb.h>
 -#include <plat/mmc.h>
 -
  #include "soc.h"
 +#include "mmc.h"
  #include "hsmmc.h"
  #include "control.h"
  #include "mux.h"
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -263,7 -264,63 +264,63 @@@ static void delete_ns2_led(struct ns2_l
        gpio_free(led_dat->slow);
  }
  
+ #ifdef CONFIG_OF_GPIO
+ /*
+  * Translate OpenFirmware node properties into platform_data.
+  */
 -static int __devinit
++static int
+ ns2_leds_get_of_pdata(struct device *dev, struct ns2_led_platform_data *pdata)
+ {
+       struct device_node *np = dev->of_node;
+       struct device_node *child;
+       struct ns2_led *leds;
+       int num_leds = 0;
+       int i = 0;
+       num_leds = of_get_child_count(np);
+       if (!num_leds)
+               return -ENODEV;
+       leds = devm_kzalloc(dev, num_leds * sizeof(struct ns2_led),
+                           GFP_KERNEL);
+       if (!leds)
+               return -ENOMEM;
+       for_each_child_of_node(np, child) {
+               const char *string;
+               int ret;
+               ret = of_get_named_gpio(child, "cmd-gpio", 0);
+               if (ret < 0)
+                       return ret;
+               leds[i].cmd = ret;
+               ret = of_get_named_gpio(child, "slow-gpio", 0);
+               if (ret < 0)
+                       return ret;
+               leds[i].slow = ret;
+               ret = of_property_read_string(child, "label", &string);
+               leds[i].name = (ret == 0) ? string : child->name;
+               ret = of_property_read_string(child, "linux,default-trigger",
+                                             &string);
+               if (ret == 0)
+                       leds[i].default_trigger = string;
+               i++;
+       }
+       pdata->leds = leds;
+       pdata->num_leds = num_leds;
+       return 0;
+ }
+ static const struct of_device_id of_ns2_leds_match[] = {
+       { .compatible = "lacie,ns2-leds", },
+       {},
+ };
+ #endif /* CONFIG_OF_GPIO */
 -static int __devinit ns2_led_probe(struct platform_device *pdev)
 +static int ns2_led_probe(struct platform_device *pdev)
  {
        struct ns2_led_platform_data *pdata = pdev->dev.platform_data;
        struct ns2_led_data *leds_data;
@@@ -310,10 -381,11 +381,11 @@@ static int ns2_led_remove(struct platfo
  
  static struct platform_driver ns2_led_driver = {
        .probe          = ns2_led_probe,
 -      .remove         = __devexit_p(ns2_led_remove),
 +      .remove         = ns2_led_remove,
        .driver         = {
-               .name   = "leds-ns2",
-               .owner  = THIS_MODULE,
+               .name           = "leds-ns2",
+               .owner          = THIS_MODULE,
+               .of_match_table = of_match_ptr(of_ns2_leds_match),
        },
  };