[openwrt/openwrt] kernel: leds-gca230718: remove _remove
LEDE Commits
lede-commits at lists.infradead.org
Mon Dec 23 15:25:02 PST 2024
hauke pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/4c8bb0a20f8a42b598941fec8b02db6599e3c325
commit 4c8bb0a20f8a42b598941fec8b02db6599e3c325
Author: Rosen Penev <rosenp at gmail.com>
AuthorDate: Sun Oct 6 17:08:24 2024 -0700
kernel: leds-gca230718: remove _remove
Not needed. Everything can be replaced with devm.
Signed-off-by: Rosen Penev <rosenp at gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16869
Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
---
package/kernel/leds-gca230718/src/leds-gca230718.c | 27 ++++++----------------
1 file changed, 7 insertions(+), 20 deletions(-)
diff --git a/package/kernel/leds-gca230718/src/leds-gca230718.c b/package/kernel/leds-gca230718/src/leds-gca230718.c
index 7467e35ac6..4cfa205203 100644
--- a/package/kernel/leds-gca230718/src/leds-gca230718.c
+++ b/package/kernel/leds-gca230718/src/leds-gca230718.c
@@ -39,14 +39,6 @@ struct gca230718_private {
struct gca230718_led leds[GCA230718_MAX_LEDS];
};
-static void gca230718_init_private_led_data(struct gca230718_private *data)
-{
- u8 ledIndex;
- for (ledIndex = 0; ledIndex < GCA230718_MAX_LEDS; ledIndex++) {
- data->leds[ledIndex].client = NULL;
- }
-}
-
static void gca230718_send_sequence(struct i2c_client *client, u8 byte0,
struct gca230718_private *priv)
{
@@ -114,6 +106,7 @@ static int gca230718_set_brightness(struct led_classdev *led_cdev,
static int gca230718_probe(struct i2c_client *client)
{
struct gca230718_private *priv;
+ int err;
pr_info("Enter gca230718_probe for device address %u\n", client->addr);
priv = devm_kzalloc(&client->dev, sizeof(struct gca230718_private),
@@ -122,11 +115,14 @@ static int gca230718_probe(struct i2c_client *client)
pr_info("Error during allocating memory for private data\n");
return -ENOMEM;
}
- struct device_node *ledNode;
- mutex_init(&priv->lock);
- gca230718_init_private_led_data(priv);
+
+ err = devm_mutex_init(&client->dev, &priv->lock);
+ if (err)
+ return err;
+
i2c_set_clientdata(client, priv);
+ struct device_node *ledNode;
for_each_child_of_node(client->dev.of_node, ledNode) {
u32 regValue = 0;
if (of_property_read_u32(ledNode, "reg", ®Value))
@@ -173,14 +169,6 @@ static int gca230718_probe(struct i2c_client *client)
return 0;
}
-static void gca230718_remove(struct i2c_client *client)
-{
- struct gca230718_private *priv;
- priv = i2c_get_clientdata(client);
- mutex_destroy(&priv->lock);
- gca230718_init_private_led_data(priv);
-}
-
static const struct i2c_device_id gca230718_i2c_ids[] = {
{ "gca230718", 0 },
{},
@@ -195,7 +183,6 @@ MODULE_DEVICE_TABLE(of, gca230718_dt_ids);
static struct i2c_driver gca230718_driver = {
.probe = gca230718_probe,
- .remove = gca230718_remove,
.id_table = gca230718_i2c_ids,
.driver = {
.name = KBUILD_MODNAME,
More information about the lede-commits
mailing list