Hi,

On Wed, Sep 24, 2014 at 10:44:23PM +0200, Robert Jarzmik wrote:
> > On Wed, Sep 24, 2014 at 10:14:53PM +0200, Robert Jarzmik wrote:
> > if you reply like this again I'll start ignoring your patches. Settle
> > down, I'm trying to help you get your patches merged.
> >
> > With that said:
> >
> > patch 1 should *ONLY* convert gpio_* to gpiod_*. That turns the patch
> > into a clear cleanup where people don't need to spend too much time
> > reviewing details.
> >
> >> >>   - convert the mach info, and store the udc_command in the pxa_udc
> >> >>     control structure
> >
> > this is patch 2.
> So be it, I'll send it right after this mail.
> 
> >
> >> >>   - loose the udc_is_connected() in mach info
> >> >>     This was not really used, as mioa701 machine doesn't need it,
> >> >>     balloon3 doesn't really use it, and most importantly the current
> >> >>     driver never uses it.
> >
> > and this is patch 3.
> This is no patch, there is not a single line in the patch for that. This is 
> just
> a statement, I can remove it if you want.

nah, that's fine then.

> >
> >> >> The drawback with the gpio_desc conversion is that the "inverted" gpio
> >> >> attribute is lost, as no gpiod_*() function exists to set the
> >> >
> >> > it's not lost, it's handled for you by the gpio library. Look at how
> >> > GPIO_ACTIVE_LOW is used.
> >> It is so, the above assertion "no gpiod_*() function exists" is
> >> false. Therefore, which is the right function in the gpio library 
> >> accessible to
> >> a driver ?
> >
> > look at the implementation of gpiod_set_value:
> >
> > 1271 void gpiod_set_value(struct gpio_desc *desc, int value)
> > 1272 {
> > 1273         if (!desc)
> > 1274                 return;
> > 1275         /* Should be using gpio_set_value_cansleep() */
> > 1276         WARN_ON(desc->chip->can_sleep);
> > 1277         if (test_bit(FLAG_ACTIVE_LOW, &desc->flags))
> > 1278                 value = !value;
> > 1279         _gpiod_set_raw_value(desc, value);
> > 1280 }
> > 1281 EXPORT_SYMBOL_GPL(gpiod_set_value);
> >
> > do you see how it handles our "inverted" flag internally. It seems like
> > what you're missing is a helper to set FLAG_ACTIVE_LOW when !OF &&
> > !ACPI. If that's really not part of the framework yet, propose a patch
> > as that would help many others convert to gpio descs and, later, DT.
> 
> You still don't get my point I'm afraid, sic... It's not about "using" the 
> flag,
> it's about "setting" the flag from the driver. Or said differently the 
> assertion
> is "there is not gpiod_*() function which toggles the FLAG_ACTIVE_LOW bit id
> gpio_desc->flags".
> 
> I'll wait for Linus on that topic.

might be better, if I'm wrong, I'm wrong; but I'd expect gpiod_* to also
support legacy board-file-based booting so people can convert to DT in
smaller steps.

-- 
balbi

Attachment: signature.asc
Description: Digital signature

Reply via email to