Skip to content

Commit 72a9cc9

Browse files
Villemoesgregkh
authored andcommitted
devtmpfs: factor out common tail of devtmpfs_{create,delete}_node
There's some common boilerplate in devtmpfs_{create,delete}_node, put that in a little helper. Signed-off-by: Rasmus Villemoes <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
1 parent fad1db8 commit 72a9cc9

File tree

1 file changed

+19
-25
lines changed

1 file changed

+19
-25
lines changed

drivers/base/devtmpfs.c

Lines changed: 19 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,23 @@ static inline int is_blockdev(struct device *dev)
8989
static inline int is_blockdev(struct device *dev) { return 0; }
9090
#endif
9191

92+
static int devtmpfs_submit_req(struct req *req, const char *tmp)
93+
{
94+
init_completion(&req->done);
95+
96+
spin_lock(&req_lock);
97+
req->next = requests;
98+
requests = req;
99+
spin_unlock(&req_lock);
100+
101+
wake_up_process(thread);
102+
wait_for_completion(&req->done);
103+
104+
kfree(tmp);
105+
106+
return req->err;
107+
}
108+
92109
int devtmpfs_create_node(struct device *dev)
93110
{
94111
const char *tmp = NULL;
@@ -113,19 +130,7 @@ int devtmpfs_create_node(struct device *dev)
113130

114131
req.dev = dev;
115132

116-
init_completion(&req.done);
117-
118-
spin_lock(&req_lock);
119-
req.next = requests;
120-
requests = &req;
121-
spin_unlock(&req_lock);
122-
123-
wake_up_process(thread);
124-
wait_for_completion(&req.done);
125-
126-
kfree(tmp);
127-
128-
return req.err;
133+
return devtmpfs_submit_req(&req, tmp);
129134
}
130135

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

146-
init_completion(&req.done);
147-
148-
spin_lock(&req_lock);
149-
req.next = requests;
150-
requests = &req;
151-
spin_unlock(&req_lock);
152-
153-
wake_up_process(thread);
154-
wait_for_completion(&req.done);
155-
156-
kfree(tmp);
157-
return req.err;
151+
return devtmpfs_submit_req(&req, tmp);
158152
}
159153

160154
static int dev_mkdir(const char *name, umode_t mode)

0 commit comments

Comments
 (0)