[U-Boot] [RFC] gpio command: return value on write, additional actions

Wolfgang Denk wd at denx.de
Wed Jul 6 12:36:00 CEST 2011


Dear Detlev Zundel,

In message <m2aacrlsen.fsf at ohwell.denx.de> you wrote:
> 
> > I'd say clear/set/toggle are changeable, don't see any legit
> > return-value-usage here. For 100% backward compatibility, one could
> > leave them as they are and use 0|1 as new actions with return 0, as
> > proposed.

Hm... I think it would be beneficial to bee able to get information
about the current settings. For "clear" and "set" the result is known,
but for "toggle" it would be helpful if we returned the current port
state.  Eventually we should add a "test" command (or "read" ?) that
returns the current setting?

> > So these variants:
> >   gpio clear|0 => set to output, write 0, return success
> >   gpio set|1   => set to output, write 1, return success
> >   gpio toggle  => (set to output), toggle output, return success
> >   gpio input   => set to input, return pin value
> >   gpio value   => return current pin/latch/whatever value
> 
> I'd propose to fix the commands to be sensible now.  Actually I believe
> that they should not be in heavy use "in the wild" and so we should take
> the opportunity and declare the current behaviour as buggy and fix it.
> Rather now than later ;)

Agreed.

> Actually I would expect the "output" commands to return true when they
> were able to do what was requestes from them, i.e. drive the requested
> value to the output.  I guess this cannot be done in the general case,
> but for a "weak output" that can be read back, this would be the most
> sensible thing to do.

For consistency I would prefer to have all commands return the same
type of information, i. e. either an error status (like we do with all
other commands - any result values would then have to be passed as
environment settings), or we return the current port state (also for
the "output" commands -  see my comments for "toggle").

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Hokey religions and ancient weapons are  no  substitute  for  a  good
blaster at your side.                                      - Han Solo


More information about the U-Boot mailing list