summaryrefslogtreecommitdiff
path: root/drivers/gpio/gpio-virtuser.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpio/gpio-virtuser.c')
-rw-r--r--drivers/gpio/gpio-virtuser.c25
1 files changed, 12 insertions, 13 deletions
diff --git a/drivers/gpio/gpio-virtuser.c b/drivers/gpio/gpio-virtuser.c
index 37f2ce20f1ae..955b5efc283e 100644
--- a/drivers/gpio/gpio-virtuser.c
+++ b/drivers/gpio/gpio-virtuser.c
@@ -1388,7 +1388,7 @@ gpio_virtuser_make_lookup_table(struct gpio_virtuser_device *dev)
lockdep_assert_held(&dev->lock);
struct gpiod_lookup_table *table __free(kfree) =
- kzalloc(struct_size(table, table, num_entries + 1), GFP_KERNEL);
+ kzalloc_flex(*table, table, num_entries + 1);
if (!table)
return -ENOMEM;
@@ -1605,7 +1605,7 @@ gpio_virtuser_make_lookup_entry_group(struct config_group *group,
return ERR_PTR(-EBUSY);
struct gpio_virtuser_lookup_entry *entry __free(kfree) =
- kzalloc(sizeof(*entry), GFP_KERNEL);
+ kzalloc_obj(*entry);
if (!entry)
return ERR_PTR(-ENOMEM);
@@ -1631,7 +1631,7 @@ static void gpio_virtuser_lookup_config_group_release(struct config_item *item)
kfree(lookup);
}
-static struct configfs_item_operations gpio_virtuser_lookup_config_item_ops = {
+static const struct configfs_item_operations gpio_virtuser_lookup_config_item_ops = {
.release = gpio_virtuser_lookup_config_group_release,
};
@@ -1661,7 +1661,7 @@ gpio_virtuser_make_lookup_group(struct config_group *group, const char *name)
return ERR_PTR(-EBUSY);
struct gpio_virtuser_lookup *lookup __free(kfree) =
- kzalloc(sizeof(*lookup), GFP_KERNEL);
+ kzalloc_obj(*lookup);
if (!lookup)
return ERR_PTR(-ENOMEM);
@@ -1682,21 +1682,21 @@ static void gpio_virtuser_device_config_group_release(struct config_item *item)
{
struct gpio_virtuser_device *dev = to_gpio_virtuser_device(item);
- guard(mutex)(&dev->lock);
-
- if (gpio_virtuser_device_is_live(dev))
- gpio_virtuser_device_deactivate(dev);
+ scoped_guard(mutex, &dev->lock) {
+ if (gpio_virtuser_device_is_live(dev))
+ gpio_virtuser_device_deactivate(dev);
+ }
mutex_destroy(&dev->lock);
ida_free(&gpio_virtuser_ida, dev->id);
kfree(dev);
}
-static struct configfs_item_operations gpio_virtuser_device_config_item_ops = {
+static const struct configfs_item_operations gpio_virtuser_device_config_item_ops = {
.release = gpio_virtuser_device_config_group_release,
};
-static struct configfs_group_operations gpio_virtuser_device_config_group_ops = {
+static const struct configfs_group_operations gpio_virtuser_device_config_group_ops = {
.make_group = gpio_virtuser_make_lookup_group,
};
@@ -1711,8 +1711,7 @@ static struct config_group *
gpio_virtuser_config_make_device_group(struct config_group *group,
const char *name)
{
- struct gpio_virtuser_device *dev __free(kfree) = kzalloc(sizeof(*dev),
- GFP_KERNEL);
+ struct gpio_virtuser_device *dev __free(kfree) = kzalloc_obj(*dev);
if (!dev)
return ERR_PTR(-ENOMEM);
@@ -1729,7 +1728,7 @@ gpio_virtuser_config_make_device_group(struct config_group *group,
return &no_free_ptr(dev)->group;
}
-static struct configfs_group_operations gpio_virtuser_config_group_ops = {
+static const struct configfs_group_operations gpio_virtuser_config_group_ops = {
.make_group = gpio_virtuser_config_make_device_group,
};