On 7/3/24 01:31, Krzysztof Kozlowski wrote:
Allocate memory, which is being freed at end of the scope, to make the
code a bit simpler.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
---
drivers/hwmon/dell-smm-hwmon.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/drivers/hwmon/dell-smm-hwmon.c b/drivers/hwmon/dell-smm-hwmon.c
index 0362a13f6525..e72e26db6e10 100644
--- a/drivers/hwmon/dell-smm-hwmon.c
+++ b/drivers/hwmon/dell-smm-hwmon.c
@@ -14,6 +14,7 @@
#include <linux/acpi.h>
#include <linux/capability.h>
+#include <linux/cleanup.h>
#include <linux/cpu.h>
#include <linux/ctype.h>
#include <linux/delay.h>
@@ -1095,9 +1096,9 @@ static int dell_smm_init_cdev(struct device *dev, u8 fan_num)
struct thermal_cooling_device *cdev;
struct dell_smm_cooling_data *cdata;
int ret = 0;
- char *name;
- name = kasprintf(GFP_KERNEL, "dell-smm-fan%u", fan_num + 1);
+ char *name __free(kfree) = kasprintf(GFP_KERNEL, "dell-smm-fan%u",
+ fan_num + 1);
if (!name)
return -ENOMEM;
@@ -1115,8 +1116,6 @@ static int dell_smm_init_cdev(struct device *dev, u8 fan_num)
ret = -ENOMEM;
}
- kfree(name);
-
return ret;
}
If you really want to clean this up, just use
char name[32];
...
snprintf(name, sizeof(name), "dell-smm-fan%u", fan_num + 1);
I don't see the point of all this complexity.
Guenter