Skip to contentSkip to conversation

ARM: vexpress: Remove non-DT code

PATCH RESEND Applied Pawel Moll 5 participants 22 messages Nov 25, 2014 – Dec 4, 2014

Subsystems (6)
lore
Share & tools
lore

Pawel Moll

author
#0 lore raw

PATCH RESEND v2 1/2 ARM: vexpress: Remove non-DT code

Now, with the CLCD DT support available, there is no more reason to keep the non-DT support for V2P-CA9.

Removed, together with "some" supporting code. It was necessary to make PLAT_VERSATILE_SCHED_CLOCK optional and selected by the machines still interested in it.

---
Changes since v1:

- Removed MFD and power/reset changes from the patch; will be posted separately after this is merged.

 arch/arm/Kconfig                                  |   2 +
 arch/arm/mach-vexpress/Kconfig                    |   3 -
 arch/arm/mach-vexpress/Makefile                   |   3 +-
 arch/arm/mach-vexpress/core.h                     |   7 -
 arch/arm/mach-vexpress/ct-ca9x4.c                 | 212 ------------
 arch/arm/mach-vexpress/include/mach/ct-ca9x4.h    |  47 ---
 arch/arm/mach-vexpress/include/mach/hardware.h    |   1 -
 arch/arm/mach-vexpress/include/mach/irqs.h        |   6 -
 arch/arm/mach-vexpress/include/mach/motherboard.h |  88 -----
 arch/arm/mach-vexpress/platsmp.c                  |  42 ---
 arch/arm/mach-vexpress/v2m.c                      | 374 ----------------------
 arch/arm/plat-versatile/Kconfig                   |   2 +-
 drivers/clk/versatile/Makefile                    |   1 -
 drivers/clk/versatile/clk-vexpress-osc.c          |   7 -
 drivers/clk/versatile/clk-vexpress.c              |  86 -----
 drivers/misc/vexpress-syscfg.c                    |  60 +---
 include/linux/vexpress.h                          |  19 --
 17 files changed, 17 insertions(+), 943 deletions(-)
 delete mode 100644 arch/arm/mach-vexpress/ct-ca9x4.c
 delete mode 100644 arch/arm/mach-vexpress/include/mach/ct-ca9x4.h
 delete mode 100644 arch/arm/mach-vexpress/include/mach/hardware.h
 delete mode 100644 arch/arm/mach-vexpress/include/mach/irqs.h
 delete mode 100644 arch/arm/mach-vexpress/include/mach/motherboard.h
 delete mode 100644 drivers/clk/versatile/clk-vexpress.c
arch/arm/Kconfig +2 -0
index 89c4b5c..6c6fdb8 100644
@@ -350,6 +350,7 @@ config ARCH_REALVIEW
 	select ICST
 	select NEED_MACH_MEMORY_H
 	select PLAT_VERSATILE
+	select PLAT_VERSATILE_SCHED_CLOCK
 	help
 	  This enables support for ARM Ltd RealView boards.
 
@@ -365,6 +366,7 @@ config ARCH_VERSATILE
 	select ICST
 	select PLAT_VERSATILE
 	select PLAT_VERSATILE_CLOCK
+	select PLAT_VERSATILE_SCHED_CLOCK
 	select VERSATILE_FPGA_IRQ
 	help
 	  This enables support for ARM Ltd Versatile board.
arch/arm/mach-vexpress/Kconfig +0 -3
index b2cfba16c..9a96bab 100644
@@ -49,9 +49,6 @@ config ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA
 	  build a working kernel, you must also enable relevant core
 	  tile support or Flattened Device Tree based support options.
 
-config ARCH_VEXPRESS_CA9X4
-	bool "Versatile Express Cortex-A9x4 tile"
-
 config ARCH_VEXPRESS_DCSCB
 	bool "Dual Cluster System Control Block (DCSCB) support"
 	depends on MCPM
arch/arm/mach-vexpress/Makefile +1 -2
index fc649bc..f5c1006 100644
@@ -1,11 +1,10 @@
 #
 # Makefile for the linux kernel.
 #
-ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/$(src)/include \
+ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := \
 	-I$(srctree)/arch/arm/plat-versatile/include
 
 obj-y					:= v2m.o
-obj-$(CONFIG_ARCH_VEXPRESS_CA9X4)	+= ct-ca9x4.o
 obj-$(CONFIG_ARCH_VEXPRESS_DCSCB)	+= dcscb.o	dcscb_setup.o
 CFLAGS_dcscb.o				+= -march=armv7-a
 CFLAGS_REMOVE_dcscb.o			= -pg
arch/arm/mach-vexpress/core.h +0 -7
index 152fad9..2a11d3a 100644
@@ -1,12 +1,5 @@
-/* 2MB large area for motherboard's peripherals static mapping */
-#define V2M_PERIPH 0xf8000000
-
-/* Tile's peripherals static mappings should start here */
-#define V2T_PERIPH 0xf8200000
-
 bool vexpress_smp_init_ops(void);
 
-extern struct smp_operations	vexpress_smp_ops;
 extern struct smp_operations	vexpress_smp_dt_ops;
 
 extern void vexpress_cpu_die(unsigned int cpu);
arch/arm/mach-vexpress/ct-ca9x4.c deleted +0 -212

212 lines not on this page · raw message

arch/arm/mach-vexpress/include/mach/ct-ca9x4.h deleted +0 -47

47 lines not on this page · raw message

arch/arm/mach-vexpress/include/mach/hardware.h deleted +0 -1
deleted file mode 100644
index 40a8c17..0000000
@@ -1 +0,0 @@
-/* empty */
arch/arm/mach-vexpress/include/mach/irqs.h deleted +0 -6
deleted file mode 100644
index f8f7f78..0000000
@@ -1,6 +0,0 @@
-#define IRQ_LOCALTIMER		29
-#define IRQ_LOCALWDOG		30
-
-#ifndef CONFIG_SPARSE_IRQ
-#define NR_IRQS	256
-#endif
arch/arm/mach-vexpress/include/mach/motherboard.h deleted +0 -88

88 lines not on this page · raw message

arch/arm/mach-vexpress/platsmp.c +0 -42

61 lines not on this page · raw message

arch/arm/mach-vexpress/v2m.c +0 -374

385 lines not on this page · raw message

arch/arm/plat-versatile/Kconfig +1 -1
index a301ca2..49b8ef9 100644
@@ -4,6 +4,6 @@ config PLAT_VERSATILE_CLOCK
 	bool
 
 config PLAT_VERSATILE_SCHED_CLOCK
-	def_bool y
+	bool
 
 endif
drivers/clk/versatile/Makefile +0 -1
index 162e519..8ff0374 100644
@@ -2,6 +2,5 @@
 obj-$(CONFIG_ICST)		+= clk-icst.o clk-versatile.o
 obj-$(CONFIG_INTEGRATOR_IMPD1)	+= clk-impd1.o
 obj-$(CONFIG_ARCH_REALVIEW)	+= clk-realview.o
-obj-$(CONFIG_ARCH_VEXPRESS)	+= clk-vexpress.o
 obj-$(CONFIG_CLK_SP810)		+= clk-sp810.o
 obj-$(CONFIG_CLK_VEXPRESS_OSC)	+= clk-vexpress-osc.o
drivers/clk/versatile/clk-vexpress-osc.c +0 -7
index 529a59c..765f1e0 100644
@@ -70,7 +70,6 @@ static struct clk_ops vexpress_osc_ops = {
 
 static int vexpress_osc_probe(struct platform_device *pdev)
 {
-	struct clk_lookup *cl = pdev->dev.platform_data; /* Non-DT lookup */
 	struct clk_init_data init;
 	struct vexpress_osc *osc;
 	struct clk *clk;
@@ -106,12 +105,6 @@ static int vexpress_osc_probe(struct platform_device *pdev)
 
 	of_clk_add_provider(pdev->dev.of_node, of_clk_src_simple_get, clk);
 
-	/* Only happens for non-DT cases */
-	if (cl) {
-		cl->clk = clk;
-		clkdev_add(cl);
-	}
-
 	dev_dbg(&pdev->dev, "Registered clock '%s'\n", init.name);
 
 	return 0;
drivers/clk/versatile/clk-vexpress.c deleted +0 -86

86 lines not on this page · raw message

drivers/misc/vexpress-syscfg.c +13 -47

92 lines not on this page · raw message

include/linux/vexpress.h +0 -19
index a4c9547..f8e76e0 100644
@@ -15,8 +15,6 @@
 #define _LINUX_VEXPRESS_H
 
 #include <linux/device.h>
-#include <linux/platform_device.h>
-#include <linux/reboot.h>
 #include <linux/regmap.h>
 
 #define VEXPRESS_SITE_MB		0
@@ -24,13 +22,6 @@
 #define VEXPRESS_SITE_DB2		2
 #define VEXPRESS_SITE_MASTER		0xf
 
-#define VEXPRESS_RES_FUNC(_site, _func)	\
-{					\
-	.start = (_site),		\
-	.end = (_func),			\
-	.flags = IORESOURCE_BUS,	\
-}
-
 /* Config infrastructure */
 
 void vexpress_config_set_master(u32 site);
@@ -58,16 +49,6 @@ struct regmap *devm_regmap_init_vexpress_config(struct device *dev);
 
 /* Platform control */
 
-unsigned int vexpress_get_mci_cardin(struct device *dev);
-u32 vexpress_get_procid(int site);
-void *vexpress_get_24mhz_clock_base(void);
 void vexpress_flags_set(u32 data);
 
-void vexpress_sysreg_early_init(void __iomem *base);
-int vexpress_syscfg_device_register(struct platform_device *pdev);
-
-/* Clocks */
-
-void vexpress_clk_init(void __iomem *sp810_base);
-
 #endif
Signature · 1 line
2.1.0
author
#1 lore raw

PATCH 2/2 MAINTAINERS: ARM Versatile Express platform

This patch adds a separate section for the ARM Versatile Express platform maintainers, listing all different bits and bobs used by it.

---
 MAINTAINERS | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
MAINTAINERS +19 -0
index 0ff630d..e0cb002 100644
@@ -1503,6 +1503,25 @@ S:	Maintained
 F:	drivers/clk/ux500/
 F:	include/linux/platform_data/clk-ux500.h
 
+ARM/VERSATILE EXPRESS PLATFORM
+M:	Liviu Dudau <[email protected]>
+M:	Sudeep Holla <[email protected]>
+M:	Lorenzo Pieralisi <[email protected]>
+L:	linux-arm-kernel at lists.infradead.org (moderated for non-subscribers)
+S:	Maintained
+F:	arch/arm/boot/dts/vexpress-*
+F:	arch/arm/mach-vexpress/*
+F:	drivers/bus/vexpress-config.c
+F:	drivers/clk/versatile/clk-vexpress-osc.c
+F:	drivers/clocksource/versatile.c
+F:	drivers/cpufreq/vexpress-spc-cpufreq.c
+F:	drivers/hwmon/vexpress.c
+F:	drivers/mfd/vexpress-sysreg.c
+F:	drivers/misc/vexpress-vexpress-syscfg.c
+F:	drivers/power/reset/vexpress-poweroff.c
+F:	drivers/regulator/vexpress.c
+F:	include/linux/vexpress.h
+
 ARM/VFP SUPPORT
 M:	Russell King <[email protected]>
 L:	linux-arm-kernel at lists.infradead.org (moderated for non-subscribers)
Signature · 1 line
2.1.0
Acked-by on v1 2/2
#2 lore raw

Re: [PATCH 2/2] MAINTAINERS: ARM Versatile Express platform

Quoting Pawel Moll (2014-11-25 10:17:35)

Quoted 8 lines

This patch adds a separate section for the ARM Versatile Express platform maintainers, listing all different bits and bobs used by it.

Quoted 37 lines
---
 MAINTAINERS | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
MAINTAINERS +19 -0
index 0ff630d..e0cb002 100644
@@ -1503,6 +1503,25 @@ S:       Maintained
 F:     drivers/clk/ux500/
 F:     include/linux/platform_data/clk-ux500.h
 
+ARM/VERSATILE EXPRESS PLATFORM
+M:     Liviu Dudau <[email protected]>
+M:     Sudeep Holla <[email protected]>
+M:     Lorenzo Pieralisi <[email protected]>
+L:     linux-arm-kernel at lists.infradead.org (moderated for non-subscribers)
+S:     Maintained
+F:     arch/arm/boot/dts/vexpress-*
+F:     arch/arm/mach-vexpress/*
+F:     drivers/bus/vexpress-config.c
+F:     drivers/clk/versatile/clk-vexpress-osc.c
+F:     drivers/clocksource/versatile.c
+F:     drivers/cpufreq/vexpress-spc-cpufreq.c
+F:     drivers/hwmon/vexpress.c
+F:     drivers/mfd/vexpress-sysreg.c
+F:     drivers/misc/vexpress-vexpress-syscfg.c
+F:     drivers/power/reset/vexpress-poweroff.c
+F:     drivers/regulator/vexpress.c
+F:     include/linux/vexpress.h
+
 ARM/VFP SUPPORT
 M:     Russell King <[email protected]>
 L:     linux-arm-kernel at lists.infradead.org (moderated for non-subscribers)
Signature · 1 line
2.1.0
#3 lore raw

Re: [PATCH 2/2] MAINTAINERS: ARM Versatile Express platform

Quoted 4 lines · Mike Turquette

Quoting Pawel Moll (2014-11-25 10:17:35)

Quoted 3 lines

This patch adds a separate section for the ARM
Versatile Express platform maintainers, listing
all different bits and bobs used by it.

[]

Quoted 1 line

MAINTAINERS

Quoted 1 line
MAINTAINERS +0 -0

[]

Quoted 1 line
Quoted 1 line

+ARM/VERSATILE EXPRESS PLATFORM

[]

Quoted 5 lines
Quoted 5 lines
MAINTAINERS +5 -0
+F:     arch/arm/boot/dts/vexpress-*
+F:     arch/arm/mach-vexpress/*
+F:     drivers/bus/vexpress-config.c
+F:     drivers/clk/versatile/clk-vexpress-osc.c
+F:     drivers/clocksource/versatile.c
Quoted 8 lines

MAINTAINERS S: Maintained · line 1523

Quoted 8 lines
MAINTAINERS +7 -0
+F:     drivers/cpufreq/vexpress-spc-cpufreq.c
+F:     drivers/hwmon/vexpress.c
+F:     drivers/mfd/vexpress-sysreg.c
+F:     drivers/misc/vexpress-vexpress-syscfg.c
+F:     drivers/power/reset/vexpress-poweroff.c
+F:     drivers/regulator/vexpress.c
+F:     include/linux/vexpress.h

maybe
F: arch/arm/boot/dts/vexpress*
F: arch/arm/mach-vexpress/
F: */*/vexpress*
F: */*/*/*vexpress*
F: drivers/clocksource/versatile.c

author
#4 lore raw

Re: [PATCH 2/2] MAINTAINERS: ARM Versatile Express platform

Quoted 10 lines · Joe Perches
Quoted 4 lines · Mike Turquette

Quoting Pawel Moll (2014-11-25 10:17:35)

Quoted 3 lines

This patch adds a separate section for the ARM
Versatile Express platform maintainers, listing
all different bits and bobs used by it.

[]

Quoted 1 line

MAINTAINERS

Quoted 1 line
MAINTAINERS +0 -0

[]

Quoted 1 line
Quoted 1 line

+ARM/VERSATILE EXPRESS PLATFORM

[]

Quoted 16 lines
Quoted 5 lines
Quoted 5 lines
MAINTAINERS +5 -0
+F:     arch/arm/boot/dts/vexpress-*
+F:     arch/arm/mach-vexpress/*
+F:     drivers/bus/vexpress-config.c
+F:     drivers/clk/versatile/clk-vexpress-osc.c
+F:     drivers/clocksource/versatile.c
Quoted 8 lines

MAINTAINERS S: Maintained · line 1523

Quoted 8 lines
MAINTAINERS +7 -0
+F:     drivers/cpufreq/vexpress-spc-cpufreq.c
+F:     drivers/hwmon/vexpress.c
+F:     drivers/mfd/vexpress-sysreg.c
+F:     drivers/misc/vexpress-vexpress-syscfg.c
+F:     drivers/power/reset/vexpress-poweroff.c
+F:     drivers/regulator/vexpress.c
+F:     include/linux/vexpress.h

maybe
F: arch/arm/boot/dts/vexpress*

Ok.

Quoted 1 line

F: arch/arm/mach-vexpress/

Right, of course. Whole directory.

Quoted 1 line

F: */*/vexpress*

Cool, didn't think about multiple wildcards.

Quoted 1 line

F: */*/*/*vexpress*

I'd keep the clk-vexpress-osc.c explicit - it's an odd one, and don't feel comfortable with the wildcard before vexpress.

Quoted 1 line

F: drivers/clocksource/versatile.c

Thanks for the suggestion, sill spin the patch in a second.

Pawel

maintainer
#5 lore raw

Re: [PATCH 2/2] MAINTAINERS: ARM Versatile Express platform

Quoted 6 lines · On Wednesday 26 November 2014 12:04:09 Pawel Moll wrote:

Right, of course. Whole directory.

Quoted 1 line

F: */*/vexpress*

Cool, didn't think about multiple wildcards.

Actually, I think you could even do this as

N: vexpress

which would be even shorter and match most of the other entries too.

Arnd

author
#6 lore raw

Re: [PATCH 2/2] MAINTAINERS: ARM Versatile Express platform

Quoted 6 lines · Arnd Bergmann
Quoted 5 lines · On Wednesday 26 November 2014 12:04:09 Pawel Moll wrote:

Right, of course. Whole directory.

Quoted 1 line

F: */*/vexpress*

Quoted 7 lines
Quoted 1 line

Cool, didn't think about multiple wildcards.

Actually, I think you could even do this as

N: vexpress

which would be even shorter and match most of the other entries too.

If you think it's safe, fine with me. It would reduce this section to:

N: vexpress
F: drivers/clocksource/versatile.c

I'll spin the patch again.

Pawel

#7 lore raw

Re: [PATCH 2/2] MAINTAINERS: ARM Versatile Express platform

Quoted 11 lines · Pawel Moll
Quoted 10 lines · Arnd Bergmann
Quoted 6 lines · On Wednesday 26 November 2014 12:04:09 Pawel Moll wrote:

Right, of course. Whole directory.

Quoted 1 line

F: */*/vexpress*

Cool, didn't think about multiple wildcards.

Actually, I think you could even do this as

Quoted 8 lines
Quoted 3 lines

N: vexpress

which would be even shorter and match most of the other entries too.

If you think it's safe, fine with me. It would reduce this section to:

N: vexpress
F: drivers/clocksource/versatile.c

Yes, that's possible too, but:

from MAINTAINERS:

scripts/get_maintainer.pl has different behavior for files that match F: pattern and matches of N: patterns. By default, get_maintainer will not look at git log history when an F: pattern match occurs. When an N: match occurs, git log history is used to also notify the people that have git commit signatures.

I think it's better to use F: entries because there is a get_maintainer difference in behavior between N: and F: entries.

An N: entry means get_maintainer will also cc patch submitters for these files.

An F: entry will not.

author
#8 lore raw

PATCH v2 1/1 MAINTAINERS: ARM Versatile Express platform

In reply to Pawel Moll

This patch adds a separate section for the ARM Versatile Express platform maintainers, listing all different bits and bobs used by it.

---
 MAINTAINERS | 12 ++++++++++++
 1 file changed, 12 insertions(+)
MAINTAINERS +12 -0
index 0ff630d..924454f 100644
@@ -1503,6 +1503,18 @@ S:	Maintained
 F:	drivers/clk/ux500/
 F:	include/linux/platform_data/clk-ux500.h
 
+ARM/VERSATILE EXPRESS PLATFORM
+M:	Liviu Dudau <[email protected]>
+M:	Sudeep Holla <[email protected]>
+M:	Lorenzo Pieralisi <[email protected]>
+L:	linux-arm-kernel at lists.infradead.org (moderated for non-subscribers)
+S:	Maintained
+F:	arch/arm/boot/dts/vexpress*
+F:	arch/arm/mach-vexpress/
+F:	*/*/vexpress*
+F:	drivers/clk/versatile/clk-vexpress-osc.c
+F:	drivers/clocksource/versatile.c
+
 ARM/VFP SUPPORT
 M:	Russell King <[email protected]>
 L:	linux-arm-kernel at lists.infradead.org (moderated for non-subscribers)
Signature · 1 line
2.1.0
maintainer Applied
#9 lore raw

Re: [PATCH v2] MAINTAINERS: ARM Versatile Express platform

Quoted 10 lines · Pawel Moll

This patch adds a separate section for the ARM Versatile Express platform maintainers, listing all different bits and bobs used by it.

---

Applied to next/fixes-non-critical, thanks!

Arnd

#10 lore raw

Re: [PATCH v2] MAINTAINERS: ARM Versatile Express platform

In reply to Pawel Moll
Quoted 22 lines · Pawel Moll

This patch adds a separate section for the ARM Versatile Express platform maintainers, listing all different bits and bobs used by it.

---
 MAINTAINERS | 12 ++++++++++++
 1 file changed, 12 insertions(+)
MAINTAINERS +1 -0
index 0ff630d..924454f 100644
@@ -1503,6 +1503,18 @@ S:	Maintained
 F:	drivers/clk/ux500/
 F:	include/linux/platform_data/clk-ux500.h
 
+ARM/VERSATILE EXPRESS PLATFORM

MAINTAINERS S: Maintained · line 1516

Quoted 10 lines
MAINTAINERS +10 -0
+M:	Liviu Dudau <[email protected]>
+M:	Sudeep Holla <[email protected]>
+M:	Lorenzo Pieralisi <[email protected]>
+L:	linux-arm-kernel at lists.infradead.org (moderated for non-subscribers)
+S:	Maintained
+F:	arch/arm/boot/dts/vexpress*
+F:	arch/arm/mach-vexpress/
+F:	*/*/vexpress*
+F:	drivers/clk/versatile/clk-vexpress-osc.c
+F:	drivers/clocksource/versatile.c

Your original submission had:

F: drivers/power/reset/vexpress-poweroff.c

This file is not matched by:

F: */*/vexpress*

author
#11 lore raw

Re: [PATCH v2] MAINTAINERS: ARM Versatile Express platform

Quoted 36 lines · Joe Perches
Quoted 22 lines · Pawel Moll

This patch adds a separate section for the ARM Versatile Express platform maintainers, listing all different bits and bobs used by it.

---
 MAINTAINERS | 12 ++++++++++++
 1 file changed, 12 insertions(+)
MAINTAINERS +1 -0
index 0ff630d..924454f 100644
@@ -1503,6 +1503,18 @@ S:	Maintained
 F:	drivers/clk/ux500/
 F:	include/linux/platform_data/clk-ux500.h
 
+ARM/VERSATILE EXPRESS PLATFORM

MAINTAINERS S: Maintained · line 1516

Quoted 10 lines
MAINTAINERS +10 -0
+M:	Liviu Dudau <[email protected]>
+M:	Sudeep Holla <[email protected]>
+M:	Lorenzo Pieralisi <[email protected]>
+L:	linux-arm-kernel at lists.infradead.org (moderated for non-subscribers)
+S:	Maintained
+F:	arch/arm/boot/dts/vexpress*
+F:	arch/arm/mach-vexpress/
+F:	*/*/vexpress*
+F:	drivers/clk/versatile/clk-vexpress-osc.c
+F:	drivers/clocksource/versatile.c

Your original submission had:

Quoted 5 lines

F: drivers/power/reset/vexpress-poweroff.c

This file is not matched by:

F: */*/vexpress*

Oh boy, of course. I'll send fix in a second.

Pawel

author
#12 lore raw

PATCH 1/1 MAINTAINERS: ARM Versatile Express platform, add missing pattern

VE's reset driver lives at the third level of the directories:

drivers/power/reset/vexpress-poweroff.c

and wasn't matched by the */*/vexpress* pattern.

Added additional pattern for all files at this level. This should be enough for a while...

---
 MAINTAINERS | 1 +
 1 file changed, 1 insertion(+)
MAINTAINERS +1 -0
index 924454f..4a00598 100644
@@ -1512,6 +1512,7 @@ S:	Maintained
 F:	arch/arm/boot/dts/vexpress*
 F:	arch/arm/mach-vexpress/
 F:	*/*/vexpress*
+F:	*/*/*/vexpress*
 F:	drivers/clk/versatile/clk-vexpress-osc.c
 F:	drivers/clocksource/versatile.c
 
Signature · 1 line
2.1.0
maintainer Applied
#13 lore raw

PATCH 1/1 MAINTAINERS: ARM Versatile Express platform, add missing pattern

Quoted 19 lines · On Monday 01 December 2014 14:16:33 Pawel Moll wrote:

VE's reset driver lives at the third level of the directories:

drivers/power/reset/vexpress-poweroff.c

and wasn't matched by the */*/vexpress* pattern.

Added additional pattern for all files at this level. This should be enough for a while...

---
 MAINTAINERS | 1 +
 1 file changed, 1 insertion(+)
MAINTAINERS +0 -0
index 924454f..4a00598 100644

MAINTAINERS S: Maintained · line 1517

Quoted 6 lines
MAINTAINERS +1 -0
@@ -1512,6 +1512,7 @@ S:	Maintained
 F:	arch/arm/boot/dts/vexpress*
 F:	arch/arm/mach-vexpress/
 F:	*/*/vexpress*
+F:	*/*/*/vexpress*
 F:	drivers/clk/versatile/clk-vexpress-osc.c
 F:	drivers/clocksource/versatile.c

Applied to next/fixes-non-critical, thanks!

Arnd

maintainer Applied
#14 lore raw
In reply to Pawel Moll
Quoted 7 lines · Pawel Moll

Now, with the CLCD DT support available, there is no more reason to keep the non-DT support for V2P-CA9.

Removed, together with "some" supporting code. It was necessary to make PLAT_VERSATILE_SCHED_CLOCK optional and selected by the machines still interested in it.

Quoted 7 lines

---
Changes since v1:

- Removed MFD and power/reset changes from the patch; will be posted separately after this is merged.

Applied to next/cleanup, thanks!

Arnd

#15 lore raw
Quoted 13 lines · Arnd Bergmann
Quoted 12 lines · Pawel Moll

Now, with the CLCD DT support available, there is no more reason to keep the non-DT support for V2P-CA9.

Removed, together with "some" supporting code. It was necessary to make PLAT_VERSATILE_SCHED_CLOCK optional and selected by the machines still interested in it.

---
Changes since v1:

Quoted 4 lines
Quoted 2 lines

- Removed MFD and power/reset changes from the patch; will be posted separately after this is merged.

Applied to next/cleanup, thanks!

Shame it doesn't work in DT mode though. Compare these boot logs:

http://www.arm.linux.org.uk/developer/build/result.php?type=boot&idx=3068

with:

http://www.arm.linux.org.uk/developer/build/result.php?type=boot&idx=3071

and spot the difference.

The biggest problem is the nonfunctional MMC interface:

mmci-pl18x 10005000.mmci: no support for card's volts
mmc0: error -22 whilst initialising SD card

which, as the rootfs is on the SD card, is pretty fatal.

Signature · 2 lines
FTTC broadband for 0.8mile line: currently at 9.5Mbps down 400kbps up
according to speedtest.net.
author
#16 lore raw
Quoted 2 lines · Russell King - ARM Linux

mmci-pl18x 10005000.mmci: no support for card's volts
mmc0: error -22 whilst initialising SD card

Just tried it again:

--8<----------------------------
ARM Versatile Express Boot Monitor
Version: V5.2.1
Build Date: Apr 4 2013
Daughterboard Site 1: V2P-CA9 Cortex A9
Daughterboard Site 2: Not Used
Running boot script from flash - BOOTSCRIPT
Loaded FDT - ca9
Loaded initrd - busybox
Copied 0x400000 bytes from 0x48000000 to 0x60008000
Booting kernel @ 0x60008000
Command line 'console=ttyAMA0,38400 earlyprintk debug '
initrd @ 0x70000000 (4127012 bytes)
FDT @ 0x69000000 (14048 bytes)
Uncompressing Linux... done, booting the kernel.
Booting Linux on physical CPU 0x0
Initializing cgroup subsys cpuset
Linux version 3.18.0-rc6+ (pawmol01 at hornet) (gcc version 4.9.2 20140904 (prerelease) (crosstool-NG linaro-1.13.1-4.9-2014.09 - Linaro GCC 4.9-2014.09) ) #1442 SMP Mon Nov 24 16:43:30 GMT 2014
CPU: ARMv7 Processor [410fc091] revision 1 (ARMv7), cr=10c5387d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine model: V2P-CA9
bootconsole [earlycon0] enabled
[...]
mmci-pl18x 10005000.mmci: Got CD GPIO
mmci-pl18x 10005000.mmci: Got WP GPIO
mmci-pl18x 10005000.mmci: Looking up vmmc-supply from device tree
mmci-pl18x 10005000.mmci: Looking up vqmmc-supply from device tree
mmci-pl18x 10005000.mmci: Looking up vqmmc-supply property in node /smb/motherboard/iofpga at 7,00000000/mmci at 05000 failed
mmci-pl18x 10005000.mmci: No vqmmc regulator found
mmci-pl18x 10005000.mmci: mmc0: PL180 manf 41 rev0 at 0x10005000 irq 41,42 (pio)
[...]
mmc0: new SD card@address 88f7
mmcblk0: mmc0:88f7 SD02G 1.84 GiB
mmcblk0: p1 p2
[...]
/ # mount /dev/mmcblk0p2 /mnt
EXT2-fs (mmcblk0p2): warning: mounting unchecked fs, running e2fsck is recommended
--8<------------------------------------

vmmc-supply is a defined as:

				vmmc-supply = <&v2m_fixed_3v3>;

which is:

                v2m_fixed_3v3: fixedregulator at 0 {
                        compatible = "regulator-fixed";

and arch/arm/mach-vexpress/Kconfig says:

menuconfig ARCH_VEXPRESS
[...]
select REGULATOR_FIXED_VOLTAGE if REGULATOR

but it doesn't select REGULATOR in result of this discussion:

http://thread.gmane.org/gmane.linux.ports.arm.kernel/223426/focus=223427

To summarize, I believe that setting CONFIG_REGULATOR=y (as in vexpress_defconfig) should solve your issue.

Pawel

maintainer
#17 lore raw
Quoted 15 lines · On Friday 28 November 2014 15:53:04 Pawel Moll wrote:

vmmc-supply is a defined as:

                                vmmc-supply = <&v2m_fixed_3v3>;

which is:

                v2m_fixed_3v3: fixedregulator at 0 {
                        compatible = "regulator-fixed";

and arch/arm/mach-vexpress/Kconfig says:

menuconfig ARCH_VEXPRESS
[...]
select REGULATOR_FIXED_VOLTAGE if REGULATOR

Quoted 6 lines

but it doesn't select REGULATOR in result of this discussion:

http://thread.gmane.org/gmane.linux.ports.arm.kernel/223426/focus=223427

To summarize, I believe that setting CONFIG_REGULATOR=y (as in vexpress_defconfig) should solve your issue.

Well, there is clearly a bug somewhere. As you say, the mmc driver now uses the regulator API to check the voltage instead of using platform_data. But there is no dependency on having the regulator support around, so it can't.

I would suggest applying your patch from
http://thread.gmane.org/gmane.linux.ports.arm.kernel/223426/focus=224128
after all, or just hardcoding regulator support like a lot of other platforms do.

Arnd

author
#19 lore raw

PATCH RESEND 1/1 ARM: vexpress: Enable regulator framework when MMCI is in use

The MMCI driver, when used with a Device Tree described device, relies on the "vmmc" voltage regulator supply to set the OCR register voltage bits, using MMC core's mmc_regulator_get_supply() function.

Without the regulator framework present there are no valid operating voltages reported and the device initialisation fails:

mmci-pl18x 10005000.mmci: No vmmc regulator found mmci-pl18x 10005000.mmci: no support for card's volts
mmc0: error -22 whilst initialising SD card

---
 arch/arm/mach-vexpress/Kconfig | 1 +
 1 file changed, 1 insertion(+)
arch/arm/mach-vexpress/Kconfig +1 -0
index 9a96bab..d6b16d9 100644
@@ -16,6 +16,7 @@ menuconfig ARCH_VEXPRESS
 	select POWER_RESET
 	select POWER_RESET_VEXPRESS
 	select POWER_SUPPLY
+	select REGULATOR if MMC_ARMMMCI
 	select REGULATOR_FIXED_VOLTAGE if REGULATOR
 	select VEXPRESS_CONFIG
 	select VEXPRESS_SYSCFG
Signature · 1 line
2.1.0
maintainer
#20 lore raw

PATCH RESEND 1/1 ARM: vexpress: Enable regulator framework when MMCI is in use

Quoted 4 lines · On Friday 28 November 2014 16:44:31 Pawel Moll wrote:

The MMCI driver, when used with a Device Tree described device, relies on the "vmmc" voltage regulator supply to set the OCR register voltage bits, using MMC core's mmc_regulator_get_supply() function.

Quoted 9 lines

Without the regulator framework present there are no valid operating voltages reported and the device initialisation fails:

mmci-pl18x 10005000.mmci: No vmmc regulator found mmci-pl18x 10005000.mmci: no support for card's volts
mmc0: error -22 whilst initialising SD card

Applied on top, thanks!

Arnd

#21 lore raw
In reply to Pawel Moll
Quoted 2 lines · Pawel Moll

To summarize, I believe that setting CONFIG_REGULATOR=y (as in vexpress_defconfig) should solve your issue.

It does, thanks.

Signature · 2 lines
FTTC broadband for 0.8mile line: currently at 9.5Mbps down 400kbps up
according to speedtest.net.