lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20250219162016.GC22470@francesco-nb>
Date: Wed, 19 Feb 2025 17:20:16 +0100
From: Francesco Dolcini <francesco@...cini.it>
To: Quentin Schulz <quentin.schulz@...rry.de>
Cc: Francesco Dolcini <francesco@...cini.it>,
	Jean Delvare <jdelvare@...e.com>,
	Guenter Roeck <linux@...ck-us.net>, Rob Herring <robh@...nel.org>,
	Krzysztof Kozlowski <krzk+dt@...nel.org>,
	Conor Dooley <conor+dt@...nel.org>,
	Farouk Bouabid <farouk.bouabid@...rry.de>,
	Francesco Dolcini <francesco.dolcini@...adex.com>,
	linux-hwmon@...r.kernel.org, devicetree@...r.kernel.org,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH v1 2/2] hwmon: (amc6821) Add PWM polarity configuration
 with OF

Hi Quentin,

On Wed, Feb 19, 2025 at 12:12:24PM +0100, Quentin Schulz wrote:
> On 2/19/25 11:33 AM, Francesco Dolcini wrote:
> > On Wed, Feb 19, 2025 at 11:08:43AM +0100, Quentin Schulz wrote:
> > > On 2/18/25 5:56 PM, Francesco Dolcini wrote:
> > > > From: Francesco Dolcini <francesco.dolcini@...adex.com>
> > > > 
> > > > Add support to configure the PWM-Out pin polarity based on a device
> > > > tree property.
> > > > 
> > > > Signed-off-by: Francesco Dolcini <francesco.dolcini@...adex.com>
> > > > ---
> > > >    drivers/hwmon/amc6821.c | 7 +++++--
> > > >    1 file changed, 5 insertions(+), 2 deletions(-)
> > > > 
> > > > diff --git a/drivers/hwmon/amc6821.c b/drivers/hwmon/amc6821.c
> > > > index 1e3c6acd8974..1ea2d97eebca 100644
> > > > --- a/drivers/hwmon/amc6821.c
> > > > +++ b/drivers/hwmon/amc6821.c
> > > > @@ -845,7 +845,7 @@ static int amc6821_detect(struct i2c_client *client, struct i2c_board_info *info
> > > >    	return 0;
> > > >    }
> > > > -static int amc6821_init_client(struct amc6821_data *data)
> > > > +static int amc6821_init_client(struct i2c_client *client, struct amc6821_data *data)
> > > >    {
> > > >    	struct regmap *regmap = data->regmap;
> > > >    	int err;
> > > > @@ -864,6 +864,9 @@ static int amc6821_init_client(struct amc6821_data *data)
> > > >    		if (err)
> > > >    			return err;
> > > > +		if (of_property_read_bool(client->dev.of_node, "ti,pwm-inverted"))
> > > 
> > > I know that the AMC6821 is doing a lot of smart things, but this really
> > > tickled me. PWM controllers actually do support that already via
> > > PWM_POLARITY_INVERTED flag for example. See
> > > Documentation/devicetree/bindings/hwmon/adt7475.yaml which seems to be
> > > another HWMON driver which acts as a PWM controller. I'm not sure this is
> > > relevant, applicable or desired but I wanted to highlight this.
> > 
> >  From the DT binding point of view, it seems to implement the same I am
> > proposing here with adi,pwm-active-state property.
> > 
> 
> Ah! It seems like I read only the part that agreed with the idea I had in
> mind :)
> 
> > Do you have anything more specific in mind?
> > 
> 
> Yes, #pwm-cells just below in the binding. You can then see that the third
> cell in a PWM specifier is for the polarity. If I didn't misread once more,
> I believe that what's in adi,pwm-active-state is ignored based on the
> content of the PWM flags in a PWM cell specifier, c.f.
> adt7475_set_pwm_polarity followed by adt7475_fan_pwm_config in
> adt7475_probe. I would have assumed that having the polarity inverted in
> adi,pwm-active-state would mean that the meaning of the flag in the PWM cell
> specifier would be inverted as well, meaning 0 -> inverted,
> PWM_POLARITY_INVERTED -> doubly inverted so "normal" polarity.
> 
> adt7475_fan_pwm_config was added a few years after adt7475_set_pwm_polarity.

I think this is out of scope for this patch. The amc6821 can control the
fan PWM stand-alone, this change has nothing to do with the generic pwm
framework, this is required to have the PWM out pin correctly driven by
the fan controller chip.

> Module params over DT is fine with me, I just want consistency here, so if
> it's always the case, fine :)

Ok, I'll implement it this way.

Francesco


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ