linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4] ARM: orion5x: ts78xx misc cleanups
@ 2012-05-12 12:37 Alexander Clouter
  2012-05-12 12:37 ` [PATCH 1/4] ARM: orion5x: ts78xx whitespace cleanups Alexander Clouter
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Alexander Clouter @ 2012-05-12 12:37 UTC (permalink / raw)
  To: linux-arm-kernel

General cleanup of some of the ts78xx board codebase.

Changelog:
 v2: added handy suggestions from Hartley Sweeten and added
        additional patch to remove PM dependency
 v1: initial patchset release

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

* [PATCH 1/4] ARM: orion5x: ts78xx whitespace cleanups
  2012-05-12 12:37 [PATCH 0/4] ARM: orion5x: ts78xx misc cleanups Alexander Clouter
@ 2012-05-12 12:37 ` Alexander Clouter
  2012-05-12 12:37 ` [PATCH 2/4 V2] ARM: orion5x: ts78xx fix NAND resource off by one Alexander Clouter
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Alexander Clouter @ 2012-05-12 12:37 UTC (permalink / raw)
  To: linux-arm-kernel

Signed-off-by: Alexander Clouter <alex@digriz.org.uk>
---
 arch/arm/mach-orion5x/ts78xx-fpga.h  |    6 +++---
 arch/arm/mach-orion5x/ts78xx-setup.c |    2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/arm/mach-orion5x/ts78xx-fpga.h b/arch/arm/mach-orion5x/ts78xx-fpga.h
index 151e89e..97c393d 100644
--- a/arch/arm/mach-orion5x/ts78xx-fpga.h
+++ b/arch/arm/mach-orion5x/ts78xx-fpga.h
@@ -28,9 +28,9 @@ struct fpga_device {
 
 struct fpga_devices {
 	/* Technologic Systems */
-	struct fpga_device 	ts_rtc;
-	struct fpga_device 	ts_nand;
-	struct fpga_device 	ts_rng;
+	struct fpga_device	ts_rtc;
+	struct fpga_device	ts_nand;
+	struct fpga_device	ts_rng;
 };
 
 struct ts78xx_fpga_data {
diff --git a/arch/arm/mach-orion5x/ts78xx-setup.c b/arch/arm/mach-orion5x/ts78xx-setup.c
index c96f374..c41f27b 100644
--- a/arch/arm/mach-orion5x/ts78xx-setup.c
+++ b/arch/arm/mach-orion5x/ts78xx-setup.c
@@ -115,7 +115,7 @@ static struct platform_device ts78xx_ts_rtc_device = {
  * I've used the method TS use in their rtc7800.c example for the detection
  *
  * TODO: track down a guinea pig without an RTC to see if we can work out a
- * 		better RTC detection routine
+ *		better RTC detection routine
  */
 static int ts78xx_ts_rtc_load(void)
 {
-- 
1.7.10

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

* [PATCH 2/4 V2] ARM: orion5x: ts78xx fix NAND resource off by one
  2012-05-12 12:37 [PATCH 0/4] ARM: orion5x: ts78xx misc cleanups Alexander Clouter
  2012-05-12 12:37 ` [PATCH 1/4] ARM: orion5x: ts78xx whitespace cleanups Alexander Clouter
@ 2012-05-12 12:37 ` Alexander Clouter
  2012-05-12 12:37 ` [PATCH 3/4] v2: ARM: orion5x: ts78xx debugging changes Alexander Clouter
  2012-05-12 12:37 ` [PATCH 4/4] ARM: orion5x: remove PM dependency from ts78xx Alexander Clouter
  3 siblings, 0 replies; 5+ messages in thread
From: Alexander Clouter @ 2012-05-12 12:37 UTC (permalink / raw)
  To: linux-arm-kernel

Changelog:
 v2: use DEFINE_RES_MEM as suggesed by Hartley Sweeten
 v1: inital release

Signed-off-by: Alexander Clouter <alex@digriz.org.uk>
---
 arch/arm/mach-orion5x/ts78xx-setup.c |   14 ++++----------
 1 file changed, 4 insertions(+), 10 deletions(-)

diff --git a/arch/arm/mach-orion5x/ts78xx-setup.c b/arch/arm/mach-orion5x/ts78xx-setup.c
index c41f27b..d8670cb 100644
--- a/arch/arm/mach-orion5x/ts78xx-setup.c
+++ b/arch/arm/mach-orion5x/ts78xx-setup.c
@@ -292,11 +292,8 @@ static struct platform_nand_data ts78xx_ts_nand_data = {
 	},
 };
 
-static struct resource ts78xx_ts_nand_resources = {
-	.start		= TS_NAND_DATA,
-	.end		= TS_NAND_DATA + 4,
-	.flags		= IORESOURCE_MEM,
-};
+static struct resource ts78xx_ts_nand_resources
+			= DEFINE_RES_MEM(TS_NAND_DATA, 4);
 
 static struct platform_device ts78xx_ts_nand_device = {
 	.name		= "gen_nand",
@@ -332,11 +329,8 @@ static void ts78xx_ts_nand_unload(void)
  ****************************************************************************/
 #define TS_RNG_DATA	(TS78XX_FPGA_REGS_PHYS_BASE | 0x044)
 
-static struct resource ts78xx_ts_rng_resource = {
-	.flags		= IORESOURCE_MEM,
-	.start		= TS_RNG_DATA,
-	.end		= TS_RNG_DATA + 4 - 1,
-};
+static struct resource ts78xx_ts_rng_resource
+			= DEFINE_RES_MEM(TS_RNG_DATA, 4);
 
 static struct timeriomem_rng_data ts78xx_ts_rng_data = {
 	.period		= 1000000, /* one second */
-- 
1.7.10

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

* [PATCH 3/4] v2: ARM: orion5x: ts78xx debugging changes
  2012-05-12 12:37 [PATCH 0/4] ARM: orion5x: ts78xx misc cleanups Alexander Clouter
  2012-05-12 12:37 ` [PATCH 1/4] ARM: orion5x: ts78xx whitespace cleanups Alexander Clouter
  2012-05-12 12:37 ` [PATCH 2/4 V2] ARM: orion5x: ts78xx fix NAND resource off by one Alexander Clouter
@ 2012-05-12 12:37 ` Alexander Clouter
  2012-05-12 12:37 ` [PATCH 4/4] ARM: orion5x: remove PM dependency from ts78xx Alexander Clouter
  3 siblings, 0 replies; 5+ messages in thread
From: Alexander Clouter @ 2012-05-12 12:37 UTC (permalink / raw)
  To: linux-arm-kernel

Move to using a refined pr_fmt to avoid having to manually
prefix every message line with 'ts78xx'.

Changelog:
 v2: moved pr_fmt define ahead of includes as suggested by
	Hartley Sweeten to avoid use of leading undef
 v1: initial release

Signed-off-by: Alexander Clouter <alex@digriz.org.uk>
---
 arch/arm/mach-orion5x/ts78xx-setup.c |   33 +++++++++++++++++----------------
 1 file changed, 17 insertions(+), 16 deletions(-)

diff --git a/arch/arm/mach-orion5x/ts78xx-setup.c b/arch/arm/mach-orion5x/ts78xx-setup.c
index d8670cb..5d0aacd 100644
--- a/arch/arm/mach-orion5x/ts78xx-setup.c
+++ b/arch/arm/mach-orion5x/ts78xx-setup.c
@@ -8,6 +8,8 @@
  * warranty of any kind, whether express or implied.
  */
 
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
 #include <linux/kernel.h>
 #include <linux/init.h>
 #include <linux/sysfs.h>
@@ -141,10 +143,13 @@ static int ts78xx_ts_rtc_load(void)
 			} else
 				rc = platform_device_add(&ts78xx_ts_rtc_device);
 
+			if (rc)
+				pr_info("RTC could not be registered: %d\n", rc);
 			return rc;
 		}
 	}
 
+	pr_info("RTC not found\n");
 	return -ENODEV;
 };
 
@@ -316,6 +321,8 @@ static int ts78xx_ts_nand_load(void)
 	} else
 		rc = platform_device_add(&ts78xx_ts_nand_device);
 
+	if (rc)
+		pr_info("NAND could not be registered: %d\n", rc);
 	return rc;
 };
 
@@ -357,6 +364,8 @@ static int ts78xx_ts_rng_load(void)
 	} else
 		rc = platform_device_add(&ts78xx_ts_rng_device);
 
+	if (rc)
+		pr_info("RNG could not be registered: %d\n", rc);
 	return rc;
 };
 
@@ -396,7 +405,7 @@ static void ts78xx_fpga_supports(void)
 		/* enable devices if magic matches */
 		switch ((ts78xx_fpga.id >> 8) & 0xffffff) {
 		case TS7800_FPGA_MAGIC:
-			pr_warning("TS-7800 FPGA: unrecognized revision 0x%.2x\n",
+			pr_warning("unrecognised FPGA revision 0x%.2x\n",
 					ts78xx_fpga.id & 0xff);
 			ts78xx_fpga.supports.ts_rtc.present = 1;
 			ts78xx_fpga.supports.ts_nand.present = 1;
@@ -416,26 +425,20 @@ static int ts78xx_fpga_load_devices(void)
 
 	if (ts78xx_fpga.supports.ts_rtc.present == 1) {
 		tmp = ts78xx_ts_rtc_load();
-		if (tmp) {
-			pr_info("TS-78xx: RTC not registered\n");
+		if (tmp)
 			ts78xx_fpga.supports.ts_rtc.present = 0;
-		}
 		ret |= tmp;
 	}
 	if (ts78xx_fpga.supports.ts_nand.present == 1) {
 		tmp = ts78xx_ts_nand_load();
-		if (tmp) {
-			pr_info("TS-78xx: NAND not registered\n");
+		if (tmp)
 			ts78xx_fpga.supports.ts_nand.present = 0;
-		}
 		ret |= tmp;
 	}
 	if (ts78xx_fpga.supports.ts_rng.present == 1) {
 		tmp = ts78xx_ts_rng_load();
-		if (tmp) {
-			pr_info("TS-78xx: RNG not registered\n");
+		if (tmp)
 			ts78xx_fpga.supports.ts_rng.present = 0;
-		}
 		ret |= tmp;
 	}
 
@@ -460,7 +463,7 @@ static int ts78xx_fpga_load(void)
 {
 	ts78xx_fpga.id = readl(TS78XX_FPGA_REGS_VIRT_BASE);
 
-	pr_info("TS-78xx FPGA: magic=0x%.6x, rev=0x%.2x\n",
+	pr_info("FPGA magic=0x%.6x, rev=0x%.2x\n",
 			(ts78xx_fpga.id >> 8) & 0xffffff,
 			ts78xx_fpga.id & 0xff);
 
@@ -488,7 +491,7 @@ static int ts78xx_fpga_unload(void)
 	 * UrJTAG SVN since r1381 can be used to reprogram the FPGA
 	 */
 	if (ts78xx_fpga.id != fpga_id) {
-		pr_err("TS-78xx FPGA: magic/rev mismatch\n"
+		pr_err("FPGA magic/rev mismatch\n"
 			"TS-78xx FPGA: was 0x%.6x/%.2x but now 0x%.6x/%.2x\n",
 			(ts78xx_fpga.id >> 8) & 0xffffff, ts78xx_fpga.id & 0xff,
 			(fpga_id >> 8) & 0xffffff, fpga_id & 0xff);
@@ -519,7 +522,7 @@ static ssize_t ts78xx_fpga_store(struct kobject *kobj,
 	int value, ret;
 
 	if (ts78xx_fpga.state < 0) {
-		pr_err("TS-78xx FPGA: borked, you must powercycle asap\n");
+		pr_err("FPGA borked, you must powercycle ASAP\n");
 		return -EBUSY;
 	}
 
@@ -527,10 +530,8 @@ static ssize_t ts78xx_fpga_store(struct kobject *kobj,
 		value = 1;
 	else if (strncmp(buf, "offline", sizeof("offline") - 1) == 0)
 		value = 0;
-	else {
-		pr_err("ts78xx_fpga_store: Invalid value\n");
+	else
 		return -EINVAL;
-	}
 
 	if (ts78xx_fpga.state == value)
 		return n;
-- 
1.7.10

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

* [PATCH 4/4] ARM: orion5x: remove PM dependency from ts78xx
  2012-05-12 12:37 [PATCH 0/4] ARM: orion5x: ts78xx misc cleanups Alexander Clouter
                   ` (2 preceding siblings ...)
  2012-05-12 12:37 ` [PATCH 3/4] v2: ARM: orion5x: ts78xx debugging changes Alexander Clouter
@ 2012-05-12 12:37 ` Alexander Clouter
  3 siblings, 0 replies; 5+ messages in thread
From: Alexander Clouter @ 2012-05-12 12:37 UTC (permalink / raw)
  To: linux-arm-kernel

Move ts78xx_fpga from /sys/power to /sys/firmware so that
we can remove the PM dependency.

Signed-off-by: Alexander Clouter <alex@digriz.org.uk>
---
 arch/arm/mach-orion5x/Kconfig        |    1 -
 arch/arm/mach-orion5x/ts78xx-setup.c |    2 +-
 2 files changed, 1 insertion(+), 2 deletions(-)

diff --git a/arch/arm/mach-orion5x/Kconfig b/arch/arm/mach-orion5x/Kconfig
index 6604fc6..0673f0c 100644
--- a/arch/arm/mach-orion5x/Kconfig
+++ b/arch/arm/mach-orion5x/Kconfig
@@ -86,7 +86,6 @@ config MACH_WRT350N_V2
 
 config MACH_TS78XX
 	bool "Technologic Systems TS-78xx"
-	select PM
 	help
 	  Say 'Y' here if you want your kernel to support the
 	  Technologic Systems TS-78xx platform.
diff --git a/arch/arm/mach-orion5x/ts78xx-setup.c b/arch/arm/mach-orion5x/ts78xx-setup.c
index 5d0aacd..bfc8696 100644
--- a/arch/arm/mach-orion5x/ts78xx-setup.c
+++ b/arch/arm/mach-orion5x/ts78xx-setup.c
@@ -609,7 +609,7 @@ static void __init ts78xx_init(void)
 	/* FPGA init */
 	ts78xx_fpga_devices_zero_init();
 	ret = ts78xx_fpga_load();
-	ret = sysfs_create_file(power_kobj, &ts78xx_fpga_attr.attr);
+	ret = sysfs_create_file(firmware_kobj, &ts78xx_fpga_attr.attr);
 	if (ret)
 		pr_err("sysfs_create_file failed: %d\n", ret);
 }
-- 
1.7.10

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

end of thread, other threads:[~2012-05-12 12:37 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-12 12:37 [PATCH 0/4] ARM: orion5x: ts78xx misc cleanups Alexander Clouter
2012-05-12 12:37 ` [PATCH 1/4] ARM: orion5x: ts78xx whitespace cleanups Alexander Clouter
2012-05-12 12:37 ` [PATCH 2/4 V2] ARM: orion5x: ts78xx fix NAND resource off by one Alexander Clouter
2012-05-12 12:37 ` [PATCH 3/4] v2: ARM: orion5x: ts78xx debugging changes Alexander Clouter
2012-05-12 12:37 ` [PATCH 4/4] ARM: orion5x: remove PM dependency from ts78xx Alexander Clouter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).