From: "Marek Behún" <kabel@kernel.org>
To: Lee Jones <lee@kernel.org>
Cc: "Pavel Machek" <pavel@ucw.cz>,
linux-leds@vger.kernel.org, "Arnd Bergmann" <arnd@arndb.de>,
soc@kernel.org, "Gregory CLEMENT" <gregory.clement@bootlin.com>,
arm@kernel.org, "Andy Shevchenko" <andy@kernel.org>,
"Hans de Goede" <hdegoede@redhat.com>,
"Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>,
"Andrew Lunn" <andrew@lunn.ch>,
"Sebastian Hesselbarth" <sebastian.hesselbarth@gmail.com>,
"Rob Herring" <robh+dt@kernel.org>,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
devicetree@vger.kernel.org, "Marek Behún" <kabel@kernel.org>
Subject: [PATCH leds v3 09/11] leds: turris-omnia: Use dev_err_probe() where appropriate
Date: Fri, 13 Sep 2024 14:31:01 +0200 [thread overview]
Message-ID: <20240913123103.21226-10-kabel@kernel.org> (raw)
In-Reply-To: <20240913123103.21226-1-kabel@kernel.org>
Use dev_err_probe() instead of dev_err() + separate return where
appropriate.
Signed-off-by: Marek Behún <kabel@kernel.org>
---
drivers/leds/leds-turris-omnia.c | 50 ++++++++++----------------------
1 file changed, 16 insertions(+), 34 deletions(-)
diff --git a/drivers/leds/leds-turris-omnia.c b/drivers/leds/leds-turris-omnia.c
index 570f7a69709c..298bdffd8c40 100644
--- a/drivers/leds/leds-turris-omnia.c
+++ b/drivers/leds/leds-turris-omnia.c
@@ -238,33 +238,23 @@ static int omnia_led_register(struct i2c_client *client, struct omnia_led *led,
/* put the LED into software mode */
ret = omnia_cmd_write_u8(client, OMNIA_CMD_LED_MODE, OMNIA_CMD_LED_MODE_LED(led->reg) |
OMNIA_CMD_LED_MODE_USER);
- if (ret) {
- dev_err(dev, "Cannot set LED %pOF to software mode: %i\n", np,
- ret);
- return ret;
- }
+ if (ret)
+ return dev_err_probe(dev, ret, "Cannot set LED %pOF to software mode\n", np);
/* disable the LED */
ret = omnia_cmd_write_u8(client, OMNIA_CMD_LED_STATE, OMNIA_CMD_LED_STATE_LED(led->reg));
- if (ret) {
- dev_err(dev, "Cannot set LED %pOF brightness: %i\n", np, ret);
- return ret;
- }
+ if (ret)
+ return dev_err_probe(dev, ret, "Cannot set LED %pOF brightness\n", np);
/* Set initial color and cache it */
ret = omnia_led_send_color_cmd(client, led);
- if (ret < 0) {
- dev_err(dev, "Cannot set LED %pOF initial color: %i\n", np,
- ret);
- return ret;
- }
+ if (ret < 0)
+ return dev_err_probe(dev, ret, "Cannot set LED %pOF initial color\n", np);
ret = devm_led_classdev_multicolor_register_ext(dev, &led->mc_cdev,
&init_data);
- if (ret < 0) {
- dev_err(dev, "Cannot register LED %pOF: %i\n", np, ret);
- return ret;
- }
+ if (ret < 0)
+ return dev_err_probe(dev, ret, "Cannot register LED %pOF\n", np);
return 1;
}
@@ -406,13 +396,10 @@ static int omnia_leds_probe(struct i2c_client *client)
int ret, count;
count = of_get_available_child_count(np);
- if (!count) {
- dev_err(dev, "LEDs are not defined in device tree!\n");
- return -ENODEV;
- } else if (count > OMNIA_BOARD_LEDS) {
- dev_err(dev, "Too many LEDs defined in device tree!\n");
- return -EINVAL;
- }
+ if (count == 0)
+ return dev_err_probe(dev, -ENODEV, "LEDs are not defined in device tree!\n");
+ if (count > OMNIA_BOARD_LEDS)
+ return dev_err_probe(dev, -EINVAL, "Too many LEDs defined in device tree!\n");
leds = devm_kzalloc(dev, struct_size(leds, leds, count), GFP_KERNEL);
if (!leds)
@@ -422,11 +409,8 @@ static int omnia_leds_probe(struct i2c_client *client)
i2c_set_clientdata(client, leds);
ret = omnia_mcu_get_features(client);
- if (ret < 0) {
- dev_err(dev, "Cannot determine MCU supported features: %d\n",
- ret);
- return ret;
- }
+ if (ret < 0)
+ return dev_err_probe(dev, ret, "Cannot determine MCU supported features\n");
leds->has_gamma_correction = ret & OMNIA_FEAT_LED_GAMMA_CORRECTION;
@@ -441,10 +425,8 @@ static int omnia_leds_probe(struct i2c_client *client)
mutex_init(&leds->lock);
ret = devm_led_trigger_register(dev, &omnia_hw_trigger);
- if (ret < 0) {
- dev_err(dev, "Cannot register private LED trigger: %d\n", ret);
- return ret;
- }
+ if (ret < 0)
+ return dev_err_probe(dev, ret, "Cannot register private LED trigger\n");
led = &leds->leds[0];
for_each_available_child_of_node_scoped(np, child) {
--
2.44.2
next prev parent reply other threads:[~2024-09-13 12:31 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-13 12:30 [PATCH leds v3 00/11] Turris Omnia LED driver changes Marek Behún
2024-09-13 12:30 ` [PATCH leds v3 01/11] turris-omnia-mcu-interface.h: Move command execution function to global header Marek Behún
2024-09-13 12:30 ` [PATCH leds v3 02/11] leds: turris-omnia: Use command execution functions from the MCU driver Marek Behún
2024-09-14 6:14 ` kernel test robot
2024-09-14 7:50 ` kernel test robot
2024-09-13 12:30 ` [PATCH leds v3 03/11] turris-omnia-mcu-interface.h: Add LED commands related definitions to global header Marek Behún
2024-09-13 12:30 ` [PATCH leds v3 04/11] leds: turris-omnia: Use global header for MCU command definitions Marek Behún
2024-09-13 12:30 ` [PATCH leds v3 05/11] dt-bindings: leds: cznic,turris-omnia-leds: Allow interrupts property Marek Behún
2024-09-16 14:33 ` Krzysztof Kozlowski
2024-09-17 7:08 ` Marek Behún
2024-09-20 14:54 ` Krzysztof Kozlowski
2024-09-20 14:54 ` Krzysztof Kozlowski
2024-09-13 12:30 ` [PATCH leds v3 06/11] leds: turris-omnia: Notify sysfs on MCU global LEDs brightness change Marek Behún
2024-10-09 10:04 ` Lee Jones
2024-09-13 12:30 ` [PATCH leds v3 07/11] platform: cznic: turris-omnia-mcu: Inform about missing LED panel brightness change interrupt feature Marek Behún
2024-09-13 12:31 ` [PATCH leds v3 08/11] leds: turris-omnia: Inform about missing LED gamma correction feature in the MCU driver Marek Behún
2024-09-13 12:31 ` Marek Behún [this message]
2024-09-13 12:31 ` [PATCH leds v3 10/11] leds: turris-omnia: Use uppercase first letter in all comments Marek Behún
2024-09-13 12:31 ` [PATCH leds v3 11/11] ARM: dts: turris-omnia: Add global LED brightness change interrupt Marek Behún
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240913123103.21226-10-kabel@kernel.org \
--to=kabel@kernel.org \
--cc=andrew@lunn.ch \
--cc=andy@kernel.org \
--cc=arm@kernel.org \
--cc=arnd@arndb.de \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=gregory.clement@bootlin.com \
--cc=hdegoede@redhat.com \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=krzk+dt@kernel.org \
--cc=lee@kernel.org \
--cc=linux-leds@vger.kernel.org \
--cc=pavel@ucw.cz \
--cc=robh+dt@kernel.org \
--cc=sebastian.hesselbarth@gmail.com \
--cc=soc@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.