[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20140407113652.GE26985@ulmo>
Date: Mon, 7 Apr 2014 13:36:53 +0200
From: Thierry Reding <thierry.reding@...il.com>
To: Sascha Hauer <s.hauer@...gutronix.de>
Cc: Lothar Waßmann <LW@...O-electronics.de>,
linux-kernel@...r.kernel.org, linux-pwm@...r.kernel.org,
Shawn Guo <shawn.guo@...aro.org>,
Sascha Hauer <kernel@...gutronix.de>,
Arnd Bergmann <arnd@...db.de>
Subject: Re: [PATCHv3 1/3] pwm: make the PWM_POLARITY flag in DTB optional
On Wed, Apr 02, 2014 at 07:53:50AM +0200, Sascha Hauer wrote:
> On Fri, Mar 28, 2014 at 09:48:58AM +0100, Lothar Waßmann wrote:
[...]
> > @@ -183,8 +173,11 @@ static void of_pwmchip_add(struct pwm_chip *chip)
> > return;
> >
> > if (!chip->of_xlate) {
> > - chip->of_xlate = of_pwm_simple_xlate;
> > - chip->of_pwm_n_cells = 2;
> > + chip->of_xlate = of_pwm_xlate;
> > + if (chip->ops->set_polarity)
> > + chip->of_pwm_n_cells = 3;
> > + else
> > + chip->of_pwm_n_cells = 2;
>
> I think the presence of the set_polarity callback shouldn't influence
> the number of cells the parser expects. As commented on 2/2 this doesn't
> actually mean the device actually support polarity inversion.
How so? A driver should only implement .set_polarity() if it supports
changing the polarity.
That said, I agree that the presence of .set_polarity() shouldn't
determine the number of cells. You could have any number of other flags
set via the third cell.
> Also, polarity inversion could still be done in software for hardware
> that doesn't support it.
No. You cannot emulate polarity inversion in software.
Thierry
Content of type "application/pgp-signature" skipped
Powered by blists - more mailing lists