[PATCH 6/7] staging: unisys: move uislib/info proc entry to debugfs

From: Benjamin Romer
Date: Mon May 12 2014 - 12:44:35 EST


Convert /proc/uislib/info to an equivalent entry under debugfs.

Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx>
---
drivers/staging/unisys/uislib/uislib.c | 40 ++++++++++++++--------------------
1 file changed, 16 insertions(+), 24 deletions(-)

diff --git a/drivers/staging/unisys/uislib/uislib.c b/drivers/staging/unisys/uislib/uislib.c
index 3a54450..5980040 100644
--- a/drivers/staging/unisys/uislib/uislib.c
+++ b/drivers/staging/unisys/uislib/uislib.c
@@ -91,11 +91,9 @@ static int Go_Polling_Device_Channels;

static struct proc_dir_entry *uislib_proc_dir;
static struct proc_dir_entry *uislib_proc_vbus_dir;
-static struct proc_dir_entry *info_proc_entry;

#define DIR_PROC_ENTRY "uislib"
#define DIR_VBUS_PROC_ENTRY "vbus"
-#define INFO_PROC_ENTRY_FN "info"

#define CALLHOME_PROC_ENTRY_FN "callhome"
#define CALLHOME_THROTTLED_PROC_ENTRY_FN "callhome_throttled"
@@ -112,6 +110,9 @@ static struct dentry *cycles_before_wait_debugfs_read;
#define SMART_WAKEUP_DEBUGFS_ENTRY_FN "smart_wakeup"
static struct dentry *smart_wakeup_debugfs_entry;

+#define INFO_DEBUGFS_ENTRY_FN "info"
+static struct dentry *info_debugfs_entry;
+
static unsigned long long cycles_before_wait, wait_cycles;

/*****************************************************/
@@ -134,10 +135,10 @@ static const struct file_operations proc_info_vbus_fops = {
.release = single_release,
};

-static ssize_t info_proc_read(struct file *file, char __user *buf,
+static ssize_t info_debugfs_read(struct file *file, char __user *buf,
size_t len, loff_t *offset);
-static const struct file_operations proc_info_fops = {
- .read = info_proc_read,
+static const struct file_operations debugfs_info_fops = {
+ .read = info_debugfs_read,
};

static void
@@ -158,16 +159,6 @@ create_bus_proc_entries(struct bus_info *bus)
bus->name);
return;
}
- bus->proc_info = proc_create_data("info", 0, bus->proc_dir,
- &proc_info_vbus_fops, bus);
- if (!bus->proc_info) {
- LOGERR("failed to create /proc/uislib/vbus/%s/info", bus->name);
- remove_proc_entry(bus->name, uislib_proc_vbus_dir);
- bus->proc_dir = NULL;
- return;
- }
- SET_PROC_OWNER(bus->proc_info, THIS_MODULE);
-
}

static __iomem void *
@@ -1255,7 +1246,7 @@ EXPORT_SYMBOL_GPL(uislib_cache_free);
buff_len, __VA_ARGS__)

static int
-info_proc_read_helper(char **buff, int *buff_len)
+info_debugfs_read_helper(char **buff, int *buff_len)
{
int i, tot = 0;
struct bus_info *bus;
@@ -1315,7 +1306,8 @@ err_done:
}

static ssize_t
-info_proc_read(struct file *file, char __user *buf, size_t len, loff_t *offset)
+info_debugfs_read(struct file *file, char __user *buf,
+ size_t len, loff_t *offset)
{
char *temp;
int totalBytes = 0;
@@ -1335,9 +1327,9 @@ info_proc_read(struct file *file, char __user *buf, size_t len, loff_t *offset)
temp = ProcReadBuffer;

if ((*offset == 0) || (!ProcReadBufferValid)) {
- DBGINF("calling info_proc_read_helper.\n");
+ DBGINF("calling info_debugfs_read_helper.\n");
/* if the read fails, then -1 will be returned */
- totalBytes = info_proc_read_helper(&temp, &remaining_bytes);
+ totalBytes = info_debugfs_read_helper(&temp, &remaining_bytes);
ProcReadBufferValid = 1;
} else
totalBytes = strlen(ProcReadBuffer);
@@ -1676,13 +1668,14 @@ uislib_mod_init(void)
/* (e.g., for /proc/uislib/vbus/<x>/info) */
uislib_proc_vbus_dir = proc_mkdir(DIR_VBUS_PROC_ENTRY, uislib_proc_dir);

- info_proc_entry = proc_create(INFO_PROC_ENTRY_FN, 0, uislib_proc_dir,
- &proc_info_fops);
- SET_PROC_OWNER(info_proc_entry, THIS_MODULE);

dir_debugfs = debugfs_create_dir(DIR_DEBUGFS_ENTRY, NULL);

if (dir_debugfs) {
+ info_debugfs_entry = debugfs_create_file(
+ INFO_DEBUGFS_ENTRY_FN, 0444, dir_debugfs, NULL,
+ &debugfs_info_fops);
+
platformnumber_debugfs_read = debugfs_create_u32(
PLATFORMNUMBER_DEBUGFS_ENTRY_FN, 0444, dir_debugfs,
&PlatformNumber);
@@ -1703,8 +1696,6 @@ uislib_mod_init(void)
static void __exit
uislib_mod_exit(void)
{
- if (info_proc_entry)
- remove_proc_entry(INFO_PROC_ENTRY_FN, uislib_proc_dir);
if (uislib_proc_vbus_dir)
remove_proc_entry(DIR_VBUS_PROC_ENTRY, uislib_proc_dir);
if (uislib_proc_dir)
@@ -1715,6 +1706,7 @@ uislib_mod_exit(void)
ProcReadBuffer = NULL;
}

+ debugfs_remove(info_debugfs_entry);
debugfs_remove(smart_wakeup_debugfs_entry);
debugfs_remove(cycles_before_wait_debugfs_read);
debugfs_remove(platformnumber_debugfs_read);
--
1.9.1

--
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/