All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] hwmon: corsair-psu: fix suspend behavior
@ 2021-06-03 11:51 Wilken Gottwalt
  2021-06-03 16:05 ` Guenter Roeck
  0 siblings, 1 reply; 6+ messages in thread
From: Wilken Gottwalt @ 2021-06-03 11:51 UTC (permalink / raw)
  To: linux-kernel; +Cc: Jean Delvare, Guenter Roeck, Jonathan Corbet, linux-hwmon

During standby some PSUs turn off the microcontroller. A re-init is
required during resume or the microcontroller stays unresponsive.

Fixes: d115b51e0e56 ("hwmon: add Corsair PSU HID controller driver")
Signed-off-by: Wilken Gottwalt <wilken.gottwalt@posteo.net>
---
Changes in v2:
  - corrected fixes commit
---
 drivers/hwmon/corsair-psu.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/drivers/hwmon/corsair-psu.c b/drivers/hwmon/corsair-psu.c
index 02298b86b57b..731d5117f9f1 100644
--- a/drivers/hwmon/corsair-psu.c
+++ b/drivers/hwmon/corsair-psu.c
@@ -771,6 +771,16 @@ static int corsairpsu_raw_event(struct hid_device *hdev, struct hid_report *repo
 	return 0;
 }
 
+#ifdef CONFIG_PM
+static int corsairpsu_resume(struct hid_device *hdev)
+{
+	struct corsairpsu_data *priv = hid_get_drvdata(hdev);
+
+	/* some PSUs turn off the microcontroller during standby, so a reinit is required */
+	return corsairpsu_init(priv);
+}
+#endif
+
 static const struct hid_device_id corsairpsu_idtable[] = {
 	{ HID_USB_DEVICE(0x1b1c, 0x1c03) }, /* Corsair HX550i */
 	{ HID_USB_DEVICE(0x1b1c, 0x1c04) }, /* Corsair HX650i */
@@ -793,6 +803,10 @@ static struct hid_driver corsairpsu_driver = {
 	.probe		= corsairpsu_probe,
 	.remove		= corsairpsu_remove,
 	.raw_event	= corsairpsu_raw_event,
+#ifdef CONFIG_PM
+	.resume		= corsairpsu_resume,
+	.reset_resume	= corsairpsu_resume,
+#endif
 };
 module_hid_driver(corsairpsu_driver);
 
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH v2] hwmon: corsair-psu: fix suspend behavior
  2021-06-03 11:51 [PATCH v2] hwmon: corsair-psu: fix suspend behavior Wilken Gottwalt
@ 2021-06-03 16:05 ` Guenter Roeck
  2021-06-04  5:17   ` Wilken Gottwalt
  0 siblings, 1 reply; 6+ messages in thread
From: Guenter Roeck @ 2021-06-03 16:05 UTC (permalink / raw)
  To: Wilken Gottwalt; +Cc: linux-kernel, Jean Delvare, Jonathan Corbet, linux-hwmon

On Thu, Jun 03, 2021 at 11:51:02AM +0000, Wilken Gottwalt wrote:
> During standby some PSUs turn off the microcontroller. A re-init is
> required during resume or the microcontroller stays unresponsive.
> 
> Fixes: d115b51e0e56 ("hwmon: add Corsair PSU HID controller driver")
> Signed-off-by: Wilken Gottwalt <wilken.gottwalt@posteo.net>

Applied.

Thanks,
Guenter

> ---
> Changes in v2:
>   - corrected fixes commit
> ---
>  drivers/hwmon/corsair-psu.c | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
> 
> diff --git a/drivers/hwmon/corsair-psu.c b/drivers/hwmon/corsair-psu.c
> index 02298b86b57b..731d5117f9f1 100644
> --- a/drivers/hwmon/corsair-psu.c
> +++ b/drivers/hwmon/corsair-psu.c
> @@ -771,6 +771,16 @@ static int corsairpsu_raw_event(struct hid_device *hdev, struct hid_report *repo
>  	return 0;
>  }
>  
> +#ifdef CONFIG_PM
> +static int corsairpsu_resume(struct hid_device *hdev)
> +{
> +	struct corsairpsu_data *priv = hid_get_drvdata(hdev);
> +
> +	/* some PSUs turn off the microcontroller during standby, so a reinit is required */
> +	return corsairpsu_init(priv);
> +}
> +#endif
> +
>  static const struct hid_device_id corsairpsu_idtable[] = {
>  	{ HID_USB_DEVICE(0x1b1c, 0x1c03) }, /* Corsair HX550i */
>  	{ HID_USB_DEVICE(0x1b1c, 0x1c04) }, /* Corsair HX650i */
> @@ -793,6 +803,10 @@ static struct hid_driver corsairpsu_driver = {
>  	.probe		= corsairpsu_probe,
>  	.remove		= corsairpsu_remove,
>  	.raw_event	= corsairpsu_raw_event,
> +#ifdef CONFIG_PM
> +	.resume		= corsairpsu_resume,
> +	.reset_resume	= corsairpsu_resume,
> +#endif
>  };
>  module_hid_driver(corsairpsu_driver);
>  

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v2] hwmon: corsair-psu: fix suspend behavior
  2021-06-03 16:05 ` Guenter Roeck
@ 2021-06-04  5:17   ` Wilken Gottwalt
  2021-06-04 11:05     ` Guenter Roeck
  0 siblings, 1 reply; 6+ messages in thread
From: Wilken Gottwalt @ 2021-06-04  5:17 UTC (permalink / raw)
  To: Guenter Roeck; +Cc: linux-kernel, Jean Delvare, Jonathan Corbet, linux-hwmon

On Thu, 3 Jun 2021 09:05:33 -0700
Guenter Roeck <linux@roeck-us.net> wrote:

> On Thu, Jun 03, 2021 at 11:51:02AM +0000, Wilken Gottwalt wrote:
> > During standby some PSUs turn off the microcontroller. A re-init is
> > required during resume or the microcontroller stays unresponsive.
> > 
> > Fixes: d115b51e0e56 ("hwmon: add Corsair PSU HID controller driver")
> > Signed-off-by: Wilken Gottwalt <wilken.gottwalt@posteo.net>
> 
> Applied.

Thank you. Though I have an odd question. I would like to change the licensing to
a dual license (GPL/MPL) to support the LibreHardwareMonitor project. They want
to use my code but use a MPL license. What would be the best way to do this?

greetings,
Will

> Thanks,
> Guenter
> 
> > ---
> > Changes in v2:
> >   - corrected fixes commit
> > ---
> >  drivers/hwmon/corsair-psu.c | 14 ++++++++++++++
> >  1 file changed, 14 insertions(+)
> > 
> > diff --git a/drivers/hwmon/corsair-psu.c b/drivers/hwmon/corsair-psu.c
> > index 02298b86b57b..731d5117f9f1 100644
> > --- a/drivers/hwmon/corsair-psu.c
> > +++ b/drivers/hwmon/corsair-psu.c
> > @@ -771,6 +771,16 @@ static int corsairpsu_raw_event(struct hid_device *hdev, struct hid_report
> > *repo return 0;
> >  }
> >  
> > +#ifdef CONFIG_PM
> > +static int corsairpsu_resume(struct hid_device *hdev)
> > +{
> > +	struct corsairpsu_data *priv = hid_get_drvdata(hdev);
> > +
> > +	/* some PSUs turn off the microcontroller during standby, so a reinit is required */
> > +	return corsairpsu_init(priv);
> > +}
> > +#endif
> > +
> >  static const struct hid_device_id corsairpsu_idtable[] = {
> >  	{ HID_USB_DEVICE(0x1b1c, 0x1c03) }, /* Corsair HX550i */
> >  	{ HID_USB_DEVICE(0x1b1c, 0x1c04) }, /* Corsair HX650i */
> > @@ -793,6 +803,10 @@ static struct hid_driver corsairpsu_driver = {
> >  	.probe		= corsairpsu_probe,
> >  	.remove		= corsairpsu_remove,
> >  	.raw_event	= corsairpsu_raw_event,
> > +#ifdef CONFIG_PM
> > +	.resume		= corsairpsu_resume,
> > +	.reset_resume	= corsairpsu_resume,
> > +#endif
> >  };
> >  module_hid_driver(corsairpsu_driver);
> >  


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v2] hwmon: corsair-psu: fix suspend behavior
  2021-06-04  5:17   ` Wilken Gottwalt
@ 2021-06-04 11:05     ` Guenter Roeck
  2021-06-13 14:06       ` Wilken Gottwalt
  0 siblings, 1 reply; 6+ messages in thread
From: Guenter Roeck @ 2021-06-04 11:05 UTC (permalink / raw)
  To: Wilken Gottwalt; +Cc: linux-kernel, Jean Delvare, Jonathan Corbet, linux-hwmon

On Fri, Jun 04, 2021 at 05:17:11AM +0000, Wilken Gottwalt wrote:
> On Thu, 3 Jun 2021 09:05:33 -0700
> Guenter Roeck <linux@roeck-us.net> wrote:
> 
> > On Thu, Jun 03, 2021 at 11:51:02AM +0000, Wilken Gottwalt wrote:
> > > During standby some PSUs turn off the microcontroller. A re-init is
> > > required during resume or the microcontroller stays unresponsive.
> > > 
> > > Fixes: d115b51e0e56 ("hwmon: add Corsair PSU HID controller driver")
> > > Signed-off-by: Wilken Gottwalt <wilken.gottwalt@posteo.net>
> > 
> > Applied.
> 
> Thank you. Though I have an odd question. I would like to change the licensing to
> a dual license (GPL/MPL) to support the LibreHardwareMonitor project. They want
> to use my code but use a MPL license. What would be the best way to do this?

Submit a patch which would need an Acked-by: from everyone who contributed
to the driver. As far as I can see, that would be Wan Jiabing
<wanjiabing@vivo.com>, Jack Doan <me@jackdoan.com>, and Colin Ian King
<colin.king@canonical.com>. I would suggest to ask them first if the license
change is ok with them.

Guenter

> 
> greetings,
> Will
> 
> > Thanks,
> > Guenter
> > 
> > > ---
> > > Changes in v2:
> > >   - corrected fixes commit
> > > ---
> > >  drivers/hwmon/corsair-psu.c | 14 ++++++++++++++
> > >  1 file changed, 14 insertions(+)
> > > 
> > > diff --git a/drivers/hwmon/corsair-psu.c b/drivers/hwmon/corsair-psu.c
> > > index 02298b86b57b..731d5117f9f1 100644
> > > --- a/drivers/hwmon/corsair-psu.c
> > > +++ b/drivers/hwmon/corsair-psu.c
> > > @@ -771,6 +771,16 @@ static int corsairpsu_raw_event(struct hid_device *hdev, struct hid_report
> > > *repo return 0;
> > >  }
> > >  
> > > +#ifdef CONFIG_PM
> > > +static int corsairpsu_resume(struct hid_device *hdev)
> > > +{
> > > +	struct corsairpsu_data *priv = hid_get_drvdata(hdev);
> > > +
> > > +	/* some PSUs turn off the microcontroller during standby, so a reinit is required */
> > > +	return corsairpsu_init(priv);
> > > +}
> > > +#endif
> > > +
> > >  static const struct hid_device_id corsairpsu_idtable[] = {
> > >  	{ HID_USB_DEVICE(0x1b1c, 0x1c03) }, /* Corsair HX550i */
> > >  	{ HID_USB_DEVICE(0x1b1c, 0x1c04) }, /* Corsair HX650i */
> > > @@ -793,6 +803,10 @@ static struct hid_driver corsairpsu_driver = {
> > >  	.probe		= corsairpsu_probe,
> > >  	.remove		= corsairpsu_remove,
> > >  	.raw_event	= corsairpsu_raw_event,
> > > +#ifdef CONFIG_PM
> > > +	.resume		= corsairpsu_resume,
> > > +	.reset_resume	= corsairpsu_resume,
> > > +#endif
> > >  };
> > >  module_hid_driver(corsairpsu_driver);
> > >  
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v2] hwmon: corsair-psu: fix suspend behavior
  2021-06-04 11:05     ` Guenter Roeck
@ 2021-06-13 14:06       ` Wilken Gottwalt
  2021-06-13 17:42         ` Guenter Roeck
  0 siblings, 1 reply; 6+ messages in thread
From: Wilken Gottwalt @ 2021-06-13 14:06 UTC (permalink / raw)
  To: Guenter Roeck; +Cc: linux-kernel, Jean Delvare, Jonathan Corbet, linux-hwmon

On Fri, 4 Jun 2021 04:05:14 -0700
Guenter Roeck <linux@roeck-us.net> wrote:

> On Fri, Jun 04, 2021 at 05:17:11AM +0000, Wilken Gottwalt wrote:
> > On Thu, 3 Jun 2021 09:05:33 -0700
> > Guenter Roeck <linux@roeck-us.net> wrote:
> > 
> > > On Thu, Jun 03, 2021 at 11:51:02AM +0000, Wilken Gottwalt wrote:
> > > > During standby some PSUs turn off the microcontroller. A re-init is
> > > > required during resume or the microcontroller stays unresponsive.
> > > > 
> > > > Fixes: d115b51e0e56 ("hwmon: add Corsair PSU HID controller driver")
> > > > Signed-off-by: Wilken Gottwalt <wilken.gottwalt@posteo.net>
> > > 
> > > Applied.
> > 
> > Thank you. Though I have an odd question. I would like to change the licensing to
> > a dual license (GPL/MPL) to support the LibreHardwareMonitor project. They want
> > to use my code but use a MPL license. What would be the best way to do this?
> 
> Submit a patch which would need an Acked-by: from everyone who contributed
> to the driver. As far as I can see, that would be Wan Jiabing
> <wanjiabing@vivo.com>, Jack Doan <me@jackdoan.com>, and Colin Ian King
> <colin.king@canonical.com>. I would suggest to ask them first if the license
> change is ok with them.

I got the okay from Jack who had the idea for the precision patch. But the other
two, who did the semicolon and long cast patches do not reply. So what now?

> Guenter
> 
> > 
> > greetings,
> > Will
> > 
> > > Thanks,
> > > Guenter
> > > 
> > > > ---
> > > > Changes in v2:
> > > >   - corrected fixes commit
> > > > ---
> > > >  drivers/hwmon/corsair-psu.c | 14 ++++++++++++++
> > > >  1 file changed, 14 insertions(+)
> > > > 
> > > > diff --git a/drivers/hwmon/corsair-psu.c b/drivers/hwmon/corsair-psu.c
> > > > index 02298b86b57b..731d5117f9f1 100644
> > > > --- a/drivers/hwmon/corsair-psu.c
> > > > +++ b/drivers/hwmon/corsair-psu.c
> > > > @@ -771,6 +771,16 @@ static int corsairpsu_raw_event(struct hid_device *hdev, struct
> > > > hid_report *repo return 0;
> > > >  }
> > > >  
> > > > +#ifdef CONFIG_PM
> > > > +static int corsairpsu_resume(struct hid_device *hdev)
> > > > +{
> > > > +	struct corsairpsu_data *priv = hid_get_drvdata(hdev);
> > > > +
> > > > +	/* some PSUs turn off the microcontroller during standby, so a reinit is required
> > > > */
> > > > +	return corsairpsu_init(priv);
> > > > +}
> > > > +#endif
> > > > +
> > > >  static const struct hid_device_id corsairpsu_idtable[] = {
> > > >  	{ HID_USB_DEVICE(0x1b1c, 0x1c03) }, /* Corsair HX550i */
> > > >  	{ HID_USB_DEVICE(0x1b1c, 0x1c04) }, /* Corsair HX650i */
> > > > @@ -793,6 +803,10 @@ static struct hid_driver corsairpsu_driver = {
> > > >  	.probe		= corsairpsu_probe,
> > > >  	.remove		= corsairpsu_remove,
> > > >  	.raw_event	= corsairpsu_raw_event,
> > > > +#ifdef CONFIG_PM
> > > > +	.resume		= corsairpsu_resume,
> > > > +	.reset_resume	= corsairpsu_resume,
> > > > +#endif
> > > >  };
> > > >  module_hid_driver(corsairpsu_driver);
> > > >  
> > 


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v2] hwmon: corsair-psu: fix suspend behavior
  2021-06-13 14:06       ` Wilken Gottwalt
@ 2021-06-13 17:42         ` Guenter Roeck
  0 siblings, 0 replies; 6+ messages in thread
From: Guenter Roeck @ 2021-06-13 17:42 UTC (permalink / raw)
  To: Wilken Gottwalt; +Cc: linux-kernel, Jean Delvare, Jonathan Corbet, linux-hwmon

On Sun, Jun 13, 2021 at 02:06:34PM +0000, Wilken Gottwalt wrote:
> On Fri, 4 Jun 2021 04:05:14 -0700
> Guenter Roeck <linux@roeck-us.net> wrote:
> 
> > On Fri, Jun 04, 2021 at 05:17:11AM +0000, Wilken Gottwalt wrote:
> > > On Thu, 3 Jun 2021 09:05:33 -0700
> > > Guenter Roeck <linux@roeck-us.net> wrote:
> > > 
> > > > On Thu, Jun 03, 2021 at 11:51:02AM +0000, Wilken Gottwalt wrote:
> > > > > During standby some PSUs turn off the microcontroller. A re-init is
> > > > > required during resume or the microcontroller stays unresponsive.
> > > > > 
> > > > > Fixes: d115b51e0e56 ("hwmon: add Corsair PSU HID controller driver")
> > > > > Signed-off-by: Wilken Gottwalt <wilken.gottwalt@posteo.net>
> > > > 
> > > > Applied.
> > > 
> > > Thank you. Though I have an odd question. I would like to change the licensing to
> > > a dual license (GPL/MPL) to support the LibreHardwareMonitor project. They want
> > > to use my code but use a MPL license. What would be the best way to do this?
> > 
> > Submit a patch which would need an Acked-by: from everyone who contributed
> > to the driver. As far as I can see, that would be Wan Jiabing
> > <wanjiabing@vivo.com>, Jack Doan <me@jackdoan.com>, and Colin Ian King
> > <colin.king@canonical.com>. I would suggest to ask them first if the license
> > change is ok with them.
> 
> I got the okay from Jack who had the idea for the precision patch. But the other
> two, who did the semicolon and long cast patches do not reply. So what now?
> 

I see two options:
- Publish your original code (not including the semicolon and long cast
  patches) as an out-of-tree driver at github or some other open source
  repository site, with whatever license you want, and ask
  LibreHardwareMonitor pull it from there.
- Submit the driver yourself into LibreHardwareMonitor, again not
  including the problematic changes, with whatever license you want.

Disclaimer: I am not an attorney, and this is not legal advice.

Guenter

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2021-06-13 17:43 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-03 11:51 [PATCH v2] hwmon: corsair-psu: fix suspend behavior Wilken Gottwalt
2021-06-03 16:05 ` Guenter Roeck
2021-06-04  5:17   ` Wilken Gottwalt
2021-06-04 11:05     ` Guenter Roeck
2021-06-13 14:06       ` Wilken Gottwalt
2021-06-13 17:42         ` Guenter Roeck

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.