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.
Thanks,
Guenter
--- powerz.c_orig 2023-09-02 13:47:14.754705791 -0400
+++ powerz.c 2023-09-02 23:22:54.783856587 -0400
@@ -250,6 +250,7 @@
static const struct usb_device_id powerz_id_table[] = {
{ USB_DEVICE_INTERFACE_NUMBER(0x5FC9, 0x0063, 0x00) }, /* ChargerLAB POWER-Z KM003C */
+ { USB_DEVICE_INTERFACE_NUMBER(0x5FC9, 0x0061, 0x00) }, /* ChargerLAB POWER-Z KM002C */
{ }
};
Do you want a "Tested-by" on the patch as well?
Doug Gilbert