Messages in this thread | | | Date | Mon, 7 Apr 2014 13:36:53 +0200 | From | Thierry Reding <> | 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 [unhandled content-type:application/pgp-signature] | |