lkml.org 
[lkml]   [2020]   [Jan]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5/5] devtmpfs: factor out common tail of devtmpfs_{create,delete}_node
    Date
    There's some common boilerplate in devtmpfs_{create,delete}_node, put
    that in a little helper.

    Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
    ---
    drivers/base/devtmpfs.c | 44 ++++++++++++++++++-----------------------
    1 file changed, 19 insertions(+), 25 deletions(-)

    diff --git a/drivers/base/devtmpfs.c b/drivers/base/devtmpfs.c
    index 56632fb22fc0..5995c437cbdf 100644
    --- a/drivers/base/devtmpfs.c
    +++ b/drivers/base/devtmpfs.c
    @@ -89,6 +89,23 @@ static inline int is_blockdev(struct device *dev)
    static inline int is_blockdev(struct device *dev) { return 0; }
    #endif

    +static int devtmpfs_submit_req(struct req *req, const char *tmp)
    +{
    + init_completion(&req->done);
    +
    + spin_lock(&req_lock);
    + req->next = requests;
    + requests = req;
    + spin_unlock(&req_lock);
    +
    + wake_up_process(thread);
    + wait_for_completion(&req->done);
    +
    + kfree(tmp);
    +
    + return req->err;
    +}
    +
    int devtmpfs_create_node(struct device *dev)
    {
    const char *tmp = NULL;
    @@ -113,19 +130,7 @@ int devtmpfs_create_node(struct device *dev)

    req.dev = dev;

    - init_completion(&req.done);
    -
    - spin_lock(&req_lock);
    - req.next = requests;
    - requests = &req;
    - spin_unlock(&req_lock);
    -
    - wake_up_process(thread);
    - wait_for_completion(&req.done);
    -
    - kfree(tmp);
    -
    - return req.err;
    + return devtmpfs_submit_req(&req, tmp);
    }

    int devtmpfs_delete_node(struct device *dev)
    @@ -143,18 +148,7 @@ int devtmpfs_delete_node(struct device *dev)
    req.mode = 0;
    req.dev = dev;

    - init_completion(&req.done);
    -
    - spin_lock(&req_lock);
    - req.next = requests;
    - requests = &req;
    - spin_unlock(&req_lock);
    -
    - wake_up_process(thread);
    - wait_for_completion(&req.done);
    -
    - kfree(tmp);
    - return req.err;
    + return devtmpfs_submit_req(&req, tmp);
    }

    static int dev_mkdir(const char *name, umode_t mode)
    --
    2.23.0
    \
     
     \ /
      Last update: 2020-01-15 19:43    [W:2.199 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site