mvebu: devm for mutex_init

It's common to avoid calling mutex_destroy when done. It's not correct
strictly speaking.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16753
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 6280b4abfbc087157bc233083a67a42bffa31010)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
This commit is contained in:
Rosen Penev 2024-10-18 19:19:50 -07:00 committed by Petr Štetiar
parent 35b7bbf355
commit 1b513604c3
No known key found for this signature in database
GPG Key ID: 58EE120F30CC02D3
3 changed files with 15 additions and 7 deletions

View File

@ -54,7 +54,7 @@ Cc: Robert Marko <robert.marko@sartura.hr>
obj-$(CONFIG_INTEL_SOC_PMIC_BXTWC) += intel_soc_pmic_bxtwc.o obj-$(CONFIG_INTEL_SOC_PMIC_BXTWC) += intel_soc_pmic_bxtwc.o
--- /dev/null --- /dev/null
+++ b/drivers/mfd/iei-wt61p803-puzzle.c +++ b/drivers/mfd/iei-wt61p803-puzzle.c
@@ -0,0 +1,908 @@ @@ -0,0 +1,912 @@
+// SPDX-License-Identifier: GPL-2.0-only +// SPDX-License-Identifier: GPL-2.0-only
+/* IEI WT61P803 PUZZLE MCU Driver +/* IEI WT61P803 PUZZLE MCU Driver
+ * System management microcontroller for fan control, temperature sensor reading, + * System management microcontroller for fan control, temperature sensor reading,
@ -894,8 +894,12 @@ Cc: Robert Marko <robert.marko@sartura.hr>
+ mcu->serdev = serdev; + mcu->serdev = serdev;
+ mcu->dev = dev; + mcu->dev = dev;
+ init_completion(&mcu->reply->received); + init_completion(&mcu->reply->received);
+ mutex_init(&mcu->reply_lock); + ret = devm_mutex_init(dev, &mcu->reply_lock);
+ mutex_init(&mcu->lock); + if (ret)
+ return ret;
+ ret = devm_mutex_init(dev, &mcu->lock);
+ if (ret)
+ return ret;
+ +
+ /* Setup UART interface */ + /* Setup UART interface */
+ serdev_device_set_drvdata(serdev, mcu); + serdev_device_set_drvdata(serdev, mcu);

View File

@ -53,7 +53,7 @@ Cc: Robert Marko <robert.marko@sartura.hr>
obj-$(CONFIG_SENSORS_IBMPOWERNV)+= ibmpowernv.o obj-$(CONFIG_SENSORS_IBMPOWERNV)+= ibmpowernv.o
--- /dev/null --- /dev/null
+++ b/drivers/hwmon/iei-wt61p803-puzzle-hwmon.c +++ b/drivers/hwmon/iei-wt61p803-puzzle-hwmon.c
@@ -0,0 +1,445 @@ @@ -0,0 +1,447 @@
+// SPDX-License-Identifier: GPL-2.0-only +// SPDX-License-Identifier: GPL-2.0-only
+/* IEI WT61P803 PUZZLE MCU HWMON Driver +/* IEI WT61P803 PUZZLE MCU HWMON Driver
+ * + *
@ -457,7 +457,9 @@ Cc: Robert Marko <robert.marko@sartura.hr>
+ +
+ mcu_hwmon->mcu = mcu; + mcu_hwmon->mcu = mcu;
+ platform_set_drvdata(pdev, mcu_hwmon); + platform_set_drvdata(pdev, mcu_hwmon);
+ mutex_init(&mcu_hwmon->lock); + ret = devm_mutex_init(dev, &mcu_hwmon->lock);
+ if (ret)
+ return ret;
+ +
+ hwmon_dev = devm_hwmon_device_register_with_info(dev, "iei_wt61p803_puzzle", + hwmon_dev = devm_hwmon_device_register_with_info(dev, "iei_wt61p803_puzzle",
+ mcu_hwmon, + mcu_hwmon,

View File

@ -47,7 +47,7 @@
ret = iei_wt61p803_puzzle_write_command(priv->mcu, led_power_cmd, ret = iei_wt61p803_puzzle_write_command(priv->mcu, led_power_cmd,
sizeof(led_power_cmd), sizeof(led_power_cmd),
@@ -90,39 +106,166 @@ static enum led_brightness iei_wt61p803_ @@ -90,39 +106,168 @@ static enum led_brightness iei_wt61p803_
return led_state; return led_state;
} }
@ -194,7 +194,9 @@
+ goto put_child_node; + goto put_child_node;
+ } + }
+ +
+ mutex_init(&priv->lock); + ret = devm_mutex_init(dev, &priv->lock);
+ if (ret)
+ goto put_child_node;
+ +
+ dev_set_drvdata(dev, priv); + dev_set_drvdata(dev, priv);
+ +