Re: [PATCH v4] hwmon: add POWER-Z driver

From: Douglas Gilbert
Date: Sun Sep 03 2023 - 10:54:20 EST


On 2023-09-03 07:46, Guenter Roeck wrote:
On 9/2/23 22:54, Douglas Gilbert wrote:
On 2023-09-02 18:56, Guenter Roeck wrote:
On 9/2/23 15:29, Thomas Weißschuh wrote:
Hi,

On 2023-09-02 18:36:17+0200, Christophe JAILLET wrote:
Le 02/09/2023 à 09:47, Thomas Weißschuh a écrit :
POWER-Z is a series of devices to monitor power characteristics of
USB-C connections and display those on a on-device display.
Some of the devices, notably KM002C and KM003C, contain an additional
port which exposes the measurements via USB.

This is a driver for this monitor port.

It was developed and tested with the KM003C.

Signed-off-by: Thomas Weißschuh <linux-9XfqOkM5JgxKQ7RDE2T8Pw@xxxxxxxxxxxxxxxx>
---

...

+static int powerz_probe(struct usb_interface *intf,
+            const struct usb_device_id *id)
+{
+    struct powerz_priv *priv;
+    struct device *hwmon_dev;
+    struct device *parent;
+
+    parent = &intf->dev;
+
+    priv = devm_kzalloc(parent, sizeof(*priv), GFP_KERNEL);
+    if (!priv)
+        return -ENOMEM;
+
+    priv->urb = usb_alloc_urb(0, GFP_KERNEL);
+    if (!priv->urb)
+        return -ENOMEM;
+    mutex_init(&priv->mutex);
+    priv->status = -ETIMEDOUT;
+    init_completion(&priv->completion);
+
+    hwmon_dev =
+        devm_hwmon_device_register_with_info(parent, DRIVER_NAME, priv,
+                         &powerz_chip_info, NULL);
+    usb_set_intfdata(intf, priv);
+
+    return PTR_ERR_OR_ZERO(hwmon_dev);

Hi,

If 'hwmon_dev' is an PTR_ERR, priv->urb leaks.

Good catch, thanks!


Guenter,

it seems the new hwmon-next with this driver has not yet been pushed to
git.kernel.org, so I can't generate the Fixes tag.


Rule is that I must not push anything into linux-next until
after v6.6-rc1 has been released.

Can you modify the commit to also contain the changes below?
Or let me know if you prefer something else.


I'll update the patch and make the change.

Hi,
While you are at it, you can make the driver detect the earlier model KM002C:


Please send a separate patch to do that.

That would be easier if I could see a git repository with the powerz driver
in it. Looking at:
https://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging.git/

or is there another url to use?

Doug Gilbert