On Mon, Jun 29, 2020 at 08:50:08AM +0200, Bartosz Golaszewski wrote:
> From: Bartosz Golaszewski <bgolaszew...@baylibre.com>
> 
> Shrink pmbus code by using devm_hwmon_device_register_with_groups()
> and devm_krealloc() instead of their non-managed variants.
> 
> Signed-off-by: Bartosz Golaszewski <bgolaszew...@baylibre.com>
> ---
>  drivers/hwmon/pmbus/pmbus_core.c | 28 +++++++++-------------------
>  1 file changed, 9 insertions(+), 19 deletions(-)
> 
> diff --git a/drivers/hwmon/pmbus/pmbus_core.c 
> b/drivers/hwmon/pmbus/pmbus_core.c
> index a420877ba533..225d0ac162c7 100644
> --- a/drivers/hwmon/pmbus/pmbus_core.c
> +++ b/drivers/hwmon/pmbus/pmbus_core.c
> @@ -1022,9 +1022,9 @@ static int pmbus_add_attribute(struct pmbus_data *data, 
> struct attribute *attr)
>  {
>       if (data->num_attributes >= data->max_attributes - 1) {
>               int new_max_attrs = data->max_attributes + 
> PMBUS_ATTR_ALLOC_SIZE;
> -             void *new_attrs = krealloc(data->group.attrs,
> -                                        new_max_attrs * sizeof(void *),
> -                                        GFP_KERNEL);
> +             void *new_attrs = devm_krealloc(data->dev, data->group.attrs,
> +                                             new_max_attrs * sizeof(void *),
> +                                             GFP_KERNEL);

dynamic sysfs attributes in a devm-allocated chunk of memory?  What
could go wrong...

Anyway, is this the only in-kernel user that you could find for this
function?  If so, it feels like it's a lot of extra work for no real
gain.

thanks,

greg k-h

Reply via email to