Skip to content

Commit ddab72e

Browse files
andy-shevgregkh
authored andcommitted
serdev: Simplify devm_serdev_device_open() function
Use devm_add_action_or_reset() instead of devres_alloc() and devres_add(), which works the same. This will simplify the code. There is no functional changes. Signed-off-by: Andy Shevchenko <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
1 parent aef0f5a commit ddab72e

File tree

1 file changed

+4
-14
lines changed

1 file changed

+4
-14
lines changed

drivers/tty/serdev/core.c

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -187,30 +187,20 @@ void serdev_device_close(struct serdev_device *serdev)
187187
}
188188
EXPORT_SYMBOL_GPL(serdev_device_close);
189189

190-
static void devm_serdev_device_release(struct device *dev, void *dr)
190+
static void devm_serdev_device_close(void *serdev)
191191
{
192-
serdev_device_close(*(struct serdev_device **)dr);
192+
serdev_device_close(serdev);
193193
}
194194

195195
int devm_serdev_device_open(struct device *dev, struct serdev_device *serdev)
196196
{
197-
struct serdev_device **dr;
198197
int ret;
199198

200-
dr = devres_alloc(devm_serdev_device_release, sizeof(*dr), GFP_KERNEL);
201-
if (!dr)
202-
return -ENOMEM;
203-
204199
ret = serdev_device_open(serdev);
205-
if (ret) {
206-
devres_free(dr);
200+
if (ret)
207201
return ret;
208-
}
209202

210-
*dr = serdev;
211-
devres_add(dev, dr);
212-
213-
return 0;
203+
return devm_add_action_or_reset(dev, devm_serdev_device_close, serdev);
214204
}
215205
EXPORT_SYMBOL_GPL(devm_serdev_device_open);
216206

0 commit comments

Comments
 (0)