All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/16 v2] Another round of Device Tree enablement for Snowball
@ 2012-04-19 20:36 Lee Jones
  2012-04-19 20:36 ` [PATCH 01/15] ARM: ux500: Enable the external bus with Device Tree Lee Jones
                   ` (14 more replies)
  0 siblings, 15 replies; 63+ messages in thread
From: Lee Jones @ 2012-04-19 20:36 UTC (permalink / raw)
  To: linux-arm-kernel

This patch-set enables the following devices:
    - External bus for Ethernet chip
    - SMSC9115 Ethernet chip
    - DB8500 PRCMU
    - DB8500 PRCMU Timer (Clocksource)

... and provides the following functionality:
    - Nomadik GPIO controller irqdomain support

... and fixes the following bugs:
    - Attempt to free a non-existent IRQ in SMSC911x
    - Attempt to probe non-existent devices on Snowball

.../devicetree/bindings/gpio/gpio-nmk.txt          |    2 +
 arch/arm/boot/dts/db8500.dtsi                      |   39 ++++++++++++++++++-
 arch/arm/boot/dts/snowball.dts                     |   40 ++++++++++----------
 arch/arm/mach-ux500/board-mop500.c                 |   38 ++++++++++++-------
 arch/arm/mach-ux500/board-mop500.h                 |    3 +
 arch/arm/mach-ux500/cpu-db8500.c                   |   33 ++++++++++++++++
 arch/arm/mach-ux500/cpu.c                          |    1 +
 arch/arm/mach-ux500/timer.c                        |   24 ++++++++++++
 drivers/gpio/gpio-nomadik.c                        |   40 ++++++++++++++++++-
 drivers/mfd/db8500-prcmu.c                         |   10 ++++-
 drivers/mmc/host/mmci.c                            |    5 +-
 drivers/net/ethernet/smsc/smsc911x.c               |    3 +-
 12 files changed, 192 insertions(+), 46 deletions(-)

^ permalink raw reply	[flat|nested] 63+ messages in thread

* [PATCH 01/15] ARM: ux500: Enable the external bus with Device Tree
  2012-04-19 20:36 [PATCH 0/16 v2] Another round of Device Tree enablement for Snowball Lee Jones
@ 2012-04-19 20:36 ` Lee Jones
  2012-04-23 11:36   ` Linus Walleij
  2012-04-19 20:36 ` [PATCH 02/15] drivers/gpio: gpio-nomadik: Add support for irqdomains Lee Jones
                   ` (13 subsequent siblings)
  14 siblings, 1 reply; 63+ messages in thread
From: Lee Jones @ 2012-04-19 20:36 UTC (permalink / raw)
  To: linux-arm-kernel

To allow for proper initialisation of the SMSC9115 Ethernet chip
and other devices which may be connected to the 'external bus',
Device Tree must first enable and traverse though it. This patch
enables the 'external bus' which will facilitate further
initialisation of its suborantate DT nodes.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
 arch/arm/mach-ux500/board-mop500.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/arch/arm/mach-ux500/board-mop500.c b/arch/arm/mach-ux500/board-mop500.c
index d68a73c..7938258 100644
--- a/arch/arm/mach-ux500/board-mop500.c
+++ b/arch/arm/mach-ux500/board-mop500.c
@@ -767,9 +767,10 @@ struct of_dev_auxdata u8500_auxdata_lookup[] __initdata = {
 	{},
 };
 
-static const struct of_device_id u8500_soc_node[] = {
+static const struct of_device_id u8500_local_bus_nodes[] = {
 	/* only create devices below soc node */
 	{ .compatible = "stericsson,db8500", },
+	{ .compatible = "simple-bus"},
 	{ },
 };
 
-- 
1.7.9.1

^ permalink raw reply related	[flat|nested] 63+ messages in thread

* [PATCH 02/15] drivers/gpio: gpio-nomadik: Add support for irqdomains
  2012-04-19 20:36 [PATCH 0/16 v2] Another round of Device Tree enablement for Snowball Lee Jones
  2012-04-19 20:36 ` [PATCH 01/15] ARM: ux500: Enable the external bus with Device Tree Lee Jones
@ 2012-04-19 20:36 ` Lee Jones
  2012-04-23 12:25   ` Linus Walleij
  2012-04-19 20:36 ` [PATCH 03/15] ARM: ux500: Use correct format for dynamic IRQ assignment Lee Jones
                   ` (12 subsequent siblings)
  14 siblings, 1 reply; 63+ messages in thread
From: Lee Jones @ 2012-04-19 20:36 UTC (permalink / raw)
  To: linux-arm-kernel

Add irq domain support to the gpio-nomadik GPIO driver. This
enables its users to support dynamic IRQ assignment, which is
requried by Device Tree.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
 arch/arm/mach-ux500/cpu.c   |   12 +++++
 drivers/gpio/gpio-nomadik.c |  106 +++++++++++++++++++++++-------------------
 2 files changed, 70 insertions(+), 48 deletions(-)

diff --git a/arch/arm/mach-ux500/cpu.c b/arch/arm/mach-ux500/cpu.c
index d11f389..01345d0 100644
--- a/arch/arm/mach-ux500/cpu.c
+++ b/arch/arm/mach-ux500/cpu.c
@@ -30,6 +30,18 @@
 
 void __iomem *_PRCMU_BASE;
 
+/* 
+ * FIXME: Should we set up the GPIO domain here?
+ *
+ * The problem is that we cannot put the interrupt resources into the platform
+ * device until the irqdomain has been added. Right now, we set the GIC interrupt
+ * domain from init_irq(), then load the gpio driver from
+ * core_initcall(nmk_gpio_init) and add the platform devices from
+ * arch_initcall(customize_machine).
+ *
+ * This feels fragile because it depends on the gpio device getting probed
+ * _before_ any device uses the gpio interrupts.
+*/
 static const struct of_device_id ux500_dt_irq_match[] = {
 	{ .compatible = "arm,cortex-a9-gic", .data = gic_of_init, },
 	{},
diff --git a/drivers/gpio/gpio-nomadik.c b/drivers/gpio/gpio-nomadik.c
index 2c2b53c..935f8d9 100644
--- a/drivers/gpio/gpio-nomadik.c
+++ b/drivers/gpio/gpio-nomadik.c
@@ -22,6 +22,7 @@
 #include <linux/spinlock.h>
 #include <linux/interrupt.h>
 #include <linux/irq.h>
+#include <linux/irqdomain.h>
 #include <linux/slab.h>
 
 #include <asm/mach/irq.h>
@@ -43,6 +44,7 @@
 
 struct nmk_gpio_chip {
 	struct gpio_chip chip;
+	struct irq_domain *domain;
 	void __iomem *addr;
 	struct clk *clk;
 	unsigned int bank;
@@ -334,7 +336,7 @@ static int __nmk_config_pins(pin_cfg_t *cfgs, int num, bool sleep)
 		struct nmk_gpio_chip *nmk_chip;
 		int pin = PIN_NUM(cfgs[i]);
 
-		nmk_chip = irq_get_chip_data(NOMADIK_GPIO_TO_IRQ(pin));
+		nmk_chip = nmk_gpio_chips[pin / NMK_GPIO_PER_CHIP];
 		if (!nmk_chip) {
 			ret = -EINVAL;
 			break;
@@ -342,7 +344,7 @@ static int __nmk_config_pins(pin_cfg_t *cfgs, int num, bool sleep)
 
 		clk_enable(nmk_chip->clk);
 		spin_lock(&nmk_chip->lock);
-		__nmk_config_pin(nmk_chip, pin - nmk_chip->chip.base,
+		__nmk_config_pin(nmk_chip, pin % NMK_GPIO_PER_CHIP,
 				 cfgs[i], sleep, glitch ? slpm : NULL);
 		spin_unlock(&nmk_chip->lock);
 		clk_disable(nmk_chip->clk);
@@ -426,7 +428,7 @@ int nmk_gpio_set_slpm(int gpio, enum nmk_gpio_slpm mode)
 	struct nmk_gpio_chip *nmk_chip;
 	unsigned long flags;
 
-	nmk_chip = irq_get_chip_data(NOMADIK_GPIO_TO_IRQ(gpio));
+	nmk_chip = nmk_gpio_chips[gpio / NMK_GPIO_PER_CHIP];
 	if (!nmk_chip)
 		return -EINVAL;
 
@@ -434,7 +436,7 @@ int nmk_gpio_set_slpm(int gpio, enum nmk_gpio_slpm mode)
 	spin_lock_irqsave(&nmk_gpio_slpm_lock, flags);
 	spin_lock(&nmk_chip->lock);
 
-	__nmk_gpio_set_slpm(nmk_chip, gpio - nmk_chip->chip.base, mode);
+	__nmk_gpio_set_slpm(nmk_chip, gpio % NMK_GPIO_PER_CHIP, mode);
 
 	spin_unlock(&nmk_chip->lock);
 	spin_unlock_irqrestore(&nmk_gpio_slpm_lock, flags);
@@ -461,13 +463,13 @@ int nmk_gpio_set_pull(int gpio, enum nmk_gpio_pull pull)
 	struct nmk_gpio_chip *nmk_chip;
 	unsigned long flags;
 
-	nmk_chip = irq_get_chip_data(NOMADIK_GPIO_TO_IRQ(gpio));
+	nmk_chip = nmk_gpio_chips[gpio / NMK_GPIO_PER_CHIP];
 	if (!nmk_chip)
 		return -EINVAL;
 
 	clk_enable(nmk_chip->clk);
 	spin_lock_irqsave(&nmk_chip->lock, flags);
-	__nmk_gpio_set_pull(nmk_chip, gpio - nmk_chip->chip.base, pull);
+	__nmk_gpio_set_pull(nmk_chip, gpio % NMK_GPIO_PER_CHIP, pull);
 	spin_unlock_irqrestore(&nmk_chip->lock, flags);
 	clk_disable(nmk_chip->clk);
 
@@ -489,13 +491,13 @@ int nmk_gpio_set_mode(int gpio, int gpio_mode)
 	struct nmk_gpio_chip *nmk_chip;
 	unsigned long flags;
 
-	nmk_chip = irq_get_chip_data(NOMADIK_GPIO_TO_IRQ(gpio));
+	nmk_chip = nmk_gpio_chips[gpio / NMK_GPIO_PER_CHIP];
 	if (!nmk_chip)
 		return -EINVAL;
 
 	clk_enable(nmk_chip->clk);
 	spin_lock_irqsave(&nmk_chip->lock, flags);
-	__nmk_gpio_set_mode(nmk_chip, gpio - nmk_chip->chip.base, gpio_mode);
+	__nmk_gpio_set_mode(nmk_chip, gpio % NMK_GPIO_PER_CHIP, gpio_mode);
 	spin_unlock_irqrestore(&nmk_chip->lock, flags);
 	clk_disable(nmk_chip->clk);
 
@@ -508,11 +510,11 @@ int nmk_gpio_get_mode(int gpio)
 	struct nmk_gpio_chip *nmk_chip;
 	u32 afunc, bfunc, bit;
 
-	nmk_chip = irq_get_chip_data(NOMADIK_GPIO_TO_IRQ(gpio));
+	nmk_chip = nmk_gpio_chips[gpio / NMK_GPIO_PER_CHIP];
 	if (!nmk_chip)
 		return -EINVAL;
 
-	bit = 1 << (gpio - nmk_chip->chip.base);
+	bit = 1 << (gpio % NMK_GPIO_PER_CHIP);
 
 	clk_enable(nmk_chip->clk);
 
@@ -529,21 +531,19 @@ EXPORT_SYMBOL(nmk_gpio_get_mode);
 /* IRQ functions */
 static inline int nmk_gpio_get_bitmask(int gpio)
 {
-	return 1 << (gpio % 32);
+	return 1 << (gpio % NMK_GPIO_PER_CHIP);
 }
 
 static void nmk_gpio_irq_ack(struct irq_data *d)
 {
-	int gpio;
 	struct nmk_gpio_chip *nmk_chip;
 
-	gpio = NOMADIK_IRQ_TO_GPIO(d->irq);
 	nmk_chip = irq_data_get_irq_chip_data(d);
 	if (!nmk_chip)
 		return;
 
 	clk_enable(nmk_chip->clk);
-	writel(nmk_gpio_get_bitmask(gpio), nmk_chip->addr + NMK_GPIO_IC);
+	writel(nmk_gpio_get_bitmask(d->hwirq), nmk_chip->addr + NMK_GPIO_IC);
 	clk_disable(nmk_chip->clk);
 }
 
@@ -584,7 +584,7 @@ static void __nmk_gpio_set_wake(struct nmk_gpio_chip *nmk_chip,
 				int gpio, bool on)
 {
 	if (nmk_chip->sleepmode) {
-		__nmk_gpio_set_slpm(nmk_chip, gpio - nmk_chip->chip.base,
+		__nmk_gpio_set_slpm(nmk_chip, gpio % NMK_GPIO_PER_CHIP,
 				    on ? NMK_GPIO_SLPM_WAKEUP_ENABLE
 				    : NMK_GPIO_SLPM_WAKEUP_DISABLE);
 	}
@@ -594,14 +594,12 @@ static void __nmk_gpio_set_wake(struct nmk_gpio_chip *nmk_chip,
 
 static int nmk_gpio_irq_maskunmask(struct irq_data *d, bool enable)
 {
-	int gpio;
 	struct nmk_gpio_chip *nmk_chip;
 	unsigned long flags;
 	u32 bitmask;
 
-	gpio = NOMADIK_IRQ_TO_GPIO(d->irq);
 	nmk_chip = irq_data_get_irq_chip_data(d);
-	bitmask = nmk_gpio_get_bitmask(gpio);
+	bitmask = nmk_gpio_get_bitmask(d->hwirq);
 	if (!nmk_chip)
 		return -EINVAL;
 
@@ -609,10 +607,10 @@ static int nmk_gpio_irq_maskunmask(struct irq_data *d, bool enable)
 	spin_lock_irqsave(&nmk_gpio_slpm_lock, flags);
 	spin_lock(&nmk_chip->lock);
 
-	__nmk_gpio_irq_modify(nmk_chip, gpio, NORMAL, enable);
+	__nmk_gpio_irq_modify(nmk_chip, d->hwirq, NORMAL, enable);
 
 	if (!(nmk_chip->real_wake & bitmask))
-		__nmk_gpio_set_wake(nmk_chip, gpio, enable);
+		__nmk_gpio_set_wake(nmk_chip, d->hwirq, enable);
 
 	spin_unlock(&nmk_chip->lock);
 	spin_unlock_irqrestore(&nmk_gpio_slpm_lock, flags);
@@ -636,20 +634,18 @@ static int nmk_gpio_irq_set_wake(struct irq_data *d, unsigned int on)
 	struct nmk_gpio_chip *nmk_chip;
 	unsigned long flags;
 	u32 bitmask;
-	int gpio;
 
-	gpio = NOMADIK_IRQ_TO_GPIO(d->irq);
 	nmk_chip = irq_data_get_irq_chip_data(d);
 	if (!nmk_chip)
 		return -EINVAL;
-	bitmask = nmk_gpio_get_bitmask(gpio);
+	bitmask = nmk_gpio_get_bitmask(d->hwirq);
 
 	clk_enable(nmk_chip->clk);
 	spin_lock_irqsave(&nmk_gpio_slpm_lock, flags);
 	spin_lock(&nmk_chip->lock);
 
 	if (irqd_irq_disabled(d))
-		__nmk_gpio_set_wake(nmk_chip, gpio, on);
+		__nmk_gpio_set_wake(nmk_chip, d->hwirq, on);
 
 	if (on)
 		nmk_chip->real_wake |= bitmask;
@@ -667,17 +663,14 @@ static int nmk_gpio_irq_set_type(struct irq_data *d, unsigned int type)
 {
 	bool enabled = !irqd_irq_disabled(d);
 	bool wake = irqd_is_wakeup_set(d);
-	int gpio;
 	struct nmk_gpio_chip *nmk_chip;
 	unsigned long flags;
 	u32 bitmask;
 
-	gpio = NOMADIK_IRQ_TO_GPIO(d->irq);
 	nmk_chip = irq_data_get_irq_chip_data(d);
-	bitmask = nmk_gpio_get_bitmask(gpio);
+	bitmask = nmk_gpio_get_bitmask(d->hwirq);
 	if (!nmk_chip)
 		return -EINVAL;
-
 	if (type & IRQ_TYPE_LEVEL_HIGH)
 		return -EINVAL;
 	if (type & IRQ_TYPE_LEVEL_LOW)
@@ -687,10 +680,10 @@ static int nmk_gpio_irq_set_type(struct irq_data *d, unsigned int type)
 	spin_lock_irqsave(&nmk_chip->lock, flags);
 
 	if (enabled)
-		__nmk_gpio_irq_modify(nmk_chip, gpio, NORMAL, false);
+		__nmk_gpio_irq_modify(nmk_chip, d->hwirq, NORMAL, false);
 
 	if (enabled || wake)
-		__nmk_gpio_irq_modify(nmk_chip, gpio, WAKE, false);
+		__nmk_gpio_irq_modify(nmk_chip, d->hwirq, WAKE, false);
 
 	nmk_chip->edge_rising &= ~bitmask;
 	if (type & IRQ_TYPE_EDGE_RISING)
@@ -701,10 +694,10 @@ static int nmk_gpio_irq_set_type(struct irq_data *d, unsigned int type)
 		nmk_chip->edge_falling |= bitmask;
 
 	if (enabled)
-		__nmk_gpio_irq_modify(nmk_chip, gpio, NORMAL, true);
+		__nmk_gpio_irq_modify(nmk_chip, d->hwirq, NORMAL, true);
 
 	if (enabled || wake)
-		__nmk_gpio_irq_modify(nmk_chip, gpio, WAKE, true);
+		__nmk_gpio_irq_modify(nmk_chip, d->hwirq, WAKE, true);
 
 	spin_unlock_irqrestore(&nmk_chip->lock, flags);
 	clk_disable(nmk_chip->clk);
@@ -750,7 +743,7 @@ static void __nmk_gpio_irq_handler(unsigned int irq, struct irq_desc *desc,
 	chained_irq_enter(host_chip, desc);
 
 	nmk_chip = irq_get_handler_data(irq);
-	first_irq = NOMADIK_GPIO_TO_IRQ(nmk_chip->chip.base);
+	first_irq = nmk_chip->domain->revmap_data.legacy.first_irq;
 	while (status) {
 		int bit = __ffs(status);
 
@@ -784,18 +777,6 @@ static void nmk_gpio_secondary_irq_handler(unsigned int irq,
 
 static int nmk_gpio_init_irq(struct nmk_gpio_chip *nmk_chip)
 {
-	unsigned int first_irq;
-	int i;
-
-	first_irq = NOMADIK_GPIO_TO_IRQ(nmk_chip->chip.base);
-	for (i = first_irq; i < first_irq + nmk_chip->chip.ngpio; i++) {
-		irq_set_chip_and_handler(i, &nmk_gpio_irq_chip,
-					 handle_edge_irq);
-		set_irq_flags(i, IRQF_VALID);
-		irq_set_chip_data(i, nmk_chip);
-		irq_set_irq_type(i, IRQ_TYPE_EDGE_FALLING);
-	}
-
 	irq_set_chained_handler(nmk_chip->parent_irq, nmk_gpio_irq_handler);
 	irq_set_handler_data(nmk_chip->parent_irq, nmk_chip);
 
@@ -872,7 +853,7 @@ static int nmk_gpio_to_irq(struct gpio_chip *chip, unsigned offset)
 	struct nmk_gpio_chip *nmk_chip =
 		container_of(chip, struct nmk_gpio_chip, chip);
 
-	return NOMADIK_GPIO_TO_IRQ(nmk_chip->chip.base) + offset;
+	return irq_find_mapping(nmk_chip->domain, offset);
 }
 
 #ifdef CONFIG_DEBUG_FS
@@ -1068,6 +1049,27 @@ void nmk_gpio_read_pull(int gpio_bank, u32 *pull_up)
 	}
 }
 
+int nmk_gpio_irq_map(struct irq_domain *d, unsigned int irq,
+			  irq_hw_number_t hwirq)
+{
+	struct nmk_gpio_chip *nmk_chip = d->host_data;
+
+	if (!nmk_chip)
+		return -EINVAL;
+
+	irq_set_chip_and_handler(irq, &nmk_gpio_irq_chip, handle_edge_irq);
+	set_irq_flags(irq, IRQF_VALID);
+	irq_set_chip_data(irq, nmk_chip);
+	irq_set_irq_type(irq, IRQ_TYPE_EDGE_FALLING);
+
+	return 0;
+}
+
+const struct irq_domain_ops nmk_gpio_irq_simple_ops = {
+	.map = nmk_gpio_irq_map,
+	.xlate = irq_domain_xlate_twocell,
+};
+
 static int __devinit nmk_gpio_probe(struct platform_device *dev)
 {
 	struct nmk_gpio_platform_data *pdata = dev->dev.platform_data;
@@ -1096,7 +1098,7 @@ static int __devinit nmk_gpio_probe(struct platform_device *dev)
 		if (of_property_read_u32(np, "gpio-bank", &dev->id)) {
 			dev_err(&dev->dev, "gpio-bank property not found\n");
 			ret = -EINVAL;
-			goto out_dt;
+			goto out;
 		}
 
 		pdata->first_gpio = dev->id * NMK_GPIO_PER_CHIP;
@@ -1173,6 +1175,15 @@ static int __devinit nmk_gpio_probe(struct platform_device *dev)
 
 	platform_set_drvdata(dev, nmk_chip);
 
+	nmk_chip->domain = irq_domain_add_legacy(np, NMK_GPIO_PER_CHIP,
+						NOMADIK_GPIO_TO_IRQ(pdata->first_gpio),
+						0, &nmk_gpio_irq_simple_ops, nmk_chip);
+	if (!nmk_chip->domain) {
+		pr_err("%s: Failed to create irqdomain\n", np->full_name);
+		ret = -ENOSYS;
+		goto out_free;
+	}
+
 	nmk_gpio_init_irq(nmk_chip);
 
 	dev_info(&dev->dev, "at address %p\n", nmk_chip->addr);
@@ -1189,7 +1200,6 @@ out_release:
 out:
 	dev_err(&dev->dev, "Failure %i for GPIO %i-%i\n", ret,
 		  pdata->first_gpio, pdata->first_gpio+31);
-out_dt:
 	if (np)
 		kfree(pdata);
 
-- 
1.7.9.1

^ permalink raw reply related	[flat|nested] 63+ messages in thread

* [PATCH 03/15] ARM: ux500: Use correct format for dynamic IRQ assignment
  2012-04-19 20:36 [PATCH 0/16 v2] Another round of Device Tree enablement for Snowball Lee Jones
  2012-04-19 20:36 ` [PATCH 01/15] ARM: ux500: Enable the external bus with Device Tree Lee Jones
  2012-04-19 20:36 ` [PATCH 02/15] drivers/gpio: gpio-nomadik: Add support for irqdomains Lee Jones
@ 2012-04-19 20:36 ` Lee Jones
  2012-04-23 13:13   ` Linus Walleij
  2012-04-19 20:36   ` Lee Jones
                   ` (11 subsequent siblings)
  14 siblings, 1 reply; 63+ messages in thread
From: Lee Jones @ 2012-04-19 20:36 UTC (permalink / raw)
  To: linux-arm-kernel

This patch applies the correct format requested by the irq
domain. For chained IRQs which use GPIO lines as IRQs, we
stipulate that a two cell request is required. The first cell
contains the requested IRQ and the second can contain flags
pertaining to edge detection and level sensitive values. The
zeroth cell specifies the GPIO controller by use of a phandle.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
 arch/arm/boot/dts/db8500.dtsi  |   22 ++++++++++++++++++++--
 arch/arm/boot/dts/snowball.dts |   20 +++++++++-----------
 2 files changed, 29 insertions(+), 13 deletions(-)

diff --git a/arch/arm/boot/dts/db8500.dtsi b/arch/arm/boot/dts/db8500.dtsi
index 57d3d35..9e8ff2c 100644
--- a/arch/arm/boot/dts/db8500.dtsi
+++ b/arch/arm/boot/dts/db8500.dtsi
@@ -24,7 +24,6 @@
 			#interrupt-cells = <3>;
 			#address-cells = <1>;
 			interrupt-controller;
-			interrupt-parent;
 			reg = <0xa0411000 0x1000>,
 			      <0xa0410100 0x100>;
 		};
@@ -59,6 +58,8 @@
 				"st,nomadik-gpio";
 			reg =  <0x8012e000 0x80>;
 			interrupts = <0 119 0x4>;
+			interrupt-controller;
+			#interrupt-cells = <2>;
 			supports-sleepmode;
 			gpio-controller;
 			#gpio-cells = <2>;
@@ -70,6 +71,8 @@
 				"st,nomadik-gpio";
 			reg =  <0x8012e080 0x80>;
 			interrupts = <0 120 0x4>;
+			interrupt-controller;
+			#interrupt-cells = <2>;
 			supports-sleepmode;
 			gpio-controller;
 			#gpio-cells = <2>;
@@ -81,6 +84,8 @@
 				"st,nomadik-gpio";
 			reg =  <0x8000e000 0x80>;
 			interrupts = <0 121 0x4>;
+			interrupt-controller;
+			#interrupt-cells = <2>;
 			supports-sleepmode;
 			gpio-controller;
 			#gpio-cells = <2>;
@@ -92,6 +97,8 @@
 				"st,nomadik-gpio";
 			reg =  <0x8000e080 0x80>;
 			interrupts = <0 122 0x4>;
+			interrupt-controller;
+			#interrupt-cells = <2>;
 			supports-sleepmode;
 			gpio-controller;
 			#gpio-cells = <2>;
@@ -103,6 +110,8 @@
 				"st,nomadik-gpio";
 			reg =  <0x8000e100 0x80>;
 			interrupts = <0 123 0x4>;
+			interrupt-controller;
+			#interrupt-cells = <2>;
 			supports-sleepmode;
 			gpio-controller;
 			#gpio-cells = <2>;
@@ -114,6 +123,8 @@
 				"st,nomadik-gpio";
 			reg =  <0x8000e180 0x80>;
 			interrupts = <0 124 0x4>;
+			interrupt-controller;
+			#interrupt-cells = <2>;
 			supports-sleepmode;
 			gpio-controller;
 			#gpio-cells = <2>;
@@ -125,6 +136,8 @@
 				"st,nomadik-gpio";
 			reg =  <0x8011e000 0x80>;
 			interrupts = <0 125 0x4>;
+			interrupt-controller;
+			#interrupt-cells = <2>;
 			supports-sleepmode;
 			gpio-controller;
 			#gpio-cells = <2>;
@@ -136,6 +149,8 @@
 				"st,nomadik-gpio";
 			reg =  <0x8011e080 0x80>;
 			interrupts = <0 126 0x4>;
+			interrupt-controller;
+			#interrupt-cells = <2>;
 			supports-sleepmode;
 			gpio-controller;
 			#gpio-cells = <2>;
@@ -147,6 +162,8 @@
 				"st,nomadik-gpio";
 			reg =  <0xa03fe000 0x80>;
 			interrupts = <0 127 0x4>;
+			interrupt-controller;
+			#interrupt-cells = <2>;
 			supports-sleepmode;
 			gpio-controller;
 			#gpio-cells = <2>;
@@ -230,7 +247,8 @@
 			status = "disabled";
 
 			// Add one of these for each child device
-			cs-gpios = <&gpio0 31 &gpio4 14 &gpio4 16 &gpio6 22 &gpio7 0>;
+			cs-gpios = <&gpio0 31 0x4 &gpio4 14 0x4 &gpio4 16 0x4
+				    &gpio6 22 0x4 &gpio7 0 0x4>;
 
 		};
 
diff --git a/arch/arm/boot/dts/snowball.dts b/arch/arm/boot/dts/snowball.dts
index fb2a037..0ba0955 100644
--- a/arch/arm/boot/dts/snowball.dts
+++ b/arch/arm/boot/dts/snowball.dts
@@ -30,35 +30,35 @@
 			wakeup = <1>;
 			linux,code = <2>;
 			label = "userpb";
-			gpios = <&gpio1 0 0>;
+			gpios = <&gpio1 0 0x4>;
 		};
 		button at 2 {
 			debounce_interval = <50>;
 			wakeup = <1>;
 			linux,code = <3>;
 			label = "extkb1";
-			gpios = <&gpio4 23 0>;
+			gpios = <&gpio4 23 0x4>;
 		};
 		button at 3 {
 			debounce_interval = <50>;
 			wakeup = <1>;
 			linux,code = <4>;
 			label = "extkb2";
-			gpios = <&gpio4 24 0>;
+			gpios = <&gpio4 24 0x4>;
 		};
 		button at 4 {
 			debounce_interval = <50>;
 			wakeup = <1>;
 			linux,code = <5>;
 			label = "extkb3";
-			gpios = <&gpio5 1 0>;
+			gpios = <&gpio5 1 0x4>;
 		};
 		button at 5 {
 			debounce_interval = <50>;
 			wakeup = <1>;
 			linux,code = <6>;
 			label = "extkb4";
-			gpios = <&gpio5 2 0>;
+			gpios = <&gpio5 2 0x4>;
 		};
 	};
 
@@ -66,12 +66,11 @@
 		compatible = "gpio-leds";
 		used-led {
 			label = "user_led";
-			gpios = <&gpio4 14>;
+			gpios = <&gpio4 14 0x4>;
 		};
 	};
 
 	soc-u9500 {
-
 		external-bus at 50000000 {
 			compatible = "simple-bus";
 			reg = <0x50000000 0x10000000>;
@@ -82,7 +81,7 @@
 			ethernet at 50000000 {
 				compatible = "smsc,9111";
 				reg = <0x50000000 0x10000>;
-				interrupts = <12>;
+				interrupts = <12 0x4>;
 				interrupt-parent = <&gpio4>;
 			};
 		};
@@ -94,8 +93,7 @@
 			bus-width = <8>;
 			mmc-cap-mmc-highspeed;
 
-			#gpio-cells = <1>;
-			cd-gpios  = <&gpio6 26>; // 218
+			cd-gpios  = <&gpio6 26 0x4>; // 218
 			cd-inverted;
 
 			status = "okay";
@@ -127,7 +125,7 @@
 			tc3589x at 42 {
 				//compatible = "tc3589x";
 				reg = <0x42>;
-				interrupts = <25>;
+				gpios = <&gpio6 25 0x4>;
 				interrupt-parent = <&gpio6>;
 			};
 			tps61052 at 33 {
-- 
1.7.9.1

^ permalink raw reply related	[flat|nested] 63+ messages in thread

* [PATCH 04/15] drivers/net: Do not free an IRQ if its request failed
  2012-04-19 20:36 [PATCH 0/16 v2] Another round of Device Tree enablement for Snowball Lee Jones
@ 2012-04-19 20:36   ` Lee Jones
  2012-04-19 20:36 ` [PATCH 02/15] drivers/gpio: gpio-nomadik: Add support for irqdomains Lee Jones
                     ` (13 subsequent siblings)
  14 siblings, 0 replies; 63+ messages in thread
From: Lee Jones @ 2012-04-19 20:36 UTC (permalink / raw)
  To: linux-arm-kernel, arnd, linus.walleij, grant.likely, cjb, linux
  Cc: Lee Jones, netdev

Refrain from attempting to free an interrupt line if the request
fails and hence, there is no IRQ to free.

CC: netdev@vger.kernel.org
Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
 drivers/net/ethernet/smsc/smsc911x.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/smsc/smsc911x.c b/drivers/net/ethernet/smsc/smsc911x.c
index 4a69710..f17a76e 100644
--- a/drivers/net/ethernet/smsc/smsc911x.c
+++ b/drivers/net/ethernet/smsc/smsc911x.c
@@ -2382,7 +2382,6 @@ static int __devinit smsc911x_drv_probe(struct platform_device *pdev)
 	SET_NETDEV_DEV(dev, &pdev->dev);
 
 	pdata = netdev_priv(dev);
-
 	dev->irq = irq_res->start;
 	irq_flags = irq_res->flags & IRQF_TRIGGER_MASK;
 	pdata->ioaddr = ioremap_nocache(res->start, res_size);
@@ -2446,7 +2445,7 @@ static int __devinit smsc911x_drv_probe(struct platform_device *pdev)
 	if (retval) {
 		SMSC_WARN(pdata, probe,
 			  "Unable to claim requested irq: %d", dev->irq);
-		goto out_free_irq;
+		goto out_disable_resources;
 	}
 
 	retval = register_netdev(dev);
-- 
1.7.9.1

^ permalink raw reply related	[flat|nested] 63+ messages in thread

* [PATCH 04/15] drivers/net: Do not free an IRQ if its request failed
@ 2012-04-19 20:36   ` Lee Jones
  0 siblings, 0 replies; 63+ messages in thread
From: Lee Jones @ 2012-04-19 20:36 UTC (permalink / raw)
  To: linux-arm-kernel

Refrain from attempting to free an interrupt line if the request
fails and hence, there is no IRQ to free.

CC: netdev at vger.kernel.org
Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
 drivers/net/ethernet/smsc/smsc911x.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/smsc/smsc911x.c b/drivers/net/ethernet/smsc/smsc911x.c
index 4a69710..f17a76e 100644
--- a/drivers/net/ethernet/smsc/smsc911x.c
+++ b/drivers/net/ethernet/smsc/smsc911x.c
@@ -2382,7 +2382,6 @@ static int __devinit smsc911x_drv_probe(struct platform_device *pdev)
 	SET_NETDEV_DEV(dev, &pdev->dev);
 
 	pdata = netdev_priv(dev);
-
 	dev->irq = irq_res->start;
 	irq_flags = irq_res->flags & IRQF_TRIGGER_MASK;
 	pdata->ioaddr = ioremap_nocache(res->start, res_size);
@@ -2446,7 +2445,7 @@ static int __devinit smsc911x_drv_probe(struct platform_device *pdev)
 	if (retval) {
 		SMSC_WARN(pdata, probe,
 			  "Unable to claim requested irq: %d", dev->irq);
-		goto out_free_irq;
+		goto out_disable_resources;
 	}
 
 	retval = register_netdev(dev);
-- 
1.7.9.1

^ permalink raw reply related	[flat|nested] 63+ messages in thread

* [PATCH 05/15] ARM: ux500: New DT:ed snowball_platform_devs for one-by-one device enablement
  2012-04-19 20:36 [PATCH 0/16 v2] Another round of Device Tree enablement for Snowball Lee Jones
                   ` (3 preceding siblings ...)
  2012-04-19 20:36   ` Lee Jones
@ 2012-04-19 20:36 ` Lee Jones
  2012-04-24 10:05   ` Lee Jones
  2012-04-19 20:36 ` [PATCH 06/15] ARM: ux500: New DT:ed u8500_init_devices " Lee Jones
                   ` (9 subsequent siblings)
  14 siblings, 1 reply; 63+ messages in thread
From: Lee Jones @ 2012-04-19 20:36 UTC (permalink / raw)
  To: linux-arm-kernel

During Device Tree enablement it is necessary to remove
snowball_<device>* platform_data segments one at at time,
as and when particular devices are DT enabled. This patch
provides a temporary solution. Once this new struct is
empty it will be removed again.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
 arch/arm/mach-ux500/board-mop500.c |   19 +++++++++++++++++--
 1 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-ux500/board-mop500.c b/arch/arm/mach-ux500/board-mop500.c
index 7938258..0dbcdd2 100644
--- a/arch/arm/mach-ux500/board-mop500.c
+++ b/arch/arm/mach-ux500/board-mop500.c
@@ -609,6 +609,13 @@ static struct platform_device *snowball_platform_devs[] __initdata = {
 	&ab8500_device,
 };
 
+static struct platform_device *snowball_of_platform_devs[] __initdata = {
+	&snowball_led_dev,
+	&snowball_key_dev,
+	&snowball_sbnet_dev,
+	&ab8500_device,
+};
+
 static void __init mop500_init_machine(void)
 {
 	struct device *parent = NULL;
@@ -801,8 +808,16 @@ static void __init u8500_init_machine(void)
 		mop500_sdi_init(parent);
 	} else if (of_machine_is_compatible("calaosystems,snowball-a9500")) {
 		snowball_pins_init();
-		platform_add_devices(snowball_platform_devs,
-				ARRAY_SIZE(snowball_platform_devs));
+
+		/*
+		 * Devices to be DT:ed:
+		 *   snowball_led_dev   = todo
+		 *   snowball_key_dev   = todo
+		 *   snowball_sbnet_dev = done
+		 *   ab8500_device      = todo
+		 */
+		platform_add_devices(snowball_of_platform_devs,
+				ARRAY_SIZE(snowball_of_platform_devs));
 
 	} else if (of_machine_is_compatible("st-ericsson,hrefv60+")) {
 		/*
-- 
1.7.9.1

^ permalink raw reply related	[flat|nested] 63+ messages in thread

* [PATCH 06/15] ARM: ux500: New DT:ed u8500_init_devices for one-by-one device enablement
  2012-04-19 20:36 [PATCH 0/16 v2] Another round of Device Tree enablement for Snowball Lee Jones
                   ` (4 preceding siblings ...)
  2012-04-19 20:36 ` [PATCH 05/15] ARM: ux500: New DT:ed snowball_platform_devs for one-by-one device enablement Lee Jones
@ 2012-04-19 20:36 ` Lee Jones
  2012-04-19 20:36 ` [PATCH 07/15] ARM: ux500: Enable the SMSC9115 on Snowball via Device Tree Lee Jones
                   ` (8 subsequent siblings)
  14 siblings, 0 replies; 63+ messages in thread
From: Lee Jones @ 2012-04-19 20:36 UTC (permalink / raw)
  To: linux-arm-kernel

During Device Tree enablement it is necessary to remove
<hw_component>_add_<device> calls one at at time, as and when
particular devices are DT enabled. This patch provides a
temporary solution. Once the new *of_init_devices function
has been fully unpopulated it will be removed again.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
 arch/arm/mach-ux500/board-mop500.c |    2 +-
 arch/arm/mach-ux500/board-mop500.h |    3 +++
 arch/arm/mach-ux500/cpu-db8500.c   |   22 ++++++++++++++++++++++
 3 files changed, 26 insertions(+), 1 deletions(-)

diff --git a/arch/arm/mach-ux500/board-mop500.c b/arch/arm/mach-ux500/board-mop500.c
index 0dbcdd2..50809af 100644
--- a/arch/arm/mach-ux500/board-mop500.c
+++ b/arch/arm/mach-ux500/board-mop500.c
@@ -787,7 +787,7 @@ static void __init u8500_init_machine(void)
 	int i2c0_devs;
 	int i;
 
-	parent = u8500_init_devices();
+	parent = u8500_of_init_devices();
 	i2c0_devs = ARRAY_SIZE(mop500_i2c0_devices);
 
 	for (i = 0; i < ARRAY_SIZE(mop500_platform_devs); i++)
diff --git a/arch/arm/mach-ux500/board-mop500.h b/arch/arm/mach-ux500/board-mop500.h
index 384baf7..fd94722 100644
--- a/arch/arm/mach-ux500/board-mop500.h
+++ b/arch/arm/mach-ux500/board-mop500.h
@@ -92,4 +92,7 @@ void __init snowball_pins_init(void);
 void mop500_uib_i2c_add(int busnum, struct i2c_board_info *info,
 		unsigned n);
 
+/* TODO: Once all pieces are DT:ed, remove completely. */
+struct device * __init u8500_of_init_devices(void);
+
 #endif
diff --git a/arch/arm/mach-ux500/cpu-db8500.c b/arch/arm/mach-ux500/cpu-db8500.c
index 9bd8163..58768d9 100644
--- a/arch/arm/mach-ux500/cpu-db8500.c
+++ b/arch/arm/mach-ux500/cpu-db8500.c
@@ -206,3 +206,25 @@ struct device * __init u8500_init_devices(void)
 
 	return parent;
 }
+
+/* TODO: Once all pieces are DT:ed, remove completely. */
+struct device * __init u8500_of_init_devices(void)
+{
+	struct device *parent;
+	int i;
+
+	parent = db8500_soc_device_init();
+
+	db8500_add_rtc(parent);
+	db8500_add_usb(parent, usb_db8500_rx_dma_cfg, usb_db8500_tx_dma_cfg);
+
+	platform_device_register_data(parent,
+		"cpufreq-u8500", -1, NULL, 0);
+
+	for (i = 0; i < ARRAY_SIZE(platform_devs); i++)
+		platform_devs[i]->dev.parent = parent;
+
+	platform_add_devices(platform_devs, ARRAY_SIZE(platform_devs));
+
+	return parent;
+}
-- 
1.7.9.1

^ permalink raw reply related	[flat|nested] 63+ messages in thread

* [PATCH 07/15] ARM: ux500: Enable the SMSC9115 on Snowball via Device Tree
  2012-04-19 20:36 [PATCH 0/16 v2] Another round of Device Tree enablement for Snowball Lee Jones
                   ` (5 preceding siblings ...)
  2012-04-19 20:36 ` [PATCH 06/15] ARM: ux500: New DT:ed u8500_init_devices " Lee Jones
@ 2012-04-19 20:36 ` Lee Jones
  2012-04-24  7:53   ` Linus Walleij
  2012-04-24  9:48   ` [PATCH 07/15] ARM: ux500: Enable the SMSC9115 on Snowball via Device Tree Lee Jones
  2012-04-19 20:36 ` [PATCH 08/15] drivers/mmc: MMCI: Use correct GPIO binding for IRQ requests Lee Jones
                   ` (7 subsequent siblings)
  14 siblings, 2 replies; 63+ messages in thread
From: Lee Jones @ 2012-04-19 20:36 UTC (permalink / raw)
  To: linux-arm-kernel

Enable the Ethernet port by providing correct information via DT.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
 arch/arm/boot/dts/snowball.dts     |   10 ++++++++--
 arch/arm/mach-ux500/board-mop500.c |    1 -
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/arch/arm/boot/dts/snowball.dts b/arch/arm/boot/dts/snowball.dts
index 0ba0955..22b82cc 100644
--- a/arch/arm/boot/dts/snowball.dts
+++ b/arch/arm/boot/dts/snowball.dts
@@ -79,10 +79,16 @@
 			ranges;
 
 			ethernet at 50000000 {
-				compatible = "smsc,9111";
+				compatible = "smsc,lan9115";
 				reg = <0x50000000 0x10000>;
-				interrupts = <12 0x4>;
+				interrupts = <12 0x1>;
 				interrupt-parent = <&gpio4>;
+
+				reg-shift = <1>;
+				reg-io-width = <2>;
+				smsc,force-internal-phy;
+				smsc,irq-active-high;
+				smsc,irq-push-pull;
 			};
 		};
 
diff --git a/arch/arm/mach-ux500/board-mop500.c b/arch/arm/mach-ux500/board-mop500.c
index 50809af..9dbd34b 100644
--- a/arch/arm/mach-ux500/board-mop500.c
+++ b/arch/arm/mach-ux500/board-mop500.c
@@ -612,7 +612,6 @@ static struct platform_device *snowball_platform_devs[] __initdata = {
 static struct platform_device *snowball_of_platform_devs[] __initdata = {
 	&snowball_led_dev,
 	&snowball_key_dev,
-	&snowball_sbnet_dev,
 	&ab8500_device,
 };
 
-- 
1.7.9.1

^ permalink raw reply related	[flat|nested] 63+ messages in thread

* [PATCH 08/15] drivers/mmc: MMCI: Use correct GPIO binding for IRQ requests
  2012-04-19 20:36 [PATCH 0/16 v2] Another round of Device Tree enablement for Snowball Lee Jones
                   ` (6 preceding siblings ...)
  2012-04-19 20:36 ` [PATCH 07/15] ARM: ux500: Enable the SMSC9115 on Snowball via Device Tree Lee Jones
@ 2012-04-19 20:36 ` Lee Jones
  2012-04-24  7:51   ` Linus Walleij
  2012-04-19 20:36 ` [PATCH 09/15] ARM: ux500: Correctly describe SMSC9115 for Snowball in DT Lee Jones
                   ` (6 subsequent siblings)
  14 siblings, 1 reply; 63+ messages in thread
From: Lee Jones @ 2012-04-19 20:36 UTC (permalink / raw)
  To: linux-arm-kernel

Now there are irqdomains in place for Snowball, we can request
GPIO IRQs directly by their binding. This replaces the previous method
of hard-coding the hwirq using u32 values in the DT.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
 drivers/mmc/host/mmci.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/mmc/host/mmci.c b/drivers/mmc/host/mmci.c
index 5a7da17..2303a16 100644
--- a/drivers/mmc/host/mmci.c
+++ b/drivers/mmc/host/mmci.c
@@ -26,6 +26,7 @@
 #include <linux/clk.h>
 #include <linux/scatterlist.h>
 #include <linux/gpio.h>
+#include <linux/of_gpio.h>
 #include <linux/regulator/consumer.h>
 #include <linux/dmaengine.h>
 #include <linux/dma-mapping.h>
@@ -1203,11 +1204,11 @@ static void mmci_dt_populate_generic_pdata(struct device_node *np,
 {
 	int bus_width = 0;
 
-	of_property_read_u32(np, "wp-gpios", &pdata->gpio_wp);
+	pdata->gpio_wp = of_get_named_gpio(np, "wp-gpios", 0);
 	if (!pdata->gpio_wp)
 		pdata->gpio_wp = -1;
 
-	of_property_read_u32(np, "cd-gpios", &pdata->gpio_cd);
+	pdata->gpio_cd = of_get_named_gpio(np, "cd-gpios", 0);
 	if (!pdata->gpio_cd)
 		pdata->gpio_cd = -1;
 
-- 
1.7.9.1

^ permalink raw reply related	[flat|nested] 63+ messages in thread

* [PATCH 09/15] ARM: ux500: Correctly describe SMSC9115 for Snowball in DT
  2012-04-19 20:36 [PATCH 0/16 v2] Another round of Device Tree enablement for Snowball Lee Jones
                   ` (7 preceding siblings ...)
  2012-04-19 20:36 ` [PATCH 08/15] drivers/mmc: MMCI: Use correct GPIO binding for IRQ requests Lee Jones
@ 2012-04-19 20:36 ` Lee Jones
  2012-04-24  7:54   ` Linus Walleij
  2012-04-19 20:36 ` [PATCH 10/15] drivers/gpio: represent gpio-nomadik as an IRQ controller in DT documentation Lee Jones
                   ` (5 subsequent siblings)
  14 siblings, 1 reply; 63+ messages in thread
From: Lee Jones @ 2012-04-19 20:36 UTC (permalink / raw)
  To: linux-arm-kernel

Here we split the description of the external-bus at 50000000 over
two description files. In the more generic db8500 description file
we only specify the external-bus. Normally this would be used to
communicate with a NOR-flash device. On the Snowball however, the
SMSC9115 Ethernet chip occupies it. In the Snowball board specific
description file is where we actually specify that it is in fact the
Ethernet device which lives here.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
 arch/arm/boot/dts/db8500.dtsi  |    9 +++++++++
 arch/arm/boot/dts/snowball.dts |   10 +++-------
 2 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/arch/arm/boot/dts/db8500.dtsi b/arch/arm/boot/dts/db8500.dtsi
index 9e8ff2c..f633210 100644
--- a/arch/arm/boot/dts/db8500.dtsi
+++ b/arch/arm/boot/dts/db8500.dtsi
@@ -307,5 +307,14 @@
 			interrupts = <0 100 0x4>;
 			status = "disabled";
 		};
+
+		external-bus at 50000000 {
+			compatible = "simple-bus";
+			reg = <0x50000000 0x4000000>;
+			#address-cells = <1>;
+			#size-cells = <1>;
+			ranges = <0 0x50000000 0x4000000>;
+			status = "disabled";
+		};
 	};
 };
diff --git a/arch/arm/boot/dts/snowball.dts b/arch/arm/boot/dts/snowball.dts
index 22b82cc..56f8a76 100644
--- a/arch/arm/boot/dts/snowball.dts
+++ b/arch/arm/boot/dts/snowball.dts
@@ -72,15 +72,11 @@
 
 	soc-u9500 {
 		external-bus at 50000000 {
-			compatible = "simple-bus";
-			reg = <0x50000000 0x10000000>;
-			#address-cells = <1>;
-			#size-cells = <1>;
-			ranges;
+			status = "okay";
 
-			ethernet at 50000000 {
+			ethernet at 0 {
 				compatible = "smsc,lan9115";
-				reg = <0x50000000 0x10000>;
+				reg = <0 0x10000>;
 				interrupts = <12 0x1>;
 				interrupt-parent = <&gpio4>;
 
-- 
1.7.9.1

^ permalink raw reply related	[flat|nested] 63+ messages in thread

* [PATCH 10/15] drivers/gpio: represent gpio-nomadik as an IRQ controller in DT documentation
  2012-04-19 20:36 [PATCH 0/16 v2] Another round of Device Tree enablement for Snowball Lee Jones
                   ` (8 preceding siblings ...)
  2012-04-19 20:36 ` [PATCH 09/15] ARM: ux500: Correctly describe SMSC9115 for Snowball in DT Lee Jones
@ 2012-04-19 20:36 ` Lee Jones
  2012-04-24  7:57   ` Linus Walleij
  2012-04-19 20:36 ` [PATCH 11/15] ARM: ux500: Do not attempt to register non-existent i2c devices on Snowball Lee Jones
                   ` (4 subsequent siblings)
  14 siblings, 1 reply; 63+ messages in thread
From: Lee Jones @ 2012-04-19 20:36 UTC (permalink / raw)
  To: linux-arm-kernel

Now gpio-nomadik has proper bindings devices initialised by Device Tree
entries are able to use the chained GPIO IRQ lines it provides. This
patch aims to reflect that in the gpio-nmk documentation.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
 .../devicetree/bindings/gpio/gpio-nmk.txt          |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/Documentation/devicetree/bindings/gpio/gpio-nmk.txt b/Documentation/devicetree/bindings/gpio/gpio-nmk.txt
index 3856789..ee87467 100644
--- a/Documentation/devicetree/bindings/gpio/gpio-nmk.txt
+++ b/Documentation/devicetree/bindings/gpio/gpio-nmk.txt
@@ -13,6 +13,7 @@ Required properties:
                                   4 = active high level-sensitive.
                                   8 = active low level-sensitive.
 - gpio-controller       : Marks the device node as a GPIO controller.
+- interrupt-controller  : Marks the device node as an interrupt controller.
 - gpio-bank             : Specifies which bank a controller owns.
 - st,supports-sleepmode : Specifies whether controller can sleep or not
 
@@ -24,6 +25,7 @@ Example:
                         interrupts = <0 120 0x4>;
                         #gpio-cells = <2>;
                         gpio-controller;
+                        interrupt-controller;
                         supports-sleepmode;
                         gpio-bank = <1>;
                 };
-- 
1.7.9.1

^ permalink raw reply related	[flat|nested] 63+ messages in thread

* [PATCH 11/15] ARM: ux500: Do not attempt to register non-existent i2c devices on Snowball
  2012-04-19 20:36 [PATCH 0/16 v2] Another round of Device Tree enablement for Snowball Lee Jones
                   ` (9 preceding siblings ...)
  2012-04-19 20:36 ` [PATCH 10/15] drivers/gpio: represent gpio-nomadik as an IRQ controller in DT documentation Lee Jones
@ 2012-04-19 20:36 ` Lee Jones
  2012-04-24  8:05   ` Linus Walleij
  2012-04-19 20:36 ` [PATCH 12/15] mfd/db8500-prcmu: Register as a platform driver instead of only probing Lee Jones
                   ` (3 subsequent siblings)
  14 siblings, 1 reply; 63+ messages in thread
From: Lee Jones @ 2012-04-19 20:36 UTC (permalink / raw)
  To: linux-arm-kernel

This patch prevents i2c devices which are not present on the Snowball
low-cost development board from being registered. Devices such as;
tc3589x, bu1780 and lp5521 are present on other supported boards,
but are not located on Snowball.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
 arch/arm/mach-ux500/board-mop500.c |   24 +++++++++++++-----------
 1 files changed, 13 insertions(+), 11 deletions(-)

diff --git a/arch/arm/mach-ux500/board-mop500.c b/arch/arm/mach-ux500/board-mop500.c
index 9dbd34b..a471c4a 100644
--- a/arch/arm/mach-ux500/board-mop500.c
+++ b/arch/arm/mach-ux500/board-mop500.c
@@ -652,7 +652,6 @@ static void __init mop500_init_machine(void)
 static void __init snowball_init_machine(void)
 {
 	struct device *parent = NULL;
-	int i2c0_devs;
 	int i;
 
 	parent = u8500_init_devices();
@@ -670,11 +669,6 @@ static void __init snowball_init_machine(void)
 	mop500_spi_init(parent);
 	mop500_uart_init(parent);
 
-	i2c0_devs = ARRAY_SIZE(mop500_i2c0_devices);
-	i2c_register_board_info(0, mop500_i2c0_devices, i2c0_devs);
-	i2c_register_board_info(2, mop500_i2c2_devices,
-				ARRAY_SIZE(mop500_i2c2_devices));
-
 	/* This board has full regulator constraints */
 	regulator_has_full_constraints();
 }
@@ -787,7 +781,6 @@ static void __init u8500_init_machine(void)
 	int i;
 
 	parent = u8500_of_init_devices();
-	i2c0_devs = ARRAY_SIZE(mop500_i2c0_devices);
 
 	for (i = 0; i < ARRAY_SIZE(mop500_platform_devs); i++)
 		mop500_platform_devs[i]->dev.parent = parent;
@@ -805,6 +798,12 @@ static void __init u8500_init_machine(void)
 				ARRAY_SIZE(mop500_platform_devs));
 
 		mop500_sdi_init(parent);
+
+		i2c0_devs = ARRAY_SIZE(mop500_i2c0_devices);
+		i2c_register_board_info(0, mop500_i2c0_devices, i2c0_devs);
+		i2c_register_board_info(2, mop500_i2c2_devices,
+					ARRAY_SIZE(mop500_i2c2_devices));
+
 	} else if (of_machine_is_compatible("calaosystems,snowball-a9500")) {
 		snowball_pins_init();
 
@@ -831,13 +830,16 @@ static void __init u8500_init_machine(void)
 				ARRAY_SIZE(mop500_platform_devs));
 
 		hrefv60_sdi_init(parent);
+
+		i2c0_devs = ARRAY_SIZE(mop500_i2c0_devices);
+		i2c0_devs -= NUM_PRE_V60_I2C0_DEVICES;
+
+		i2c_register_board_info(0, mop500_i2c0_devices, i2c0_devs);
+		i2c_register_board_info(2, mop500_i2c2_devices,
+					ARRAY_SIZE(mop500_i2c2_devices));
 	}
 	mop500_i2c_init(parent);
 
-	i2c_register_board_info(0, mop500_i2c0_devices, i2c0_devs);
-	i2c_register_board_info(2, mop500_i2c2_devices,
-				ARRAY_SIZE(mop500_i2c2_devices));
-
 	/* This board has full regulator constraints */
 	regulator_has_full_constraints();
 }
-- 
1.7.9.1

^ permalink raw reply related	[flat|nested] 63+ messages in thread

* [PATCH 12/15] mfd/db8500-prcmu: Register as a platform driver instead of only probing
  2012-04-19 20:36 [PATCH 0/16 v2] Another round of Device Tree enablement for Snowball Lee Jones
                   ` (10 preceding siblings ...)
  2012-04-19 20:36 ` [PATCH 11/15] ARM: ux500: Do not attempt to register non-existent i2c devices on Snowball Lee Jones
@ 2012-04-19 20:36 ` Lee Jones
  2012-04-24  8:07   ` Linus Walleij
  2012-04-19 20:36 ` [PATCH 13/15] ARM: ux500: Fork cpu-db8500 platform_devs for sequential DT enablement Lee Jones
                   ` (2 subsequent siblings)
  14 siblings, 1 reply; 63+ messages in thread
From: Lee Jones @ 2012-04-19 20:36 UTC (permalink / raw)
  To: linux-arm-kernel

Pass the probe function as part of the platform_driver struct and
register using the more common platform_driver_register call. In
subsequent patches we'll also add DT support into the struct.

CC: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
 drivers/mfd/db8500-prcmu.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/mfd/db8500-prcmu.c b/drivers/mfd/db8500-prcmu.c
index ebc1e86..839e70b 100644
--- a/drivers/mfd/db8500-prcmu.c
+++ b/drivers/mfd/db8500-prcmu.c
@@ -2957,7 +2957,7 @@ static struct mfd_cell db8500_prcmu_devs[] = {
  * prcmu_fw_init - arch init call for the Linux PRCMU fw init logic
  *
  */
-static int __init db8500_prcmu_probe(struct platform_device *pdev)
+static int __devinit db8500_prcmu_probe(struct platform_device *pdev)
 {
 	int err = 0;
 
@@ -2998,11 +2998,12 @@ static struct platform_driver db8500_prcmu_driver = {
 		.name = "db8500-prcmu",
 		.owner = THIS_MODULE,
 	},
+	.probe = db8500_prcmu_probe,
 };
 
 static int __init db8500_prcmu_init(void)
 {
-	return platform_driver_probe(&db8500_prcmu_driver, db8500_prcmu_probe);
+	return platform_driver_register(&db8500_prcmu_driver);
 }
 
 arch_initcall(db8500_prcmu_init);
-- 
1.7.9.1

^ permalink raw reply related	[flat|nested] 63+ messages in thread

* [PATCH 13/15] ARM: ux500: Fork cpu-db8500 platform_devs for sequential DT enablement
  2012-04-19 20:36 [PATCH 0/16 v2] Another round of Device Tree enablement for Snowball Lee Jones
                   ` (11 preceding siblings ...)
  2012-04-19 20:36 ` [PATCH 12/15] mfd/db8500-prcmu: Register as a platform driver instead of only probing Lee Jones
@ 2012-04-19 20:36 ` Lee Jones
  2012-04-19 20:36 ` [PATCH 14/15] mfd/db8500-prcmu: Add Device Tree support and enable ux500 platforms Lee Jones
  2012-04-19 20:36 ` [PATCH 15/15] ARM: ux500: Enable PRCMU Timer 4 (clocksource) via Device Tree Lee Jones
  14 siblings, 0 replies; 63+ messages in thread
From: Lee Jones @ 2012-04-19 20:36 UTC (permalink / raw)
  To: linux-arm-kernel

To aid in sequential one-by-one Device Tree enablement, we split
cpu-db8500's platform_devs structure into normal platform boot, where
we leave all devices to be added in tact and a DT version where we
will remove the devices as they are DT enabled.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
 arch/arm/mach-ux500/cpu-db8500.c |   18 +++++++++++++++---
 1 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/arch/arm/mach-ux500/cpu-db8500.c b/arch/arm/mach-ux500/cpu-db8500.c
index 58768d9..c97eab7 100644
--- a/arch/arm/mach-ux500/cpu-db8500.c
+++ b/arch/arm/mach-ux500/cpu-db8500.c
@@ -121,6 +121,12 @@ static struct platform_device *platform_devs[] __initdata = {
 	&db8500_prcmu_device,
 };
 
+static struct platform_device *of_platform_devs[] __initdata = {
+	&u8500_dma40_device,
+	&db8500_pmu_device,
+	&db8500_prcmu_device,
+};
+
 static resource_size_t __initdata db8500_gpio_base[] = {
 	U8500_GPIOBANK0_BASE,
 	U8500_GPIOBANK1_BASE,
@@ -221,10 +227,16 @@ struct device * __init u8500_of_init_devices(void)
 	platform_device_register_data(parent,
 		"cpufreq-u8500", -1, NULL, 0);
 
-	for (i = 0; i < ARRAY_SIZE(platform_devs); i++)
-		platform_devs[i]->dev.parent = parent;
+	for (i = 0; i < ARRAY_SIZE(of_platform_devs); i++)
+		of_platform_devs[i]->dev.parent = parent;
 
-	platform_add_devices(platform_devs, ARRAY_SIZE(platform_devs));
+	/*
+	 * Devices to be DT:ed:
+	 *   u8500_dma40_device  = todo
+	 *   db8500_pmu_device   = todo
+	 *   db8500_prcmu_device = todo
+	 */
+	platform_add_devices(of_platform_devs, ARRAY_SIZE(of_platform_devs));
 
 	return parent;
 }
-- 
1.7.9.1

^ permalink raw reply related	[flat|nested] 63+ messages in thread

* [PATCH 14/15] mfd/db8500-prcmu: Add Device Tree support and enable ux500 platforms
  2012-04-19 20:36 [PATCH 0/16 v2] Another round of Device Tree enablement for Snowball Lee Jones
                   ` (12 preceding siblings ...)
  2012-04-19 20:36 ` [PATCH 13/15] ARM: ux500: Fork cpu-db8500 platform_devs for sequential DT enablement Lee Jones
@ 2012-04-19 20:36 ` Lee Jones
  2012-04-24  8:18   ` Linus Walleij
  2012-04-19 20:36 ` [PATCH 15/15] ARM: ux500: Enable PRCMU Timer 4 (clocksource) via Device Tree Lee Jones
  14 siblings, 1 reply; 63+ messages in thread
From: Lee Jones @ 2012-04-19 20:36 UTC (permalink / raw)
  To: linux-arm-kernel

Here we see the db8500-prcmu driver obtain DT support. In its
current state, all we have to do is offer a matching compatible
node and the driver will register and initialise correctly. We
Also remove any initialisation completed in platform code to
prevent any device duplication.

CC: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
 arch/arm/mach-ux500/cpu-db8500.c |    3 +--
 drivers/mfd/db8500-prcmu.c       |    5 +++++
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-ux500/cpu-db8500.c b/arch/arm/mach-ux500/cpu-db8500.c
index c97eab7..2512b6a 100644
--- a/arch/arm/mach-ux500/cpu-db8500.c
+++ b/arch/arm/mach-ux500/cpu-db8500.c
@@ -124,7 +124,6 @@ static struct platform_device *platform_devs[] __initdata = {
 static struct platform_device *of_platform_devs[] __initdata = {
 	&u8500_dma40_device,
 	&db8500_pmu_device,
-	&db8500_prcmu_device,
 };
 
 static resource_size_t __initdata db8500_gpio_base[] = {
@@ -234,7 +233,7 @@ struct device * __init u8500_of_init_devices(void)
 	 * Devices to be DT:ed:
 	 *   u8500_dma40_device  = todo
 	 *   db8500_pmu_device   = todo
-	 *   db8500_prcmu_device = todo
+	 *   db8500_prcmu_device = done
 	 */
 	platform_add_devices(of_platform_devs, ARRAY_SIZE(of_platform_devs));
 
diff --git a/drivers/mfd/db8500-prcmu.c b/drivers/mfd/db8500-prcmu.c
index 839e70b..3c2e4a9 100644
--- a/drivers/mfd/db8500-prcmu.c
+++ b/drivers/mfd/db8500-prcmu.c
@@ -2992,11 +2992,16 @@ static int __devinit db8500_prcmu_probe(struct platform_device *pdev)
 no_irq_return:
 	return err;
 }
+static const struct of_device_id db8500_prcmu_match[] = {
+	{ .compatible = "stericsson,db8500-prcmu"},
+	{ },
+};
 
 static struct platform_driver db8500_prcmu_driver = {
 	.driver = {
 		.name = "db8500-prcmu",
 		.owner = THIS_MODULE,
+		.of_match_table = db8500_prcmu_match,
 	},
 	.probe = db8500_prcmu_probe,
 };
-- 
1.7.9.1

^ permalink raw reply related	[flat|nested] 63+ messages in thread

* [PATCH 15/15] ARM: ux500: Enable PRCMU Timer 4 (clocksource) via Device Tree
  2012-04-19 20:36 [PATCH 0/16 v2] Another round of Device Tree enablement for Snowball Lee Jones
                   ` (13 preceding siblings ...)
  2012-04-19 20:36 ` [PATCH 14/15] mfd/db8500-prcmu: Add Device Tree support and enable ux500 platforms Lee Jones
@ 2012-04-19 20:36 ` Lee Jones
  2012-04-24  8:19   ` Linus Walleij
  14 siblings, 1 reply; 63+ messages in thread
From: Lee Jones @ 2012-04-19 20:36 UTC (permalink / raw)
  To: linux-arm-kernel

In dbx500 based devices the PRCMU Timer 4 is used as a clocksource
and sched_clock. Here we fetch all necessary addressing information
required for correct PRCMU initialisation from the Device Tree
instead of using hard-coded values.

CC: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
 arch/arm/boot/dts/db8500.dtsi |    8 +++++++-
 arch/arm/mach-ux500/timer.c   |   24 ++++++++++++++++++++++++
 2 files changed, 31 insertions(+), 1 deletions(-)

diff --git a/arch/arm/boot/dts/db8500.dtsi b/arch/arm/boot/dts/db8500.dtsi
index f633210..9a62f86 100644
--- a/arch/arm/boot/dts/db8500.dtsi
+++ b/arch/arm/boot/dts/db8500.dtsi
@@ -189,7 +189,13 @@
 			reg = <0x80157000 0x1000>;
 			interrupts = <46 47>;
 			#address-cells = <1>;
-			#size-cells = <0>;
+			#size-cells = <1>;
+			ranges;
+
+				prcmu-timer-4 at 80157450 {
+				compatible = "stericsson,db8500-prcmu-timer-4";
+				reg = <0x80157450 0xC>;
+			};
 
 			ab8500 at 5 {
 				compatible = "stericsson,ab8500";
diff --git a/arch/arm/mach-ux500/timer.c b/arch/arm/mach-ux500/timer.c
index d37df98..885c742 100644
--- a/arch/arm/mach-ux500/timer.c
+++ b/arch/arm/mach-ux500/timer.c
@@ -8,6 +8,7 @@
 #include <linux/errno.h>
 #include <linux/clksrc-dbx500-prcmu.h>
 #include <linux/of.h>
+#include <linux/of_address.h>
 
 #include <asm/smp_twd.h>
 
@@ -43,10 +44,17 @@ static void __init ux500_twd_init(void)
 #define ux500_twd_init()	do { } while(0)
 #endif
 
+const static struct of_device_id prcmu_timer_of_match[] __initconst = {
+	{ .compatible = "stericsson,db8500-prcmu-timer-4", },
+	{ },
+};
+
 static void __init ux500_timer_init(void)
 {
 	void __iomem *mtu_timer_base;
 	void __iomem *prcmu_timer_base;
+	void __iomem *tmp_base;
+	struct device_node *np;
 
 	if (cpu_is_u5500()) {
 		mtu_timer_base = __io_address(U5500_MTU0_BASE);
@@ -58,6 +66,22 @@ static void __init ux500_timer_init(void)
 		ux500_unknown_soc();
 	}
 
+	/* TODO: Once MTU has been DT:ed place code above into else. */
+	if (of_have_populated_dt()) {
+		np = of_find_matching_node(NULL, prcmu_timer_of_match);
+		if (!np)
+			goto dt_fail;
+
+		tmp_base = of_iomap(np, 0);
+		if (!tmp_base)
+			goto dt_fail;
+
+		prcmu_timer_base = tmp_base;
+	}
+
+dt_fail:
+	/* Doing it the old fashioned way. */
+
 	/*
 	 * Here we register the timerblocks active in the system.
 	 * Localtimers (twd) is started when both cpu is up and running.
-- 
1.7.9.1

^ permalink raw reply related	[flat|nested] 63+ messages in thread

* [PATCH 01/15] ARM: ux500: Enable the external bus with Device Tree
  2012-04-19 20:36 ` [PATCH 01/15] ARM: ux500: Enable the external bus with Device Tree Lee Jones
@ 2012-04-23 11:36   ` Linus Walleij
  0 siblings, 0 replies; 63+ messages in thread
From: Linus Walleij @ 2012-04-23 11:36 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Apr 19, 2012 at 10:36 PM, Lee Jones <lee.jones@linaro.org> wrote:

> To allow for proper initialisation of the SMSC9115 Ethernet chip
> and other devices which may be connected to the 'external bus',
> Device Tree must first enable and traverse though it. This patch
> enables the 'external bus' which will facilitate further
> initialisation of its suborantate DT nodes.
>
> Signed-off-by: Lee Jones <lee.jones@linaro.org>

Thanks for fixing it up!
Applied.

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 63+ messages in thread

* [PATCH 02/15] drivers/gpio: gpio-nomadik: Add support for irqdomains
  2012-04-19 20:36 ` [PATCH 02/15] drivers/gpio: gpio-nomadik: Add support for irqdomains Lee Jones
@ 2012-04-23 12:25   ` Linus Walleij
  2012-05-17 23:35     ` Grant Likely
  0 siblings, 1 reply; 63+ messages in thread
From: Linus Walleij @ 2012-04-23 12:25 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Apr 19, 2012 at 10:36 PM, Lee Jones <lee.jones@linaro.org> wrote:

> Add irq domain support to the gpio-nomadik GPIO driver. This
> enables its users to support dynamic IRQ assignment, which is
> requried by Device Tree.
>
> Signed-off-by: Lee Jones <lee.jones@linaro.org>

Hey, it works!

Applied to my gpio-and-pin ux500 branch.

Note to Grant: I'm shepherding the ux500 GPIO patches for
funneling through the ARM SoC tree.

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 63+ messages in thread

* [PATCH 03/15] ARM: ux500: Use correct format for dynamic IRQ assignment
  2012-04-19 20:36 ` [PATCH 03/15] ARM: ux500: Use correct format for dynamic IRQ assignment Lee Jones
@ 2012-04-23 13:13   ` Linus Walleij
  2012-04-24  7:55     ` Lee Jones
  0 siblings, 1 reply; 63+ messages in thread
From: Linus Walleij @ 2012-04-23 13:13 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Apr 19, 2012 at 10:36 PM, Lee Jones <lee.jones@linaro.org> wrote:

> This patch applies the correct format requested by the irq
> domain. For chained IRQs which use GPIO lines as IRQs, we
> stipulate that a two cell request is required. The first cell
> contains the requested IRQ and the second can contain flags
> pertaining to edge detection and level sensitive values. The
> zeroth cell specifies the GPIO controller by use of a phandle.
>
> Signed-off-by: Lee Jones <lee.jones@linaro.org>
> ---
> ?arch/arm/boot/dts/db8500.dtsi ?| ? 22 ++++++++++++++++++++--
> ?arch/arm/boot/dts/snowball.dts | ? 20 +++++++++-----------
> ?2 files changed, 29 insertions(+), 13 deletions(-)

So I created a separate ux500-devicetree branch and split off
the changes under arch/arm/boot/dts/* here. For example
I have split the patch:
"drivers/gpio: gpio-nomadik: Apply Device Tree bindings"

Into one changing code and one changing the device tree
itself. Else this won't be possible to keep separate topic
branches, and we want that.

Then applied this on top.

I hope you're OK with this?

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 63+ messages in thread

* [PATCH 08/15] drivers/mmc: MMCI: Use correct GPIO binding for IRQ requests
  2012-04-19 20:36 ` [PATCH 08/15] drivers/mmc: MMCI: Use correct GPIO binding for IRQ requests Lee Jones
@ 2012-04-24  7:51   ` Linus Walleij
  2012-04-24  7:58     ` Lee Jones
  0 siblings, 1 reply; 63+ messages in thread
From: Linus Walleij @ 2012-04-24  7:51 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Apr 19, 2012 at 10:36 PM, Lee Jones <lee.jones@linaro.org> wrote:

> Now there are irqdomains in place for Snowball, we can request
> GPIO IRQs directly by their binding. This replaces the previous method
> of hard-coding the hwirq using u32 values in the DT.
>
> Signed-off-by: Lee Jones <lee.jones@linaro.org>

Acked-by: Linus Walleij <linus.walleij@linaro.org>

Why not squash this with the previous MMCI device tree patch and
update it?

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 63+ messages in thread

* [PATCH 07/15] ARM: ux500: Enable the SMSC9115 on Snowball via Device Tree
  2012-04-19 20:36 ` [PATCH 07/15] ARM: ux500: Enable the SMSC9115 on Snowball via Device Tree Lee Jones
@ 2012-04-24  7:53   ` Linus Walleij
  2012-04-24  9:58     ` [PATCH 7.1/15] " Lee Jones
  2012-04-24  9:59     ` [PATCH 7.2/15] ARM: ux500: Disable SMSC911x platform code registration when DT is enabled Lee Jones
  2012-04-24  9:48   ` [PATCH 07/15] ARM: ux500: Enable the SMSC9115 on Snowball via Device Tree Lee Jones
  1 sibling, 2 replies; 63+ messages in thread
From: Linus Walleij @ 2012-04-24  7:53 UTC (permalink / raw)
  To: linux-arm-kernel

Lee can you please split this patch in one piece which is this:

On Thu, Apr 19, 2012 at 10:36 PM, Lee Jones <lee.jones@linaro.org> wrote:

> Enable the Ethernet port by providing correct information via DT.
>
> Signed-off-by: Lee Jones <lee.jones@linaro.org>
> ---
> ?arch/arm/boot/dts/snowball.dts ? ? | ? 10 ++++++++--
> ?arch/arm/mach-ux500/board-mop500.c | ? ?1 -
> ?2 files changed, 8 insertions(+), 3 deletions(-)
>
> diff --git a/arch/arm/boot/dts/snowball.dts b/arch/arm/boot/dts/snowball.dts
> index 0ba0955..22b82cc 100644
> --- a/arch/arm/boot/dts/snowball.dts
> +++ b/arch/arm/boot/dts/snowball.dts
> @@ -79,10 +79,16 @@
> ? ? ? ? ? ? ? ? ? ? ? ?ranges;
>
> ? ? ? ? ? ? ? ? ? ? ? ?ethernet at 50000000 {
> - ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? compatible = "smsc,9111";
> + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? compatible = "smsc,lan9115";
> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?reg = <0x50000000 0x10000>;
> - ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? interrupts = <12 0x4>;
> + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? interrupts = <12 0x1>;
> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?interrupt-parent = <&gpio4>;
> +
> + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? reg-shift = <1>;
> + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? reg-io-width = <2>;
> + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? smsc,force-internal-phy;
> + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? smsc,irq-active-high;
> + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? smsc,irq-push-pull;
> ? ? ? ? ? ? ? ? ? ? ? ?};
> ? ? ? ? ? ? ? ?};

So that patch only affects arch/arm/boot/dts/*

And this in another patch:

> diff --git a/arch/arm/mach-ux500/board-mop500.c b/arch/arm/mach-ux500/board-mop500.c
> index 50809af..9dbd34b 100644
> --- a/arch/arm/mach-ux500/board-mop500.c
> +++ b/arch/arm/mach-ux500/board-mop500.c
> @@ -612,7 +612,6 @@ static struct platform_device *snowball_platform_devs[] __initdata = {
> ?static struct platform_device *snowball_of_platform_devs[] __initdata = {
> ? ? ? ?&snowball_led_dev,
> ? ? ? ?&snowball_key_dev,
> - ? ? ? &snowball_sbnet_dev,
> ? ? ? ?&ab8500_device,
> ?};

So I can accumulate changes to ux500 core code and Device Tree updates
on separate branches?

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 63+ messages in thread

* [PATCH 09/15] ARM: ux500: Correctly describe SMSC9115 for Snowball in DT
  2012-04-19 20:36 ` [PATCH 09/15] ARM: ux500: Correctly describe SMSC9115 for Snowball in DT Lee Jones
@ 2012-04-24  7:54   ` Linus Walleij
  2012-04-24  7:59     ` Lee Jones
  0 siblings, 1 reply; 63+ messages in thread
From: Linus Walleij @ 2012-04-24  7:54 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Apr 19, 2012 at 10:36 PM, Lee Jones <lee.jones@linaro.org> wrote:

> Here we split the description of the external-bus at 50000000 over
> two description files. In the more generic db8500 description file
> we only specify the external-bus. Normally this would be used to
> communicate with a NOR-flash device. On the Snowball however, the
> SMSC9115 Ethernet chip occupies it. In the Snowball board specific
> description file is where we actually specify that it is in fact the
> Ethernet device which lives here.
>
> Signed-off-by: Lee Jones <lee.jones@linaro.org>

Can you please squash this into patch 7?

It seems like I get a bit more development history than I need
here.

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 63+ messages in thread

* [PATCH 03/15] ARM: ux500: Use correct format for dynamic IRQ assignment
  2012-04-23 13:13   ` Linus Walleij
@ 2012-04-24  7:55     ` Lee Jones
  0 siblings, 0 replies; 63+ messages in thread
From: Lee Jones @ 2012-04-24  7:55 UTC (permalink / raw)
  To: linux-arm-kernel

On 23/04/12 14:13, Linus Walleij wrote:
> On Thu, Apr 19, 2012 at 10:36 PM, Lee Jones<lee.jones@linaro.org>  wrote:
>
>> This patch applies the correct format requested by the irq
>> domain. For chained IRQs which use GPIO lines as IRQs, we
>> stipulate that a two cell request is required. The first cell
>> contains the requested IRQ and the second can contain flags
>> pertaining to edge detection and level sensitive values. The
>> zeroth cell specifies the GPIO controller by use of a phandle.
>>
>> Signed-off-by: Lee Jones<lee.jones@linaro.org>
>> ---
>>   arch/arm/boot/dts/db8500.dtsi  |   22 ++++++++++++++++++++--
>>   arch/arm/boot/dts/snowball.dts |   20 +++++++++-----------
>>   2 files changed, 29 insertions(+), 13 deletions(-)
>
> So I created a separate ux500-devicetree branch and split off
> the changes under arch/arm/boot/dts/* here. For example
> I have split the patch:
> "drivers/gpio: gpio-nomadik: Apply Device Tree bindings"
>
> Into one changing code and one changing the device tree
> itself. Else this won't be possible to keep separate topic
> branches, and we want that.
>
> Then applied this on top.
>
> I hope you're OK with this?

Yes, of course, thanks.


-- 
Lee Jones
Linaro ST-Ericsson Landing Team Lead
M: +44 77 88 633 515
Linaro.org ? Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

^ permalink raw reply	[flat|nested] 63+ messages in thread

* [PATCH 10/15] drivers/gpio: represent gpio-nomadik as an IRQ controller in DT documentation
  2012-04-19 20:36 ` [PATCH 10/15] drivers/gpio: represent gpio-nomadik as an IRQ controller in DT documentation Lee Jones
@ 2012-04-24  7:57   ` Linus Walleij
  2012-04-24  8:00     ` Lee Jones
  0 siblings, 1 reply; 63+ messages in thread
From: Linus Walleij @ 2012-04-24  7:57 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Apr 19, 2012 at 10:36 PM, Lee Jones <lee.jones@linaro.org> wrote:

> Now gpio-nomadik has proper bindings devices initialised by Device Tree
> entries are able to use the chained GPIO IRQ lines it provides. This
> patch aims to reflect that in the gpio-nmk documentation.
>
> Signed-off-by: Lee Jones <lee.jones@linaro.org>
> ---
> ?.../devicetree/bindings/gpio/gpio-nmk.txt ? ? ? ? ?| ? ?2 ++
> ?1 files changed, 2 insertions(+), 0 deletions(-)

Thanks, applied to the ux500-devicetree branch.

I will likely have to update the subject of each and every patch on
this branch to reflect the fact that it's just touching the device
tree files per se.

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 63+ messages in thread

* [PATCH 08/15] drivers/mmc: MMCI: Use correct GPIO binding for IRQ requests
  2012-04-24  7:51   ` Linus Walleij
@ 2012-04-24  7:58     ` Lee Jones
  2012-04-25  8:41       ` Linus Walleij
  0 siblings, 1 reply; 63+ messages in thread
From: Lee Jones @ 2012-04-24  7:58 UTC (permalink / raw)
  To: linux-arm-kernel

On 24/04/12 08:51, Linus Walleij wrote:
> On Thu, Apr 19, 2012 at 10:36 PM, Lee Jones<lee.jones@linaro.org>  wrote:
>
>> Now there are irqdomains in place for Snowball, we can request
>> GPIO IRQs directly by their binding. This replaces the previous method
>> of hard-coding the hwirq using u32 values in the DT.
>>
>> Signed-off-by: Lee Jones<lee.jones@linaro.org>
>
> Acked-by: Linus Walleij<linus.walleij@linaro.org>
>
> Why not squash this with the previous MMCI device tree patch and
> update it?

You mean the one I sent a couple of weeks ago?

I'd rather let that one sit in Russell's patch tracker and send this as 
an update, if it's all the same to you?

-- 
Lee Jones
Linaro ST-Ericsson Landing Team Lead
M: +44 77 88 633 515
Linaro.org ? Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

^ permalink raw reply	[flat|nested] 63+ messages in thread

* [PATCH 09/15] ARM: ux500: Correctly describe SMSC9115 for Snowball in DT
  2012-04-24  7:54   ` Linus Walleij
@ 2012-04-24  7:59     ` Lee Jones
  0 siblings, 0 replies; 63+ messages in thread
From: Lee Jones @ 2012-04-24  7:59 UTC (permalink / raw)
  To: linux-arm-kernel

On 24/04/12 08:54, Linus Walleij wrote:
> On Thu, Apr 19, 2012 at 10:36 PM, Lee Jones<lee.jones@linaro.org>  wrote:
>
>> Here we split the description of the external-bus at 50000000 over
>> two description files. In the more generic db8500 description file
>> we only specify the external-bus. Normally this would be used to
>> communicate with a NOR-flash device. On the Snowball however, the
>> SMSC9115 Ethernet chip occupies it. In the Snowball board specific
>> description file is where we actually specify that it is in fact the
>> Ethernet device which lives here.
>>
>> Signed-off-by: Lee Jones<lee.jones@linaro.org>
>
> Can you please squash this into patch 7?
>
> It seems like I get a bit more development history than I need
> here.

Sure.


-- 
Lee Jones
Linaro ST-Ericsson Landing Team Lead
M: +44 77 88 633 515
Linaro.org ? Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

^ permalink raw reply	[flat|nested] 63+ messages in thread

* [PATCH 10/15] drivers/gpio: represent gpio-nomadik as an IRQ controller in DT documentation
  2012-04-24  7:57   ` Linus Walleij
@ 2012-04-24  8:00     ` Lee Jones
  0 siblings, 0 replies; 63+ messages in thread
From: Lee Jones @ 2012-04-24  8:00 UTC (permalink / raw)
  To: linux-arm-kernel

On 24/04/12 08:57, Linus Walleij wrote:
> On Thu, Apr 19, 2012 at 10:36 PM, Lee Jones<lee.jones@linaro.org>  wrote:
>
>> Now gpio-nomadik has proper bindings devices initialised by Device Tree
>> entries are able to use the chained GPIO IRQ lines it provides. This
>> patch aims to reflect that in the gpio-nmk documentation.
>>
>> Signed-off-by: Lee Jones<lee.jones@linaro.org>
>> ---
>>   .../devicetree/bindings/gpio/gpio-nmk.txt          |    2 ++
>>   1 files changed, 2 insertions(+), 0 deletions(-)
>
> Thanks, applied to the ux500-devicetree branch.
>
> I will likely have to update the subject of each and every patch on
> this branch to reflect the fact that it's just touching the device
> tree files per se.

I don't have a problem with that.


-- 
Lee Jones
Linaro ST-Ericsson Landing Team Lead
M: +44 77 88 633 515
Linaro.org ? Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

^ permalink raw reply	[flat|nested] 63+ messages in thread

* [PATCH 11/15] ARM: ux500: Do not attempt to register non-existent i2c devices on Snowball
  2012-04-19 20:36 ` [PATCH 11/15] ARM: ux500: Do not attempt to register non-existent i2c devices on Snowball Lee Jones
@ 2012-04-24  8:05   ` Linus Walleij
  0 siblings, 0 replies; 63+ messages in thread
From: Linus Walleij @ 2012-04-24  8:05 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Apr 19, 2012 at 10:36 PM, Lee Jones <lee.jones@linaro.org> wrote:

> This patch prevents i2c devices which are not present on the Snowball
> low-cost development board from being registered. Devices such as;
> tc3589x, bu1780 and lp5521 are present on other supported boards,
> but are not located on Snowball.
>
> Signed-off-by: Lee Jones <lee.jones@linaro.org>

Oh, this looks like an important fix. I've rebased it and applied it to
my ux500-core branch with some small fixup.

Thanks,
Linus Walleij

^ permalink raw reply	[flat|nested] 63+ messages in thread

* [PATCH 12/15] mfd/db8500-prcmu: Register as a platform driver instead of only probing
  2012-04-19 20:36 ` [PATCH 12/15] mfd/db8500-prcmu: Register as a platform driver instead of only probing Lee Jones
@ 2012-04-24  8:07   ` Linus Walleij
  2012-05-04 14:00     ` Lee Jones
  2012-05-09 15:20     ` Samuel Ortiz
  0 siblings, 2 replies; 63+ messages in thread
From: Linus Walleij @ 2012-04-24  8:07 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Apr 19, 2012 at 10:36 PM, Lee Jones <lee.jones@linaro.org> wrote:

> Pass the probe function as part of the platform_driver struct and
> register using the more common platform_driver_register call. In
> subsequent patches we'll also add DT support into the struct.
>
> CC: Samuel Ortiz <sameo@linux.intel.com>
> Signed-off-by: Lee Jones <lee.jones@linaro.org>

Acked-by: Linus Walleij <linus.walleij@linaro.org>

Alternatively, if you get Sam's ACK I can carry this in the ux500 tree.

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 63+ messages in thread

* [PATCH 14/15] mfd/db8500-prcmu: Add Device Tree support and enable ux500 platforms
  2012-04-19 20:36 ` [PATCH 14/15] mfd/db8500-prcmu: Add Device Tree support and enable ux500 platforms Lee Jones
@ 2012-04-24  8:18   ` Linus Walleij
  2012-05-04 14:00     ` Lee Jones
  2012-05-09 15:08     ` Samuel Ortiz
  0 siblings, 2 replies; 63+ messages in thread
From: Linus Walleij @ 2012-04-24  8:18 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Apr 19, 2012 at 10:36 PM, Lee Jones <lee.jones@linaro.org> wrote:

> Here we see the db8500-prcmu driver obtain DT support. In its
> current state, all we have to do is offer a matching compatible
> node and the driver will register and initialise correctly. We
> Also remove any initialisation completed in platform code to
> prevent any device duplication.
>
> CC: Samuel Ortiz <sameo@linux.intel.com>
> Signed-off-by: Lee Jones <lee.jones@linaro.org>

OK I need Sam's ACK on this too, then it seems a good idea
to take all three patches touching the PRCMU driver through the
ux500-core tree.

Thanks,
Linus Walleij

^ permalink raw reply	[flat|nested] 63+ messages in thread

* [PATCH 15/15] ARM: ux500: Enable PRCMU Timer 4 (clocksource) via Device Tree
  2012-04-19 20:36 ` [PATCH 15/15] ARM: ux500: Enable PRCMU Timer 4 (clocksource) via Device Tree Lee Jones
@ 2012-04-24  8:19   ` Linus Walleij
  2012-04-24 10:02     ` [PATCH 15.1/15] ARM: ux500: Configure the PRCMU Timer for db8500 based devices in DT Lee Jones
  2012-04-24 10:03     ` [PATCH 15.2/15] ARM: ux500: Enable PRCMU Timer 4 (clocksource) for Device Tree Lee Jones
  0 siblings, 2 replies; 63+ messages in thread
From: Linus Walleij @ 2012-04-24  8:19 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Apr 19, 2012 at 10:36 PM, Lee Jones <lee.jones@linaro.org> wrote:

> In dbx500 based devices the PRCMU Timer 4 is used as a clocksource
> and sched_clock. Here we fetch all necessary addressing information
> required for correct PRCMU initialisation from the Device Tree
> instead of using hard-coded values.
>
> CC: Samuel Ortiz <sameo@linux.intel.com>
> Signed-off-by: Lee Jones <lee.jones@linaro.org>

This does not affect MFD so I can take it through ux500 and
ARM SoC.

But please split it in two: one touching mach-ux500 and one
messing with boot/dts/* please.

Thanks!
Linus Walleij

^ permalink raw reply	[flat|nested] 63+ messages in thread

* [PATCH 07/15] ARM: ux500: Enable the SMSC9115 on Snowball via Device Tree
  2012-04-19 20:36 ` [PATCH 07/15] ARM: ux500: Enable the SMSC9115 on Snowball via Device Tree Lee Jones
  2012-04-24  7:53   ` Linus Walleij
@ 2012-04-24  9:48   ` Lee Jones
  2012-04-24  9:51     ` Lee Jones
  1 sibling, 1 reply; 63+ messages in thread
From: Lee Jones @ 2012-04-24  9:48 UTC (permalink / raw)
  To: linux-arm-kernel

From: Lee Jones <lee.jones@linaro.org>
Date: Tue, 24 Apr 2012 09:50:20 +0100
Subject: [PATCH 07/16] ARM: ux500: Enable the SMSC9115 on Snowball via Device Tree

Here we split the description of the external-bus at 50000000 over
two description files. In the more generic db8500 description file
we only specify the external-bus. Normally this would be used to
communicate with a NOR-flash device. On the Snowball however, the
SMSC9115 Ethernet chip occupies it. In the Snowball board specific
description file is where we actually specify that it is in fact the
Ethernet device which lives here.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
 arch/arm/boot/dts/snowball.dts |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/arch/arm/boot/dts/snowball.dts b/arch/arm/boot/dts/snowball.dts
index 0ba0955..22b82cc 100644
--- a/arch/arm/boot/dts/snowball.dts
+++ b/arch/arm/boot/dts/snowball.dts
@@ -79,10 +79,16 @@
 			ranges;
 
 			ethernet at 50000000 {
-				compatible = "smsc,9111";
+				compatible = "smsc,lan9115";
 				reg = <0x50000000 0x10000>;
-				interrupts = <12 0x4>;
+				interrupts = <12 0x1>;
 				interrupt-parent = <&gpio4>;
+
+				reg-shift = <1>;
+				reg-io-width = <2>;
+				smsc,force-internal-phy;
+				smsc,irq-active-high;
+				smsc,irq-push-pull;
 			};
 		};
 
-- 
1.7.9.1

^ permalink raw reply related	[flat|nested] 63+ messages in thread

* [PATCH 07/15] ARM: ux500: Enable the SMSC9115 on Snowball via Device Tree
  2012-04-24  9:48   ` [PATCH 07/15] ARM: ux500: Enable the SMSC9115 on Snowball via Device Tree Lee Jones
@ 2012-04-24  9:51     ` Lee Jones
  0 siblings, 0 replies; 63+ messages in thread
From: Lee Jones @ 2012-04-24  9:51 UTC (permalink / raw)
  To: linux-arm-kernel

Sorry, ignore this. It looks like I've had a git fart!

On 24/04/12 10:48, Lee Jones wrote:
> From: Lee Jones<lee.jones@linaro.org>
> Date: Tue, 24 Apr 2012 09:50:20 +0100
> Subject: [PATCH 07/16] ARM: ux500: Enable the SMSC9115 on Snowball via Device Tree
>
> Here we split the description of the external-bus at 50000000 over
> two description files. In the more generic db8500 description file
> we only specify the external-bus. Normally this would be used to
> communicate with a NOR-flash device. On the Snowball however, the
> SMSC9115 Ethernet chip occupies it. In the Snowball board specific
> description file is where we actually specify that it is in fact the
> Ethernet device which lives here.
>
> Signed-off-by: Lee Jones<lee.jones@linaro.org>
> ---
>   arch/arm/boot/dts/snowball.dts |   10 ++++++++--
>   1 files changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm/boot/dts/snowball.dts b/arch/arm/boot/dts/snowball.dts
> index 0ba0955..22b82cc 100644
> --- a/arch/arm/boot/dts/snowball.dts
> +++ b/arch/arm/boot/dts/snowball.dts
> @@ -79,10 +79,16 @@
>   			ranges;
>
>   			ethernet at 50000000 {
> -				compatible = "smsc,9111";
> +				compatible = "smsc,lan9115";
>   				reg =<0x50000000 0x10000>;
> -				interrupts =<12 0x4>;
> +				interrupts =<12 0x1>;
>   				interrupt-parent =<&gpio4>;
> +
> +				reg-shift =<1>;
> +				reg-io-width =<2>;
> +				smsc,force-internal-phy;
> +				smsc,irq-active-high;
> +				smsc,irq-push-pull;
>   			};
>   		};
>


-- 
Lee Jones
Linaro ST-Ericsson Landing Team Lead
M: +44 77 88 633 515
Linaro.org ? Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

^ permalink raw reply	[flat|nested] 63+ messages in thread

* [PATCH 7.1/15] ARM: ux500: Enable the SMSC9115 on Snowball via Device Tree
  2012-04-24  7:53   ` Linus Walleij
@ 2012-04-24  9:58     ` Lee Jones
  2012-04-25 10:43       ` Linus Walleij
  2012-04-24  9:59     ` [PATCH 7.2/15] ARM: ux500: Disable SMSC911x platform code registration when DT is enabled Lee Jones
  1 sibling, 1 reply; 63+ messages in thread
From: Lee Jones @ 2012-04-24  9:58 UTC (permalink / raw)
  To: linux-arm-kernel

From: Lee Jones <lee.jones@linaro.org>
Date: Tue, 24 Apr 2012 10:53:18 +0100
Subject: [PATCH 07.1/15] ARM: ux500: Enable the SMSC9115 on Snowball via Device Tree

Here we split the description of the external-bus at 50000000 over
two description files. In the more generic db8500 description file
we only specify the external-bus. Normally this would be used to
communicate with a NOR-flash device. On the Snowball however, the
SMSC9115 Ethernet chip occupies it. In the Snowball board specific
description file is where we actually specify that it is in fact the
Ethernet device which lives here.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
 arch/arm/boot/dts/db8500.dtsi  |    9 +++++++++
 arch/arm/boot/dts/snowball.dts |   22 ++++++++++++----------
 2 files changed, 21 insertions(+), 10 deletions(-)

diff --git a/arch/arm/boot/dts/db8500.dtsi b/arch/arm/boot/dts/db8500.dtsi
index 9e8ff2c..f633210 100644
--- a/arch/arm/boot/dts/db8500.dtsi
+++ b/arch/arm/boot/dts/db8500.dtsi
@@ -307,5 +307,14 @@
 			interrupts = <0 100 0x4>;
 			status = "disabled";
 		};
+
+		external-bus at 50000000 {
+			compatible = "simple-bus";
+			reg = <0x50000000 0x4000000>;
+			#address-cells = <1>;
+			#size-cells = <1>;
+			ranges = <0 0x50000000 0x4000000>;
+			status = "disabled";
+		};
 	};
 };
diff --git a/arch/arm/boot/dts/snowball.dts b/arch/arm/boot/dts/snowball.dts
index 0ba0955..56f8a76 100644
--- a/arch/arm/boot/dts/snowball.dts
+++ b/arch/arm/boot/dts/snowball.dts
@@ -72,17 +72,19 @@
 
 	soc-u9500 {
 		external-bus at 50000000 {
-			compatible = "simple-bus";
-			reg = <0x50000000 0x10000000>;
-			#address-cells = <1>;
-			#size-cells = <1>;
-			ranges;
-
-			ethernet at 50000000 {
-				compatible = "smsc,9111";
-				reg = <0x50000000 0x10000>;
-				interrupts = <12 0x4>;
+			status = "okay";
+
+			ethernet at 0 {
+				compatible = "smsc,lan9115";
+				reg = <0 0x10000>;
+				interrupts = <12 0x1>;
 				interrupt-parent = <&gpio4>;
+
+				reg-shift = <1>;
+				reg-io-width = <2>;
+				smsc,force-internal-phy;
+				smsc,irq-active-high;
+				smsc,irq-push-pull;
 			};
 		};
 
-- 
1.7.9.1

^ permalink raw reply related	[flat|nested] 63+ messages in thread

* [PATCH 7.2/15] ARM: ux500: Disable SMSC911x platform code registration when DT is enabled
  2012-04-24  7:53   ` Linus Walleij
  2012-04-24  9:58     ` [PATCH 7.1/15] " Lee Jones
@ 2012-04-24  9:59     ` Lee Jones
  2012-05-03 12:57       ` Arnd Bergmann
  1 sibling, 1 reply; 63+ messages in thread
From: Lee Jones @ 2012-04-24  9:59 UTC (permalink / raw)
  To: linux-arm-kernel

From: Lee Jones <lee.jones@linaro.org>
Date: Tue, 24 Apr 2012 10:54:25 +0100
Subject: [PATCH 7.2/15] ARM: ux500: Disable SMSC911x platform code registration when DT is enabled

Now the SCMC911x is correctly enabled in Device Tree, there is no need
to continue registering it from platform code. In fact, if we continue
doing so, the system will throw an error on boot.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
 arch/arm/mach-ux500/board-mop500.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/arch/arm/mach-ux500/board-mop500.c b/arch/arm/mach-ux500/board-mop500.c
index 50809af..9dbd34b 100644
--- a/arch/arm/mach-ux500/board-mop500.c
+++ b/arch/arm/mach-ux500/board-mop500.c
@@ -612,7 +612,6 @@ static struct platform_device *snowball_platform_devs[] __initdata = {
 static struct platform_device *snowball_of_platform_devs[] __initdata = {
 	&snowball_led_dev,
 	&snowball_key_dev,
-	&snowball_sbnet_dev,
 	&ab8500_device,
 };
 
-- 
1.7.9.1

^ permalink raw reply related	[flat|nested] 63+ messages in thread

* [PATCH 15.1/15] ARM: ux500: Configure the PRCMU Timer for db8500 based devices in DT
  2012-04-24  8:19   ` Linus Walleij
@ 2012-04-24 10:02     ` Lee Jones
  2012-04-24 10:03     ` [PATCH 15.2/15] ARM: ux500: Enable PRCMU Timer 4 (clocksource) for Device Tree Lee Jones
  1 sibling, 0 replies; 63+ messages in thread
From: Lee Jones @ 2012-04-24 10:02 UTC (permalink / raw)
  To: linux-arm-kernel

From: Lee Jones <lee.jones@linaro.org>
Date: Tue, 24 Apr 2012 10:00:15 +0100
Subject: [PATCH 15.1/15] ARM: ux500: Configure the PRCMU Timer for db8500 based devices in DT

This patch adds the information required for successful
registration of the PRCMU timer 4 (clocksource) driver to the
db8500 Device Tree include file.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
 arch/arm/boot/dts/db8500.dtsi |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/arch/arm/boot/dts/db8500.dtsi b/arch/arm/boot/dts/db8500.dtsi
index f633210..9a62f86 100644
--- a/arch/arm/boot/dts/db8500.dtsi
+++ b/arch/arm/boot/dts/db8500.dtsi
@@ -189,7 +189,13 @@
 			reg = <0x80157000 0x1000>;
 			interrupts = <46 47>;
 			#address-cells = <1>;
-			#size-cells = <0>;
+			#size-cells = <1>;
+			ranges;
+
+				prcmu-timer-4 at 80157450 {
+				compatible = "stericsson,db8500-prcmu-timer-4";
+				reg = <0x80157450 0xC>;
+			};
 
 			ab8500 at 5 {
 				compatible = "stericsson,ab8500";
-- 
1.7.9.1

^ permalink raw reply related	[flat|nested] 63+ messages in thread

* [PATCH 15.2/15] ARM: ux500: Enable PRCMU Timer 4 (clocksource) for Device Tree
  2012-04-24  8:19   ` Linus Walleij
  2012-04-24 10:02     ` [PATCH 15.1/15] ARM: ux500: Configure the PRCMU Timer for db8500 based devices in DT Lee Jones
@ 2012-04-24 10:03     ` Lee Jones
  1 sibling, 0 replies; 63+ messages in thread
From: Lee Jones @ 2012-04-24 10:03 UTC (permalink / raw)
  To: linux-arm-kernel

From: Lee Jones <lee.jones@linaro.org>
Date: Tue, 24 Apr 2012 10:04:46 +0100
Subject: [PATCH 16/16] ARM: ux500: Enable PRCMU Timer 4 (clocksource) for Device Tree

In dbx500 based devices the PRCMU Timer 4 is used as a clocksource
and sched_clock. Here we fetch all necessary addressing information
required for correct PRCMU initialisation from the Device Tree
instead of using hard-coded values.

CC: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
 arch/arm/mach-ux500/timer.c |   24 ++++++++++++++++++++++++
 1 files changed, 24 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-ux500/timer.c b/arch/arm/mach-ux500/timer.c
index d37df98..885c742 100644
--- a/arch/arm/mach-ux500/timer.c
+++ b/arch/arm/mach-ux500/timer.c
@@ -8,6 +8,7 @@
 #include <linux/errno.h>
 #include <linux/clksrc-dbx500-prcmu.h>
 #include <linux/of.h>
+#include <linux/of_address.h>
 
 #include <asm/smp_twd.h>
 
@@ -43,10 +44,17 @@ static void __init ux500_twd_init(void)
 #define ux500_twd_init()	do { } while(0)
 #endif
 
+const static struct of_device_id prcmu_timer_of_match[] __initconst = {
+	{ .compatible = "stericsson,db8500-prcmu-timer-4", },
+	{ },
+};
+
 static void __init ux500_timer_init(void)
 {
 	void __iomem *mtu_timer_base;
 	void __iomem *prcmu_timer_base;
+	void __iomem *tmp_base;
+	struct device_node *np;
 
 	if (cpu_is_u5500()) {
 		mtu_timer_base = __io_address(U5500_MTU0_BASE);
@@ -58,6 +66,22 @@ static void __init ux500_timer_init(void)
 		ux500_unknown_soc();
 	}
 
+	/* TODO: Once MTU has been DT:ed place code above into else. */
+	if (of_have_populated_dt()) {
+		np = of_find_matching_node(NULL, prcmu_timer_of_match);
+		if (!np)
+			goto dt_fail;
+
+		tmp_base = of_iomap(np, 0);
+		if (!tmp_base)
+			goto dt_fail;
+
+		prcmu_timer_base = tmp_base;
+	}
+
+dt_fail:
+	/* Doing it the old fashioned way. */
+
 	/*
 	 * Here we register the timerblocks active in the system.
 	 * Localtimers (twd) is started when both cpu is up and running.
-- 
1.7.9.1

^ permalink raw reply related	[flat|nested] 63+ messages in thread

* [PATCH 05/15] ARM: ux500: New DT:ed snowball_platform_devs for one-by-one device enablement
  2012-04-19 20:36 ` [PATCH 05/15] ARM: ux500: New DT:ed snowball_platform_devs for one-by-one device enablement Lee Jones
@ 2012-04-24 10:05   ` Lee Jones
  2012-04-25 10:50     ` Linus Walleij
  0 siblings, 1 reply; 63+ messages in thread
From: Lee Jones @ 2012-04-24 10:05 UTC (permalink / raw)
  To: linux-arm-kernel

Linus, Can you please take 05 and 06 please, as some of the other 
patches depend on them. Thanks.

/Lee

^ permalink raw reply	[flat|nested] 63+ messages in thread

* [PATCH 08/15] drivers/mmc: MMCI: Use correct GPIO binding for IRQ requests
  2012-04-24  7:58     ` Lee Jones
@ 2012-04-25  8:41       ` Linus Walleij
  0 siblings, 0 replies; 63+ messages in thread
From: Linus Walleij @ 2012-04-25  8:41 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, Apr 24, 2012 at 9:58 AM, Lee Jones <lee.jones@linaro.org> wrote:
> On 24/04/12 08:51, Linus Walleij wrote:
>
>> Why not squash this with the previous MMCI device tree patch and
>> update it?
>
> You mean the one I sent a couple of weeks ago?

Maybe, memory fails me...

> I'd rather let that one sit in Russell's patch tracker and send this as an
> update, if it's all the same to you?

Sure.

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 63+ messages in thread

* [PATCH 7.1/15] ARM: ux500: Enable the SMSC9115 on Snowball via Device Tree
  2012-04-24  9:58     ` [PATCH 7.1/15] " Lee Jones
@ 2012-04-25 10:43       ` Linus Walleij
  0 siblings, 0 replies; 63+ messages in thread
From: Linus Walleij @ 2012-04-25 10:43 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, Apr 24, 2012 at 11:58 AM, Lee Jones <lee.jones@linaro.org> wrote:

> From: Lee Jones <lee.jones@linaro.org>
> Date: Tue, 24 Apr 2012 10:53:18 +0100
> Subject: [PATCH 07.1/15] ARM: ux500: Enable the SMSC9115 on Snowball via Device Tree
>
> Here we split the description of the external-bus at 50000000 over
> two description files. In the more generic db8500 description file
> we only specify the external-bus. Normally this would be used to
> communicate with a NOR-flash device. On the Snowball however, the
> SMSC9115 Ethernet chip occupies it. In the Snowball board specific
> description file is where we actually specify that it is in fact the
> Ethernet device which lives here.
>
> Signed-off-by: Lee Jones <lee.jones@linaro.org>

Applied with some manual intervention, don't quite know
why we don't have identical merge bases but whatever,
check the end result.

(You can do that by going to the branch ux500-devicetree
in my linux-stericsson git.)

Linus Walleij

^ permalink raw reply	[flat|nested] 63+ messages in thread

* [PATCH 05/15] ARM: ux500: New DT:ed snowball_platform_devs for one-by-one device enablement
  2012-04-24 10:05   ` Lee Jones
@ 2012-04-25 10:50     ` Linus Walleij
  2012-05-28  4:54       ` Lee Jones
  0 siblings, 1 reply; 63+ messages in thread
From: Linus Walleij @ 2012-04-25 10:50 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, Apr 24, 2012 at 12:05 PM, Lee Jones <lee.jones@linaro.org> wrote:

> Linus, Can you please take 05 and 06 please, as some of the other patches
> depend on them. Thanks.

I think I've done that now and I'm planning a first pull request to ARM SoC
to get the base into -next ASAP.

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 63+ messages in thread

* [PATCH 7.2/15] ARM: ux500: Disable SMSC911x platform code registration when DT is enabled
  2012-04-24  9:59     ` [PATCH 7.2/15] ARM: ux500: Disable SMSC911x platform code registration when DT is enabled Lee Jones
@ 2012-05-03 12:57       ` Arnd Bergmann
  2012-05-03 17:14         ` Linus Walleij
  0 siblings, 1 reply; 63+ messages in thread
From: Arnd Bergmann @ 2012-05-03 12:57 UTC (permalink / raw)
  To: linux-arm-kernel

On Tuesday 24 April 2012, Lee Jones wrote:
> From: Lee Jones <lee.jones@linaro.org>
> Date: Tue, 24 Apr 2012 10:54:25 +0100
> Subject: [PATCH 7.2/15] ARM: ux500: Disable SMSC911x platform code registration when DT is enabled
> 
> Now the SCMC911x is correctly enabled in Device Tree, there is no need
> to continue registering it from platform code. In fact, if we continue
> doing so, the system will throw an error on boot.
> 
> Signed-off-by: Lee Jones <lee.jones@linaro.org>
> ---
>  arch/arm/mach-ux500/board-mop500.c |    1 -
>  1 files changed, 0 insertions(+), 1 deletions(-)
> 
> diff --git a/arch/arm/mach-ux500/board-mop500.c b/arch/arm/mach-ux500/board-mop500.c
> index 50809af..9dbd34b 100644
> --- a/arch/arm/mach-ux500/board-mop500.c
> +++ b/arch/arm/mach-ux500/board-mop500.c
> @@ -612,7 +612,6 @@ static struct platform_device *snowball_platform_devs[] __initdata = {
>  static struct platform_device *snowball_of_platform_devs[] __initdata = {
>         &snowball_led_dev,
>         &snowball_key_dev,
> -       &snowball_sbnet_dev,
>         &ab8500_device,
>  };
>  

This version of the patch looks good, the version that was applied does not.
The same is true for "ARM: ux500: Fork cpu-db8500 platform_devs for
sequential DT enablement". I only noticed because I get new build warnings
for the bogus code now. It appears that some of the prerequisites for these
patches, in particular "ARM: ux500: New DT:ed snowball_platform_devs for
one-by-one device enablement" and "ARM: ux500: New DT:ed u8500_init_devices
for one-by-one device enablement" are missing now and the two patches on
top were mismerged.

Linus and Lee, what's going on here?

	Arnd

^ permalink raw reply	[flat|nested] 63+ messages in thread

* [PATCH 7.2/15] ARM: ux500: Disable SMSC911x platform code registration when DT is enabled
  2012-05-03 12:57       ` Arnd Bergmann
@ 2012-05-03 17:14         ` Linus Walleij
  2012-05-16  7:12           ` Lee Jones
  2012-05-16  8:03           ` Lee Jones
  0 siblings, 2 replies; 63+ messages in thread
From: Linus Walleij @ 2012-05-03 17:14 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, May 3, 2012 at 2:57 PM, Arnd Bergmann <arnd@arndb.de> wrote:

> This version of the patch looks good, the version that was applied does not.
> (...)
> Linus and Lee, what's going on here?

Probably just my screwups when applying Lee's patches out-of-order
and splitting them.

I saw lee sent a new pull request with his baseline, throw the devcietree
branch from me out and use his branch instead.

Sorry for the mess!
Linus Walleij

^ permalink raw reply	[flat|nested] 63+ messages in thread

* [PATCH 12/15] mfd/db8500-prcmu: Register as a platform driver instead of only probing
  2012-04-24  8:07   ` Linus Walleij
@ 2012-05-04 14:00     ` Lee Jones
  2012-05-09 15:20     ` Samuel Ortiz
  1 sibling, 0 replies; 63+ messages in thread
From: Lee Jones @ 2012-05-04 14:00 UTC (permalink / raw)
  To: linux-arm-kernel

On 24/04/12 09:07, Linus Walleij wrote:
> On Thu, Apr 19, 2012 at 10:36 PM, Lee Jones<lee.jones@linaro.org>  wrote:
>
>> Pass the probe function as part of the platform_driver struct and
>> register using the more common platform_driver_register call. In
>> subsequent patches we'll also add DT support into the struct.
>>
>> CC: Samuel Ortiz<sameo@linux.intel.com>
>> Signed-off-by: Lee Jones<lee.jones@linaro.org>
>
> Acked-by: Linus Walleij<linus.walleij@linaro.org>
>
> Alternatively, if you get Sam's ACK I can carry this in the ux500 tree.

Sam, anything on this?

-- 
Lee Jones
Linaro ST-Ericsson Landing Team Lead
M: +44 77 88 633 515
Linaro.org ? Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

^ permalink raw reply	[flat|nested] 63+ messages in thread

* [PATCH 14/15] mfd/db8500-prcmu: Add Device Tree support and enable ux500 platforms
  2012-04-24  8:18   ` Linus Walleij
@ 2012-05-04 14:00     ` Lee Jones
  2012-05-09 15:08     ` Samuel Ortiz
  1 sibling, 0 replies; 63+ messages in thread
From: Lee Jones @ 2012-05-04 14:00 UTC (permalink / raw)
  To: linux-arm-kernel

On 24/04/12 09:18, Linus Walleij wrote:
> On Thu, Apr 19, 2012 at 10:36 PM, Lee Jones<lee.jones@linaro.org>  wrote:
>
>> Here we see the db8500-prcmu driver obtain DT support. In its
>> current state, all we have to do is offer a matching compatible
>> node and the driver will register and initialise correctly. We
>> Also remove any initialisation completed in platform code to
>> prevent any device duplication.
>>
>> CC: Samuel Ortiz<sameo@linux.intel.com>
>> Signed-off-by: Lee Jones<lee.jones@linaro.org>
>
> OK I need Sam's ACK on this too, then it seems a good idea
> to take all three patches touching the PRCMU driver through the
> ux500-core tree.

Sam, anything on this?

-- 
Lee Jones
Linaro ST-Ericsson Landing Team Lead
M: +44 77 88 633 515
Linaro.org ? Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

^ permalink raw reply	[flat|nested] 63+ messages in thread

* Re: [PATCH 04/15] drivers/net: Do not free an IRQ if its request failed
  2012-04-19 20:36   ` Lee Jones
@ 2012-05-04 14:10     ` Lee Jones
  -1 siblings, 0 replies; 63+ messages in thread
From: Lee Jones @ 2012-05-04 14:10 UTC (permalink / raw)
  To: Lee Jones
  Cc: linux-arm-kernel, arnd, linus.walleij, grant.likely, cjb, linux, netdev

On 19/04/12 21:36, Lee Jones wrote:
> Refrain from attempting to free an interrupt line if the request
> fails and hence, there is no IRQ to free.
>
> CC: netdev@vger.kernel.org
> Signed-off-by: Lee Jones<lee.jones@linaro.org>
> ---
>   drivers/net/ethernet/smsc/smsc911x.c |    3 +--
>   1 files changed, 1 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/ethernet/smsc/smsc911x.c b/drivers/net/ethernet/smsc/smsc911x.c
> index 4a69710..f17a76e 100644
> --- a/drivers/net/ethernet/smsc/smsc911x.c
> +++ b/drivers/net/ethernet/smsc/smsc911x.c
> @@ -2382,7 +2382,6 @@ static int __devinit smsc911x_drv_probe(struct platform_device *pdev)
>   	SET_NETDEV_DEV(dev,&pdev->dev);
>
>   	pdata = netdev_priv(dev);
> -
>   	dev->irq = irq_res->start;
>   	irq_flags = irq_res->flags&  IRQF_TRIGGER_MASK;
>   	pdata->ioaddr = ioremap_nocache(res->start, res_size);
> @@ -2446,7 +2445,7 @@ static int __devinit smsc911x_drv_probe(struct platform_device *pdev)
>   	if (retval) {
>   		SMSC_WARN(pdata, probe,
>   			  "Unable to claim requested irq: %d", dev->irq);
> -		goto out_free_irq;
> +		goto out_disable_resources;
>   	}
>
>   	retval = register_netdev(dev);

Anything on this from the Net guys?

Kind regards,
Lee

-- 
Lee Jones
Linaro ST-Ericsson Landing Team Lead
M: +44 77 88 633 515
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

^ permalink raw reply	[flat|nested] 63+ messages in thread

* [PATCH 04/15] drivers/net: Do not free an IRQ if its request failed
@ 2012-05-04 14:10     ` Lee Jones
  0 siblings, 0 replies; 63+ messages in thread
From: Lee Jones @ 2012-05-04 14:10 UTC (permalink / raw)
  To: linux-arm-kernel

On 19/04/12 21:36, Lee Jones wrote:
> Refrain from attempting to free an interrupt line if the request
> fails and hence, there is no IRQ to free.
>
> CC: netdev at vger.kernel.org
> Signed-off-by: Lee Jones<lee.jones@linaro.org>
> ---
>   drivers/net/ethernet/smsc/smsc911x.c |    3 +--
>   1 files changed, 1 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/ethernet/smsc/smsc911x.c b/drivers/net/ethernet/smsc/smsc911x.c
> index 4a69710..f17a76e 100644
> --- a/drivers/net/ethernet/smsc/smsc911x.c
> +++ b/drivers/net/ethernet/smsc/smsc911x.c
> @@ -2382,7 +2382,6 @@ static int __devinit smsc911x_drv_probe(struct platform_device *pdev)
>   	SET_NETDEV_DEV(dev,&pdev->dev);
>
>   	pdata = netdev_priv(dev);
> -
>   	dev->irq = irq_res->start;
>   	irq_flags = irq_res->flags&  IRQF_TRIGGER_MASK;
>   	pdata->ioaddr = ioremap_nocache(res->start, res_size);
> @@ -2446,7 +2445,7 @@ static int __devinit smsc911x_drv_probe(struct platform_device *pdev)
>   	if (retval) {
>   		SMSC_WARN(pdata, probe,
>   			  "Unable to claim requested irq: %d", dev->irq);
> -		goto out_free_irq;
> +		goto out_disable_resources;
>   	}
>
>   	retval = register_netdev(dev);

Anything on this from the Net guys?

Kind regards,
Lee

-- 
Lee Jones
Linaro ST-Ericsson Landing Team Lead
M: +44 77 88 633 515
Linaro.org ? Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

^ permalink raw reply	[flat|nested] 63+ messages in thread

* Re: [PATCH 04/15] drivers/net: Do not free an IRQ if its request failed
  2012-05-04 14:10     ` Lee Jones
@ 2012-05-04 18:22       ` Linus Walleij
  -1 siblings, 0 replies; 63+ messages in thread
From: Linus Walleij @ 2012-05-04 18:22 UTC (permalink / raw)
  To: Lee Jones
  Cc: linux, linus.walleij, arnd, netdev, grant.likely, cjb, linux-arm-kernel

On Fri, May 4, 2012 at 4:10 PM, Lee Jones <lee.jones@linaro.org> wrote:
> On 19/04/12 21:36, Lee Jones wrote:

>> -               goto out_free_irq;
>> +               goto out_disable_resources;
>>        }
>>
>>        retval = register_netdev(dev);
>
>
> Anything on this from the Net guys?

This was merged for 3.4-rc5, check:
https://lkml.org/lkml/2012/4/29/2

Linus Walleij

^ permalink raw reply	[flat|nested] 63+ messages in thread

* [PATCH 04/15] drivers/net: Do not free an IRQ if its request failed
@ 2012-05-04 18:22       ` Linus Walleij
  0 siblings, 0 replies; 63+ messages in thread
From: Linus Walleij @ 2012-05-04 18:22 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, May 4, 2012 at 4:10 PM, Lee Jones <lee.jones@linaro.org> wrote:
> On 19/04/12 21:36, Lee Jones wrote:

>> - ? ? ? ? ? ? ? goto out_free_irq;
>> + ? ? ? ? ? ? ? goto out_disable_resources;
>> ? ? ? ?}
>>
>> ? ? ? ?retval = register_netdev(dev);
>
>
> Anything on this from the Net guys?

This was merged for 3.4-rc5, check:
https://lkml.org/lkml/2012/4/29/2

Linus Walleij

^ permalink raw reply	[flat|nested] 63+ messages in thread

* Re: [PATCH 04/15] drivers/net: Do not free an IRQ if its request failed
  2012-05-04 18:22       ` Linus Walleij
@ 2012-05-04 21:18         ` Lee Jones
  -1 siblings, 0 replies; 63+ messages in thread
From: Lee Jones @ 2012-05-04 21:18 UTC (permalink / raw)
  To: Linus Walleij
  Cc: linux, linus.walleij, arnd, netdev, grant.likely, cjb, linux-arm-kernel

On 04/05/12 19:22, Linus Walleij wrote:
> On Fri, May 4, 2012 at 4:10 PM, Lee Jones<lee.jones@linaro.org>  wrote:
>> On 19/04/12 21:36, Lee Jones wrote:
>
>>> -               goto out_free_irq;
>>> +               goto out_disable_resources;
>>>         }
>>>
>>>         retval = register_netdev(dev);
>>
>>
>> Anything on this from the Net guys?
>
> This was merged for 3.4-rc5, check:
> https://lkml.org/lkml/2012/4/29/2

I actually found that out a few hours ago by accident.

Thanks for letting me know though.

Kind regards,
Lee

-- 
Lee Jones
Linaro ST-Ericsson Landing Team Lead
M: +44 77 88 633 515
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 63+ messages in thread

* [PATCH 04/15] drivers/net: Do not free an IRQ if its request failed
@ 2012-05-04 21:18         ` Lee Jones
  0 siblings, 0 replies; 63+ messages in thread
From: Lee Jones @ 2012-05-04 21:18 UTC (permalink / raw)
  To: linux-arm-kernel

On 04/05/12 19:22, Linus Walleij wrote:
> On Fri, May 4, 2012 at 4:10 PM, Lee Jones<lee.jones@linaro.org>  wrote:
>> On 19/04/12 21:36, Lee Jones wrote:
>
>>> -               goto out_free_irq;
>>> +               goto out_disable_resources;
>>>         }
>>>
>>>         retval = register_netdev(dev);
>>
>>
>> Anything on this from the Net guys?
>
> This was merged for 3.4-rc5, check:
> https://lkml.org/lkml/2012/4/29/2

I actually found that out a few hours ago by accident.

Thanks for letting me know though.

Kind regards,
Lee

-- 
Lee Jones
Linaro ST-Ericsson Landing Team Lead
M: +44 77 88 633 515
Linaro.org ? Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

^ permalink raw reply	[flat|nested] 63+ messages in thread

* [PATCH 14/15] mfd/db8500-prcmu: Add Device Tree support and enable ux500 platforms
  2012-04-24  8:18   ` Linus Walleij
  2012-05-04 14:00     ` Lee Jones
@ 2012-05-09 15:08     ` Samuel Ortiz
  1 sibling, 0 replies; 63+ messages in thread
From: Samuel Ortiz @ 2012-05-09 15:08 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Linus,

On Tue, Apr 24, 2012 at 10:18:04AM +0200, Linus Walleij wrote:
> On Thu, Apr 19, 2012 at 10:36 PM, Lee Jones <lee.jones@linaro.org> wrote:
> 
> > Here we see the db8500-prcmu driver obtain DT support. In its
> > current state, all we have to do is offer a matching compatible
> > node and the driver will register and initialise correctly. We
> > Also remove any initialisation completed in platform code to
> > prevent any device duplication.
> >
> > CC: Samuel Ortiz <sameo@linux.intel.com>
> > Signed-off-by: Lee Jones <lee.jones@linaro.org>
> 
> OK I need Sam's ACK on this too, then it seems a good idea
> to take all three patches touching the PRCMU driver through the
> ux500-core tree.
I just took 2 of them:

mfd: Enable Device Tree support for the db8500-prcmu
mfd: Add support for db8500-prcmu regulator supply for nmk-i2c.4

Since you have not taken any db8500 patches yet on ux500-core, I can carry
them unless you object to it.

Cheers,
Samuel.

-- 
Intel Open Source Technology Centre
http://oss.intel.com/

^ permalink raw reply	[flat|nested] 63+ messages in thread

* [PATCH 12/15] mfd/db8500-prcmu: Register as a platform driver instead of only probing
  2012-04-24  8:07   ` Linus Walleij
  2012-05-04 14:00     ` Lee Jones
@ 2012-05-09 15:20     ` Samuel Ortiz
  1 sibling, 0 replies; 63+ messages in thread
From: Samuel Ortiz @ 2012-05-09 15:20 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Linus,

On Tue, Apr 24, 2012 at 10:07:41AM +0200, Linus Walleij wrote:
> On Thu, Apr 19, 2012 at 10:36 PM, Lee Jones <lee.jones@linaro.org> wrote:
> 
> > Pass the probe function as part of the platform_driver struct and
> > register using the more common platform_driver_register call. In
> > subsequent patches we'll also add DT support into the struct.
> >
> > CC: Samuel Ortiz <sameo@linux.intel.com>
> > Signed-off-by: Lee Jones <lee.jones@linaro.org>
> 
> Acked-by: Linus Walleij <linus.walleij@linaro.org>
Applied to my for-next branch, thanks.

Cheers,
Samuel.

-- 
Intel Open Source Technology Centre
http://oss.intel.com/

^ permalink raw reply	[flat|nested] 63+ messages in thread

* [PATCH 7.2/15] ARM: ux500: Disable SMSC911x platform code registration when DT is enabled
  2012-05-03 17:14         ` Linus Walleij
@ 2012-05-16  7:12           ` Lee Jones
  2012-05-16  7:38             ` Linus Walleij
  2012-05-16  8:03           ` Lee Jones
  1 sibling, 1 reply; 63+ messages in thread
From: Lee Jones @ 2012-05-16  7:12 UTC (permalink / raw)
  To: linux-arm-kernel

On 03/05/12 18:14, Linus Walleij wrote:
> On Thu, May 3, 2012 at 2:57 PM, Arnd Bergmann<arnd@arndb.de>  wrote:
> 
>> This version of the patch looks good, the version that was applied does not.
>> (...)
>> Linus and Lee, what's going on here?
> 
> Probably just my screwups when applying Lee's patches out-of-order
> and splitting them.
> 
> I saw lee sent a new pull request with his baseline, throw the devcietree
> branch from me out and use his branch instead.

I've just seen another problem with this.

In the pull request was:

> commit dc315c470b6b69018e6b65beb1e5b0d8f737261d
> Author: Lee Jones <lee.jones@linaro.org>
> Date:   Tue Apr 24 10:54:25 2012 +0100
> 
>     ARM: ux500: Disable SMSC911x platform code registration when DT is enabled
>     
>     Now the SCMC911x is correctly enabled in Device Tree, there is no need
>     to continue registering it from platform code. In fact, if we continue
>     doing so, the system will throw an error on boot.
>     
>     SAcked-by: Linus Walleij <linus.walleij@linaro.org>
>     Signed-off-by: Arnd Bergmann <arnd@arndb.de>
>     igned-off-by: Lee Jones <lee.jones@linaro.org>
> 
> diff --git a/arch/arm/mach-ux500/board-mop500.c b/arch/arm/mach-ux500/board-mop500.c
> index cdf0ecf..d554a8b 100644
> --- a/arch/arm/mach-ux500/board-mop500.c
> +++ b/arch/arm/mach-ux500/board-mop500.c
> @@ -612,7 +612,6 @@ static struct platform_device *snowball_platform_devs[] __initdata = {
>  static struct platform_device *snowball_of_platform_devs[] __initdata = {
>         &snowball_led_dev,
>         &snowball_key_dev,
> -       &snowball_sbnet_dev,
>         &ab8500_device,
>  };

But this made it into arm-soc:

> commit f58546a17c5dc2255c40e4bc4287e06a93b5c9a0
> Author: Lee Jones <lee.jones@linaro.org>
> Date:   Tue Apr 24 10:54:25 2012 +0100
> 
>     ARM: ux500: Disable SMSC911x platform code registration when DT is enabled
>     
>     Now the SCMC911x is correctly enabled in Device Tree, there is no need
>     to continue registering it from platform code. In fact, if we continue
>     doing so, the system will throw an error on boot.
>     
>     Signed-off-by: Lee Jones <lee.jones@linaro.org>
>     Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
> 
> diff --git a/arch/arm/mach-ux500/board-mop500.c b/arch/arm/mach-ux500/board-mop500.c
> index b885f27..f815015 100644
> --- a/arch/arm/mach-ux500/board-mop500.c
> +++ b/arch/arm/mach-ux500/board-mop500.c
> @@ -605,7 +605,6 @@ static void __init mop500_uart_init(struct device *parent)
>  static struct platform_device *snowball_platform_devs[] __initdata = {
>         &snowball_led_dev,
>         &snowball_key_dev,
> -       &snowball_sbnet_dev,
>         &ab8500_device,
>  };

Somehow the incorrect *_platform_devs[] was amended.

Some kind of git automatic conflict resolution error?

Kind regards,
Lee

-- 
Lee Jones
Linaro ST-Ericsson Landing Team Lead
M: +44 77 88 633 515 
Linaro.org ? Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

^ permalink raw reply	[flat|nested] 63+ messages in thread

* [PATCH 7.2/15] ARM: ux500: Disable SMSC911x platform code registration when DT is enabled
  2012-05-16  7:12           ` Lee Jones
@ 2012-05-16  7:38             ` Linus Walleij
  2012-05-16  7:48               ` Lee Jones
  0 siblings, 1 reply; 63+ messages in thread
From: Linus Walleij @ 2012-05-16  7:38 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, May 16, 2012 at 9:12 AM, Lee Jones <lee.jones@linaro.org> wrote:
> On 03/05/12 18:14, Linus Walleij wrote:

> In the pull request was:
>> @@ -612,7 +612,6 @@ static struct platform_device *snowball_platform_devs[] __initdata = {
(...)
> But this made it into arm-soc:
>> @@ -605,7 +605,6 @@ static void __init mop500_uart_init(struct device *parent)

Two exactly identical arrays just on different line numbers, yeah...

> Somehow the incorrect *_platform_devs[] was amended.
> Some kind of git automatic conflict resolution error?

Probably a patch -p1 < foo.patch error, that's the kind of stuff
it causes. My fault, certainly. The problem is that I don't see
the problem with git diff, it looks correct there too.

I thought that my bad branch had been replaced with a
different (correct) pull request from you though :-/

So how to we fix it? With an incremental patch on top?

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 63+ messages in thread

* [PATCH 7.2/15] ARM: ux500: Disable SMSC911x platform code registration when DT is enabled
  2012-05-16  7:38             ` Linus Walleij
@ 2012-05-16  7:48               ` Lee Jones
  2012-05-16  7:55                 ` Linus Walleij
  0 siblings, 1 reply; 63+ messages in thread
From: Lee Jones @ 2012-05-16  7:48 UTC (permalink / raw)
  To: linux-arm-kernel

On 16/05/12 08:38, Linus Walleij wrote:
> On Wed, May 16, 2012 at 9:12 AM, Lee Jones<lee.jones@linaro.org>  wrote:
>> On 03/05/12 18:14, Linus Walleij wrote:
>
>> In the pull request was:
>>> @@ -612,7 +612,6 @@ static struct platform_device *snowball_platform_devs[] __initdata = {
> (...)
>> But this made it into arm-soc:
>>> @@ -605,7 +605,6 @@ static void __init mop500_uart_init(struct device *parent)
>
> Two exactly identical arrays just on different line numbers, yeah...

Eh? Did you quote the wrong line?

>> Somehow the incorrect *_platform_devs[] was amended.
>> Some kind of git automatic conflict resolution error?
>
> Probably a patch -p1<  foo.patch error, that's the kind of stuff
> it causes. My fault, certainly. The problem is that I don't see
> the problem with git diff, it looks correct there too.

No I don't think it has anything to do with what you did.

> I thought that my bad branch had been replaced with a
> different (correct) pull request from you though :-/

I did, hence why it's not your fault. However, I've checked the 
pull-request I sent and it contains the _correct_ patch. This must have 
happened during the pull or with a subsequent git action (rebase?).

> So how to we fix it? With an incremental patch on top?

I can provide you with a patch really quickly if that's the way you want 
to go.

Kind regards,
Lee

-- 
Lee Jones
Linaro ST-Ericsson Landing Team Lead
M: +44 77 88 633 515
Linaro.org ? Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

^ permalink raw reply	[flat|nested] 63+ messages in thread

* [PATCH 7.2/15] ARM: ux500: Disable SMSC911x platform code registration when DT is enabled
  2012-05-16  7:48               ` Lee Jones
@ 2012-05-16  7:55                 ` Linus Walleij
  2012-05-16  8:01                   ` Lee Jones
  0 siblings, 1 reply; 63+ messages in thread
From: Linus Walleij @ 2012-05-16  7:55 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, May 16, 2012 at 9:48 AM, Lee Jones <lee.jones@linaro.org> wrote:
> On 16/05/12 08:38, Linus Walleij wrote:
>> On Wed, May 16, 2012 at 9:12 AM, Lee Jones<lee.jones@linaro.org> ?wrote:
>>> On 03/05/12 18:14, Linus Walleij wrote:
>>
>> Two exactly identical arrays just on different line numbers, yeah...
>
> Eh? Did you quote the wrong line?

Maybe, anyway that was the problem, was it not?
I'm ever more confused with this, maybe git is confused
too :-)

>> So how to we fix it? With an incremental patch on top?
>
> I can provide you with a patch really quickly if that's the way you want to
> go.

You can send it directly to ARM SoC maintainers I think,
since that is where the problem sits right now. I'll just ACK it.

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 63+ messages in thread

* [PATCH 7.2/15] ARM: ux500: Disable SMSC911x platform code registration when DT is enabled
  2012-05-16  7:55                 ` Linus Walleij
@ 2012-05-16  8:01                   ` Lee Jones
  0 siblings, 0 replies; 63+ messages in thread
From: Lee Jones @ 2012-05-16  8:01 UTC (permalink / raw)
  To: linux-arm-kernel

On 16/05/12 08:55, Linus Walleij wrote:
> On Wed, May 16, 2012 at 9:48 AM, Lee Jones<lee.jones@linaro.org>  wrote:
>> On 16/05/12 08:38, Linus Walleij wrote:
>>> On Wed, May 16, 2012 at 9:12 AM, Lee Jones<lee.jones@linaro.org>    wrote:
>>>> On 03/05/12 18:14, Linus Walleij wrote:
>>>
>>> Two exactly identical arrays just on different line numbers, yeah...
>>
>> Eh? Did you quote the wrong line?
>
> Maybe, anyway that was the problem, was it not?
> I'm ever more confused with this, maybe git is confused
> too :-)

I think you meant:

 >  static struct platform_device *snowball_of_platform_devs[]
 >  static struct platform_device *snowball_platform_devs[]

In which case, no, they're not the same. :)

>>> So how to we fix it? With an incremental patch on top?
>>
>> I can provide you with a patch really quickly if that's the way you want to
>> go.
>
> You can send it directly to ARM SoC maintainers I think,
> since that is where the problem sits right now. I'll just ACK it.

Yes, I can do that.

-- 
Lee Jones
Linaro ST-Ericsson Landing Team Lead
M: +44 77 88 633 515
Linaro.org ? Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

^ permalink raw reply	[flat|nested] 63+ messages in thread

* [PATCH 7.2/15] ARM: ux500: Disable SMSC911x platform code registration when DT is enabled
  2012-05-03 17:14         ` Linus Walleij
  2012-05-16  7:12           ` Lee Jones
@ 2012-05-16  8:03           ` Lee Jones
  1 sibling, 0 replies; 63+ messages in thread
From: Lee Jones @ 2012-05-16  8:03 UTC (permalink / raw)
  To: linux-arm-kernel

On 03/05/12 18:14, Linus Walleij wrote:
> On Thu, May 3, 2012 at 2:57 PM, Arnd Bergmann<arnd@arndb.de>  wrote:
>
>> This version of the patch looks good, the version that was applied does not.
>> (...)
>> Linus and Lee, what's going on here?
>
> Probably just my screwups when applying Lee's patches out-of-order
> and splitting them.
>
> I saw lee sent a new pull request with his baseline, throw the devcietree
> branch from me out and use his branch instead.

I've just seen another problem with this.

In the pull request was:

> commit dc315c470b6b69018e6b65beb1e5b0d8f737261d
> Author: Lee Jones <lee.jones@linaro.org>
> Date:   Tue Apr 24 10:54:25 2012 +0100
>
>     ARM: ux500: Disable SMSC911x platform code registration when DT is enabled
>
>     Now the SCMC911x is correctly enabled in Device Tree, there is no need
>     to continue registering it from platform code. In fact, if we continue
>     doing so, the system will throw an error on boot.
>
>     SAcked-by: Linus Walleij <linus.walleij@linaro.org>
>     Signed-off-by: Arnd Bergmann <arnd@arndb.de>
>     igned-off-by: Lee Jones <lee.jones@linaro.org>
>
> diff --git a/arch/arm/mach-ux500/board-mop500.c b/arch/arm/mach-ux500/board-mop500.c
> index cdf0ecf..d554a8b 100644
> --- a/arch/arm/mach-ux500/board-mop500.c
> +++ b/arch/arm/mach-ux500/board-mop500.c
> @@ -612,7 +612,6 @@ static struct platform_device *snowball_platform_devs[] __initdata = {
>  static struct platform_device *snowball_of_platform_devs[] __initdata = {
>         &snowball_led_dev,
>         &snowball_key_dev,
> -       &snowball_sbnet_dev,
>         &ab8500_device,
>  };

But this made it into arm-soc:

> commit f58546a17c5dc2255c40e4bc4287e06a93b5c9a0
> Author: Lee Jones <lee.jones@linaro.org>
> Date:   Tue Apr 24 10:54:25 2012 +0100
>
>     ARM: ux500: Disable SMSC911x platform code registration when DT is enabled
>
>     Now the SCMC911x is correctly enabled in Device Tree, there is no need
>     to continue registering it from platform code. In fact, if we continue
>     doing so, the system will throw an error on boot.
>
>     Signed-off-by: Lee Jones <lee.jones@linaro.org>
>     Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
>
> diff --git a/arch/arm/mach-ux500/board-mop500.c b/arch/arm/mach-ux500/board-mop500.c
> index b885f27..f815015 100644
> --- a/arch/arm/mach-ux500/board-mop500.c
> +++ b/arch/arm/mach-ux500/board-mop500.c
> @@ -605,7 +605,6 @@ static void __init mop500_uart_init(struct device *parent)
>  static struct platform_device *snowball_platform_devs[] __initdata = {
>         &snowball_led_dev,
>         &snowball_key_dev,
> -       &snowball_sbnet_dev,
>         &ab8500_device,
>  };

Somehow the incorrect *_platform_devs[] was amended.

Some kind of git automatic conflict resolution error?

Kind regards,
Lee

-- 
Lee Jones
Linaro ST-Ericsson Landing Team Lead
M: +44 77 88 633 515 Linaro.org ? Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

^ permalink raw reply	[flat|nested] 63+ messages in thread

* [PATCH 02/15] drivers/gpio: gpio-nomadik: Add support for irqdomains
  2012-04-23 12:25   ` Linus Walleij
@ 2012-05-17 23:35     ` Grant Likely
  0 siblings, 0 replies; 63+ messages in thread
From: Grant Likely @ 2012-05-17 23:35 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, 23 Apr 2012 14:25:21 +0200, Linus Walleij <linus.walleij@linaro.org> wrote:
> On Thu, Apr 19, 2012 at 10:36 PM, Lee Jones <lee.jones@linaro.org> wrote:
> 
> > Add irq domain support to the gpio-nomadik GPIO driver. This
> > enables its users to support dynamic IRQ assignment, which is
> > requried by Device Tree.
> >
> > Signed-off-by: Lee Jones <lee.jones@linaro.org>
> 
> Hey, it works!
> 
> Applied to my gpio-and-pin ux500 branch.
> 
> Note to Grant: I'm shepherding the ux500 GPIO patches for
> funneling through the ARM SoC tree.

Okay, I'll happily ignore the ux500 patches then.  :-)

g.

^ permalink raw reply	[flat|nested] 63+ messages in thread

* [PATCH 05/15] ARM: ux500: New DT:ed snowball_platform_devs for one-by-one device enablement
  2012-04-25 10:50     ` Linus Walleij
@ 2012-05-28  4:54       ` Lee Jones
  2012-05-29  2:01         ` Linus Walleij
  0 siblings, 1 reply; 63+ messages in thread
From: Lee Jones @ 2012-05-28  4:54 UTC (permalink / raw)
  To: linux-arm-kernel

>> Linus, Can you please take 05 and 06 please, as some of the other patches
>> depend on them. Thanks.
>
> I think I've done that now and I'm planning a first pull request to ARM SoC
> to get the base into -next ASAP.

Looks like neither of these made it into Mainline, however subsequent 
patches which made changes to them did. This has caused some merge 
error, thus the code, especially in arch/arm/mach-ux500/cpu-db8500.c, 
but also in arch/arm/mach-ux500/board-mop500.c is quite wrong. :(

-- 
Lee Jones
Linaro ST-Ericsson Landing Team Lead
M: +44 77 88 633 515
Linaro.org ? Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

^ permalink raw reply	[flat|nested] 63+ messages in thread

* [PATCH 05/15] ARM: ux500: New DT:ed snowball_platform_devs for one-by-one device enablement
  2012-05-28  4:54       ` Lee Jones
@ 2012-05-29  2:01         ` Linus Walleij
  0 siblings, 0 replies; 63+ messages in thread
From: Linus Walleij @ 2012-05-29  2:01 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, May 28, 2012 at 12:54 PM, Lee Jones <lee.jones@linaro.org> wrote:

> Looks like neither of these made it into Mainline, however subsequent
> patches which made changes to them did. This has caused some merge error,
> thus the code, especially in arch/arm/mach-ux500/cpu-db8500.c, but also in
> arch/arm/mach-ux500/board-mop500.c is quite wrong. :(

OK can you create a fixup patch for the 3.5-rc series and send it
to the ARM SoC tree?

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 63+ messages in thread

end of thread, other threads:[~2012-05-29  2:01 UTC | newest]

Thread overview: 63+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-04-19 20:36 [PATCH 0/16 v2] Another round of Device Tree enablement for Snowball Lee Jones
2012-04-19 20:36 ` [PATCH 01/15] ARM: ux500: Enable the external bus with Device Tree Lee Jones
2012-04-23 11:36   ` Linus Walleij
2012-04-19 20:36 ` [PATCH 02/15] drivers/gpio: gpio-nomadik: Add support for irqdomains Lee Jones
2012-04-23 12:25   ` Linus Walleij
2012-05-17 23:35     ` Grant Likely
2012-04-19 20:36 ` [PATCH 03/15] ARM: ux500: Use correct format for dynamic IRQ assignment Lee Jones
2012-04-23 13:13   ` Linus Walleij
2012-04-24  7:55     ` Lee Jones
2012-04-19 20:36 ` [PATCH 04/15] drivers/net: Do not free an IRQ if its request failed Lee Jones
2012-04-19 20:36   ` Lee Jones
2012-05-04 14:10   ` Lee Jones
2012-05-04 14:10     ` Lee Jones
2012-05-04 18:22     ` Linus Walleij
2012-05-04 18:22       ` Linus Walleij
2012-05-04 21:18       ` Lee Jones
2012-05-04 21:18         ` Lee Jones
2012-04-19 20:36 ` [PATCH 05/15] ARM: ux500: New DT:ed snowball_platform_devs for one-by-one device enablement Lee Jones
2012-04-24 10:05   ` Lee Jones
2012-04-25 10:50     ` Linus Walleij
2012-05-28  4:54       ` Lee Jones
2012-05-29  2:01         ` Linus Walleij
2012-04-19 20:36 ` [PATCH 06/15] ARM: ux500: New DT:ed u8500_init_devices " Lee Jones
2012-04-19 20:36 ` [PATCH 07/15] ARM: ux500: Enable the SMSC9115 on Snowball via Device Tree Lee Jones
2012-04-24  7:53   ` Linus Walleij
2012-04-24  9:58     ` [PATCH 7.1/15] " Lee Jones
2012-04-25 10:43       ` Linus Walleij
2012-04-24  9:59     ` [PATCH 7.2/15] ARM: ux500: Disable SMSC911x platform code registration when DT is enabled Lee Jones
2012-05-03 12:57       ` Arnd Bergmann
2012-05-03 17:14         ` Linus Walleij
2012-05-16  7:12           ` Lee Jones
2012-05-16  7:38             ` Linus Walleij
2012-05-16  7:48               ` Lee Jones
2012-05-16  7:55                 ` Linus Walleij
2012-05-16  8:01                   ` Lee Jones
2012-05-16  8:03           ` Lee Jones
2012-04-24  9:48   ` [PATCH 07/15] ARM: ux500: Enable the SMSC9115 on Snowball via Device Tree Lee Jones
2012-04-24  9:51     ` Lee Jones
2012-04-19 20:36 ` [PATCH 08/15] drivers/mmc: MMCI: Use correct GPIO binding for IRQ requests Lee Jones
2012-04-24  7:51   ` Linus Walleij
2012-04-24  7:58     ` Lee Jones
2012-04-25  8:41       ` Linus Walleij
2012-04-19 20:36 ` [PATCH 09/15] ARM: ux500: Correctly describe SMSC9115 for Snowball in DT Lee Jones
2012-04-24  7:54   ` Linus Walleij
2012-04-24  7:59     ` Lee Jones
2012-04-19 20:36 ` [PATCH 10/15] drivers/gpio: represent gpio-nomadik as an IRQ controller in DT documentation Lee Jones
2012-04-24  7:57   ` Linus Walleij
2012-04-24  8:00     ` Lee Jones
2012-04-19 20:36 ` [PATCH 11/15] ARM: ux500: Do not attempt to register non-existent i2c devices on Snowball Lee Jones
2012-04-24  8:05   ` Linus Walleij
2012-04-19 20:36 ` [PATCH 12/15] mfd/db8500-prcmu: Register as a platform driver instead of only probing Lee Jones
2012-04-24  8:07   ` Linus Walleij
2012-05-04 14:00     ` Lee Jones
2012-05-09 15:20     ` Samuel Ortiz
2012-04-19 20:36 ` [PATCH 13/15] ARM: ux500: Fork cpu-db8500 platform_devs for sequential DT enablement Lee Jones
2012-04-19 20:36 ` [PATCH 14/15] mfd/db8500-prcmu: Add Device Tree support and enable ux500 platforms Lee Jones
2012-04-24  8:18   ` Linus Walleij
2012-05-04 14:00     ` Lee Jones
2012-05-09 15:08     ` Samuel Ortiz
2012-04-19 20:36 ` [PATCH 15/15] ARM: ux500: Enable PRCMU Timer 4 (clocksource) via Device Tree Lee Jones
2012-04-24  8:19   ` Linus Walleij
2012-04-24 10:02     ` [PATCH 15.1/15] ARM: ux500: Configure the PRCMU Timer for db8500 based devices in DT Lee Jones
2012-04-24 10:03     ` [PATCH 15.2/15] ARM: ux500: Enable PRCMU Timer 4 (clocksource) for Device Tree Lee Jones

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.