[PATCH] MFD Fix debugfs code in AB3100 OTP driver

From: Linus Walleij
Date: Sun Jan 17 2010 - 14:58:26 EST

This fixes the aged and unreachable debugfs code in the AB3100
OTP driver so that it's (A) reachable and (B) works. Bug detected
in parallell by Christoph Egger using VAMOS and Robert P. J. Day
by his kernel scanning script.

Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxxxxxx>
Cc: Christoph Egger <siccegge@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Cc: Robert P. J. Day <rpjday@xxxxxxxxxxxxxx>
drivers/mfd/ab3100-otp.c | 13 +++++++------
1 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/drivers/mfd/ab3100-otp.c b/drivers/mfd/ab3100-otp.c
index 0499b20..b603469 100644
--- a/drivers/mfd/ab3100-otp.c
+++ b/drivers/mfd/ab3100-otp.c
@@ -13,6 +13,7 @@
#include <linux/platform_device.h>
#include <linux/mfd/ab3100.h>
#include <linux/debugfs.h>
+#include <linux/seq_file.h>

/* The OTP registers */
#define AB3100_OTP0 0xb0
@@ -95,11 +96,10 @@ static int __init ab3100_otp_read(struct ab3100_otp *otp)
* This is a simple debugfs human-readable file that dumps out
* the contents of the OTP.
-static int show_otp(struct seq_file *s, void *v)
+static int ab3100_show_otp(struct seq_file *s, void *v)
struct ab3100_otp *otp = s->private;
- int err;

seq_printf(s, "OTP is %s\n", otp->locked ? "LOCKED" : "UNLOCKED");
seq_printf(s, "OTP clock switch startup is %uHz\n", otp->freq);
@@ -113,7 +113,7 @@ static int show_otp(struct seq_file *s, void *v)

static int ab3100_otp_open(struct inode *inode, struct file *file)
- return single_open(file, ab3100_otp_show, inode->i_private);
+ return single_open(file, ab3100_show_otp, inode->i_private);

static const struct file_operations ab3100_otp_operations = {
@@ -131,13 +131,14 @@ static int __init ab3100_otp_init_debugfs(struct device *dev,
if (!otp->debugfs) {
dev_err(dev, "AB3100 debugfs OTP file registration failed!\n");
- return err;
+ return -ENOENT;
+ return 0;

static void __exit ab3100_otp_exit_debugfs(struct ab3100_otp *otp)
- debugfs_remove_file(otp->debugfs);
+ debugfs_remove(otp->debugfs);
/* Compile this out if debugfs not selected */

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/