lkml.org 
[lkml]   [2014]   [May]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 6/7] staging: unisys: move uislib/info proc entry to debugfs
    Date
    Convert /proc/uislib/info to an equivalent entry under debugfs.

    Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
    ---
    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


    \
     
     \ /
      Last update: 2014-05-12 19:21    [W:2.387 / U:0.568 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site