From: Guenter Roeck <linux@roeck-us.net>
To: Li Zetao <lizetao1@huawei.com>
Cc: jikos@kernel.org, bentiss@kernel.org, michael.zaidman@gmail.com,
gupt21@gmail.com, djogorchock@gmail.com,
roderick.colenbrander@sony.com, savicaleksa83@gmail.com,
me@jackdoan.com, jdelvare@suse.com, mail@mariuszachmann.de,
wilken.gottwalt@posteo.net, jonas@protocubo.io,
mezin.alexander@gmail.com, linux-input@vger.kernel.org,
linux-i2c@vger.kernel.org, linux-hwmon@vger.kernel.org
Subject: Re: [PATCH -next v2 10/15] hwmon: (corsair-cpro) Use devm_hid_hw_start_and_open in ccp_probe()
Date: Mon, 9 Sep 2024 09:59:41 -0700 [thread overview]
Message-ID: <79fd01a8-da8e-4fc0-bd33-c2e70e902b75@roeck-us.net> (raw)
In-Reply-To: <20240909012313.500341-11-lizetao1@huawei.com>
On Mon, Sep 09, 2024 at 09:23:08AM +0800, Li Zetao wrote:
> Currently, the corsair-cpro module needs to maintain hid resources
> by itself. Use devm_hid_hw_start_and_open helper to ensure that hid
> resources are consistent with the device life cycle, and release
> hid resources before device is released. At the same time, it can avoid
> the goto-release encoding, drop the out_hw_close and hid_hw_stop
> lables, and directly return the error code when an error occurs.
>
> Signed-off-by: Li Zetao <lizetao1@huawei.com>
Acked-by: Guenter Roeck <linux@roeck-us.net>
> ---
> v1 -> v2: Adjust commit information
> v1:
> https://lore.kernel.org/all/20240904123607.3407364-15-lizetao1@huawei.com/
>
> drivers/hwmon/corsair-cpro.c | 24 +++++-------------------
> 1 file changed, 5 insertions(+), 19 deletions(-)
>
> diff --git a/drivers/hwmon/corsair-cpro.c b/drivers/hwmon/corsair-cpro.c
> index e1a7f7aa7f80..7bba30840f32 100644
> --- a/drivers/hwmon/corsair-cpro.c
> +++ b/drivers/hwmon/corsair-cpro.c
> @@ -601,14 +601,10 @@ static int ccp_probe(struct hid_device *hdev, const struct hid_device_id *id)
> if (ret)
> return ret;
>
> - ret = hid_hw_start(hdev, HID_CONNECT_HIDRAW);
> + ret = devm_hid_hw_start_and_open(hdev, HID_CONNECT_HIDRAW);
> if (ret)
> return ret;
>
> - ret = hid_hw_open(hdev);
> - if (ret)
> - goto out_hw_stop;
> -
> ccp->hdev = hdev;
> hid_set_drvdata(hdev, ccp);
>
> @@ -621,28 +617,20 @@ static int ccp_probe(struct hid_device *hdev, const struct hid_device_id *id)
> /* temp and fan connection status only updates when device is powered on */
> ret = get_temp_cnct(ccp);
> if (ret)
> - goto out_hw_close;
> + return ret;
>
> ret = get_fan_cnct(ccp);
> if (ret)
> - goto out_hw_close;
> + return ret;
>
> ccp_debugfs_init(ccp);
>
> ccp->hwmon_dev = hwmon_device_register_with_info(&hdev->dev, "corsaircpro",
> ccp, &ccp_chip_info, NULL);
> - if (IS_ERR(ccp->hwmon_dev)) {
> - ret = PTR_ERR(ccp->hwmon_dev);
> - goto out_hw_close;
> - }
> + if (IS_ERR(ccp->hwmon_dev))
> + return PTR_ERR(ccp->hwmon_dev);
>
> return 0;
> -
> -out_hw_close:
> - hid_hw_close(hdev);
> -out_hw_stop:
> - hid_hw_stop(hdev);
> - return ret;
> }
>
> static void ccp_remove(struct hid_device *hdev)
> @@ -651,8 +639,6 @@ static void ccp_remove(struct hid_device *hdev)
>
> debugfs_remove_recursive(ccp->debugfs);
> hwmon_device_unregister(ccp->hwmon_dev);
> - hid_hw_close(hdev);
> - hid_hw_stop(hdev);
> }
>
> static const struct hid_device_id ccp_devices[] = {
> --
> 2.34.1
>
>
next prev parent reply other threads:[~2024-09-09 16:59 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-09 1:22 [PATCH -next v2 00/15] HID: convert to devm_hid_hw_start_and_open() Li Zetao
2024-09-09 1:22 ` [PATCH -next v2 01/15] HID: core: Use devm_add_action_or_reset helper to manage hid resources Li Zetao
2024-09-09 1:23 ` [PATCH -next v2 02/15] HID: cp2112: Use devm_hid_hw_start_and_open in cp2112_probe() Li Zetao
2024-09-09 1:23 ` [PATCH -next v2 03/15] HID: ft260: Use devm_hid_hw_start_and_open in ft260_probe() Li Zetao
2024-09-09 1:23 ` [PATCH -next v2 04/15] HID: mcp2200: Use devm_hid_hw_start_and_open in mcp2200_probe() Li Zetao
2024-09-09 1:23 ` [PATCH -next v2 05/15] HID: mcp2221: Use devm_hid_hw_start_and_open in mcp2221_probe() Li Zetao
2024-09-09 1:23 ` [PATCH -next v2 06/15] HID: nintendo: Use devm_hid_hw_start_and_open in nintendo_hid_probe() Li Zetao
2024-09-09 1:23 ` [PATCH -next v2 07/15] HID: playstation: Use devm_hid_hw_start_and_open in ps_probe() Li Zetao
2024-09-09 1:23 ` [PATCH -next v2 08/15] hwmon: (aquacomputer_d5next) Use devm_hid_hw_start_and_open in aqc_probe() Li Zetao
2024-09-09 16:57 ` Guenter Roeck
2024-09-09 17:29 ` Aleksa Savic
2024-09-09 1:23 ` [PATCH -next v2 09/15] hwmon: Use devm_hid_hw_start_and_open in rog_ryujin_probe() Li Zetao
2024-09-09 16:59 ` Guenter Roeck
2024-09-09 17:32 ` Aleksa Savic
2024-09-09 1:23 ` [PATCH -next v2 10/15] hwmon: (corsair-cpro) Use devm_hid_hw_start_and_open in ccp_probe() Li Zetao
2024-09-09 16:59 ` Guenter Roeck [this message]
2024-09-09 18:05 ` Marius Zachmann
2024-09-09 1:23 ` [PATCH -next v2 11/15] hwmon: (corsair-psu) Use devm_hid_hw_start_and_open in corsairpsu_probe() Li Zetao
2024-09-09 17:00 ` Guenter Roeck
2024-09-09 1:23 ` [PATCH -next v2 12/15] hwmon: (gigabyte_waterforce) Use devm_hid_hw_start_and_open in waterforce_probe() Li Zetao
2024-09-09 17:00 ` Guenter Roeck
2024-09-09 17:37 ` Aleksa Savic
2024-09-09 1:23 ` [PATCH -next v2 13/15] hwmon: (nzxt-kraken2) Use devm_hid_hw_start_and_open in kraken2_probe() Li Zetao
2024-09-09 17:00 ` Guenter Roeck
2024-09-09 18:23 ` Jonas Malaco
2024-09-09 1:23 ` [PATCH -next v2 14/15] hwmon: (nzxt-kraken3) Use devm_hid_hw_start_and_open in kraken3_probe() Li Zetao
2024-09-09 17:01 ` Guenter Roeck
2024-09-09 17:44 ` Aleksa Savic
2024-09-09 1:23 ` [PATCH -next v2 15/15] hwmon: (nzxt-smart2) Use devm_hid_hw_start_and_open in nzxt_smart2_hid_probe() Li Zetao
2024-09-09 17:01 ` Guenter Roeck
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=79fd01a8-da8e-4fc0-bd33-c2e70e902b75@roeck-us.net \
--to=linux@roeck-us.net \
--cc=bentiss@kernel.org \
--cc=djogorchock@gmail.com \
--cc=gupt21@gmail.com \
--cc=jdelvare@suse.com \
--cc=jikos@kernel.org \
--cc=jonas@protocubo.io \
--cc=linux-hwmon@vger.kernel.org \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-input@vger.kernel.org \
--cc=lizetao1@huawei.com \
--cc=mail@mariuszachmann.de \
--cc=me@jackdoan.com \
--cc=mezin.alexander@gmail.com \
--cc=michael.zaidman@gmail.com \
--cc=roderick.colenbrander@sony.com \
--cc=savicaleksa83@gmail.com \
--cc=wilken.gottwalt@posteo.net \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox