* [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).