On Tue, May 26, 2020 at 12:08:14PM +0000, Sandipan Patra wrote: > Hi, > > > > -----Original Message----- > > From: Guenter Roeck <groe...@gmail.com> On Behalf Of Guenter Roeck > > Sent: Tuesday, May 26, 2020 5:12 PM > > To: Sandipan Patra <spa...@nvidia.com>; Thierry Reding > > <tred...@nvidia.com>; Jonathan Hunter <jonath...@nvidia.com>; u.kleine- > > koe...@pengutronix.de; ka...@wypas.org; jdelv...@suse.com; > > robh...@kernel.org > > Cc: Bibek Basu <bb...@nvidia.com>; Bitan Biswas <bbis...@nvidia.com>; > > linux-...@vger.kernel.org; linux-hw...@vger.kernel.org; > > devicet...@vger.kernel.org; linux-te...@vger.kernel.org; linux- > > ker...@vger.kernel.org > > Subject: Re: [PATCH 1/2] hwmon: pwm-fan: Add profile support and add remove > > module support > > > > External email: Use caution opening links or attachments > > > > > > On 5/25/20 10:06 PM, Sandipan Patra wrote: > > > This change has 2 parts: > > > 1. Add support for profiles mode settings. > > > This allows different fan settings for trip point temp/hyst/pwm. > > > T194 has multiple fan-profiles support. > > > > > > 2. Add pwm-fan remove support. This is essential since the config is > > > tristate capable. > > > > > > Signed-off-by: Sandipan Patra <spa...@nvidia.com> > > > --- > > > drivers/hwmon/pwm-fan.c | 112 > > > ++++++++++++++++++++++++++++++++++++++++++------ > > > 1 file changed, 100 insertions(+), 12 deletions(-) > > > > > > diff --git a/drivers/hwmon/pwm-fan.c b/drivers/hwmon/pwm-fan.c index > > > 30b7b3e..26db589 100644 > > > --- a/drivers/hwmon/pwm-fan.c > > > +++ b/drivers/hwmon/pwm-fan.c > > > > [ ... ] > > > > > > > > +static int pwm_fan_remove(struct platform_device *pdev) { > > > + struct pwm_fan_ctx *ctx = platform_get_drvdata(pdev); > > > + struct pwm_args args; > > > + > > > + if (!ctx) > > > + return -EINVAL; > > > + > > > + if (IS_ENABLED(CONFIG_THERMAL)) > > > + thermal_cooling_device_unregister(ctx->cdev); > > > + > > > + pwm_get_args(ctx->pwm, &args); > > > + pwm_config(ctx->pwm, 0, args.period); > > > + pwm_disable(ctx->pwm); > > > + > > > + return 0; > > > +} > > > + > > > > I don't think you actually tested this. I would suggest to make yourself > > familiar > > with 'devm' functions and their use, and then resubmit. > > > > Thanks Guenter. > I missed to mention about devm while unregistering the cooling device. > That would definitely cause a mistake in code. I am noting it for further > patch. > For that part, I am extremely surprised that it is not handled by the thermal subsystem. Does each thermal driver need this kind of code ?
> For a better clarity, I will push next version of this patch to handle only > multiple profiles support. > "remove fan module" will be supported by a separate patch altogether. > I asked you to look into "devm" functionality. I ask you again. If you still think that a remove function is needed, I will require detailed reasoning. Please be prepared to explain why devm functions do not work for this driver. Guenter