Messages in this thread | | | From | Bartosz Golaszewski <> | Date | Thu, 14 Dec 2017 15:30:33 +0100 | Subject | Re: [PATCH 2/2] gpiolib: use kstrdup_const() for gpio_device label |
| |
2017-12-13 20:44 GMT+01:00 Joe Perches <joe@perches.com>: > On Wed, 2017-12-13 at 12:25 +0100, Bartosz Golaszewski wrote: >> Users often pass a pointer to a static string to gpiochip_add_data() >> family of functions. Avoid unnecessary memory allocations with the >> provided helper routine. > [] >> diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c > [] >> @@ -1171,9 +1171,9 @@ int gpiochip_add_data_with_key(struct gpio_chip *chip, void *data, >> } >> >> if (chip->label) >> - gdev->label = kstrdup(chip->label, GFP_KERNEL); >> + gdev->label = kstrdup_const(chip->label, GFP_KERNEL); >> else >> - gdev->label = kstrdup("unknown", GFP_KERNEL); >> + gdev->label = kstrdup_const("unknown", GFP_KERNEL); > > A plain ?: would be more intelligible > and a bit smaller object code too. > > ie: > gdev->label = kstrdup_const(chip->label ?: "unknown", GFP_KERNEL); > >> if (!gdev->label) { >> status = -ENOMEM; >> goto err_free_descs; >
Good point. Sent v2.
Thanks, Bartosz
| |