Commit c0c45238 authored by Christophe JAILLET's avatar Christophe JAILLET Committed by Guenter Roeck

hwmon: (peci) Use devm_delayed_work_autocancel() to simplify code

Use devm_delayed_work_autocancel() instead of hand writing it. This is
less verbose and saves a few lines of code.

devm_delayed_work_autocancel() uses devm_add_action() instead of
devm_add_action_or_reset(). This is fine, because if the underlying memory
allocation fails, no work has been scheduled yet. So there is nothing to
undo.
Signed-off-by: default avatarChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Reviewed-by: default avatarIwona Winiarska <iwona.winiarska@intel.com>
Link: https://lore.kernel.org/r/fd277a708ede3882d7df6831f02d2e3c0cb813b8.1644781718.git.christophe.jaillet@wanadoo.frSigned-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
parent ab9ac6df
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
#include <linux/auxiliary_bus.h> #include <linux/auxiliary_bus.h>
#include <linux/bitfield.h> #include <linux/bitfield.h>
#include <linux/bitops.h> #include <linux/bitops.h>
#include <linux/devm-helpers.h>
#include <linux/hwmon.h> #include <linux/hwmon.h>
#include <linux/jiffies.h> #include <linux/jiffies.h>
#include <linux/module.h> #include <linux/module.h>
...@@ -378,13 +379,6 @@ static void create_dimm_temp_info_delayed(struct work_struct *work) ...@@ -378,13 +379,6 @@ static void create_dimm_temp_info_delayed(struct work_struct *work)
dev_err(priv->dev, "Failed to populate DIMM temp info\n"); dev_err(priv->dev, "Failed to populate DIMM temp info\n");
} }
static void remove_delayed_work(void *_priv)
{
struct peci_dimmtemp *priv = _priv;
cancel_delayed_work_sync(&priv->detect_work);
}
static int peci_dimmtemp_probe(struct auxiliary_device *adev, const struct auxiliary_device_id *id) static int peci_dimmtemp_probe(struct auxiliary_device *adev, const struct auxiliary_device_id *id)
{ {
struct device *dev = &adev->dev; struct device *dev = &adev->dev;
...@@ -415,9 +409,8 @@ static int peci_dimmtemp_probe(struct auxiliary_device *adev, const struct auxil ...@@ -415,9 +409,8 @@ static int peci_dimmtemp_probe(struct auxiliary_device *adev, const struct auxil
"Unexpected PECI revision %#x, some features may be unavailable\n", "Unexpected PECI revision %#x, some features may be unavailable\n",
peci_dev->info.peci_revision); peci_dev->info.peci_revision);
INIT_DELAYED_WORK(&priv->detect_work, create_dimm_temp_info_delayed); ret = devm_delayed_work_autocancel(priv->dev, &priv->detect_work,
create_dimm_temp_info_delayed);
ret = devm_add_action_or_reset(priv->dev, remove_delayed_work, priv);
if (ret) if (ret)
return ret; return ret;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment