From: Christian Marangi Date: Wed, 26 Jun 2024 22:15:11 +0000 (+0200) Subject: leds: leds-lp5569: Convert to sysfs_emit API X-Git-Tag: v6.11-rc1~145^2~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6f2fdde9096f3c4d35a7711c91a78c086be66aed;p=thirdparty%2Flinux.git leds: leds-lp5569: Convert to sysfs_emit API Convert sprintf to the much safer sysfs_emit API to handle output for sysfs. Also better handle situation where on the same chip there may be LED open and shorted at the same time. Signed-off-by: Christian Marangi Link: https://lore.kernel.org/r/20240626221520.2846-1-ansuelsmth@gmail.com Signed-off-by: Lee Jones --- diff --git a/drivers/leds/leds-lp5569.c b/drivers/leds/leds-lp5569.c index 7ccd8dd6026a0..e5e7e61c8916b 100644 --- a/drivers/leds/leds-lp5569.c +++ b/drivers/leds/leds-lp5569.c @@ -268,8 +268,8 @@ static ssize_t lp5569_led_open_test(struct lp55xx_led *led, char *buf) led_tmp = led; for (i = 0; i < pdata->num_channels; i++) { if (leds_fault[led_tmp->chan_nr]) - pos += sprintf(buf + pos, "LED %d OPEN FAIL\n", - led_tmp->chan_nr); + pos += sysfs_emit_at(buf, pos, "LED %d OPEN FAIL\n", + led_tmp->chan_nr); led_tmp++; } @@ -366,8 +366,8 @@ static ssize_t lp5569_led_short_test(struct lp55xx_led *led, char *buf) led_tmp = led; for (i = 0; i < pdata->num_channels; i++) { if (leds_fault[led_tmp->chan_nr]) - pos += sprintf(buf + pos, "LED %d SHORTED FAIL\n", - led_tmp->chan_nr); + pos += sysfs_emit_at(buf, pos, "LED %d SHORTED FAIL\n", + led_tmp->chan_nr); led_tmp++; } @@ -404,7 +404,7 @@ static ssize_t lp5569_selftest(struct device *dev, goto fail; /* Test LED Shorted */ - pos = lp5569_led_short_test(led, buf); + pos += lp5569_led_short_test(led, buf); if (pos < 0) goto fail; @@ -420,10 +420,10 @@ static ssize_t lp5569_selftest(struct device *dev, } if (pos == 0) - pos = sprintf(buf, "OK\n"); + pos = sysfs_emit(buf, "OK\n"); goto release_lock; fail: - pos = sprintf(buf, "FAIL\n"); + pos = sysfs_emit(buf, "FAIL\n"); release_lock: mutex_unlock(&chip->lock);