All of lore.kernel.org
 help / color / mirror / Atom feed
From: Heiko Schocher <heiko.schocher@invitel.hu>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 0/2] arm nomadik: gpio and i2c
Date: Mon, 20 Jul 2009 09:55:40 +0200	[thread overview]
Message-ID: <4A6422FC.6030508@invitel.hu> (raw)
In-Reply-To: <20090719171353.5A910832E416@gemini.denx.de>

Hello Wolfgang,

Wolfgang Denk wrote:
> Dear Alessandro Rubini,
> 
> In message <cover.1247999841.git.rubini@unipv.it> you wrote:
>> To use soft_i2c I need to define some macros in the config file.
>> Instead of writing hard numbers there I called the gpio functions, but
>> the config file is inluded from asm sources as well.  I don't think my
>> approach is beautiful at all (both #ifndef __ASSEMBLY__ and #include
>> "../board/"), but I didn't find a better solution.
> 
> Agreed. It's a bit intricate to get this done, but I don't see a
> better way either.

Hmm.. maybe my previous patch is a better solution?

>> I would like to add a gpio command, and I've found no generic gpio
>> stuff.  Only one board (cm-bf527) has a gpio commands, but quite a few
>> have similar commands to set leds or other bits.  Is time ripe for a
>> generic gpio driver with board-specific limits and operations? Would
>> that be interesting for u-boot-next?  Should I process with a board-specific
>> gpio command by now?
> 
> Well, my opinion on that is a clear "yes, but..." :-)
> 
> Yes, some generic gpio framework would be nice - for example,  if  it
> would allow us to get rid of the 14 largely similar "led.c" files, to
> name just one.
> 
> On the other hand, the design of such a framework should be lean  and
> not  necessarily  try  to  cover 100% of all possible use cases - I'd
> rather have a small and beautiful solution that  covers  90%  of  the
> cases  and use board-specific exceptions where really needed, instead
> of a fat thing that solves each and every problem but costs 50 kB.

Agreed. So we need an gpio_core.c / .h which defines the following
functions (just a proposal):

typedef struct gpio_adapter {
	int	(*init_pin)(int pin);
	int	(*set)(int pin, value);
	int	(*get)(int pin);
	int	(*dir)(int pin, int direction);	
	int	(*level)(int pin, int level);
}

int gpio_init(gpio_adapter *adap);
int gpio_init_pin(pin);
	? maybe with setting a marker, that this pin is initialized,
	  so this can be checked in the above functions ... ?
int gpio_set(pin, value);
int gpio_get(pin);
int gpio_dir(pin, dir);
int gpio_level(pin, dir);

bye
Heiko

  reply	other threads:[~2009-07-20  7:55 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-07-19 11:01 [U-Boot] [PATCH 0/2] arm nomadik: gpio and i2c Alessandro Rubini
2009-07-19 17:13 ` Wolfgang Denk
2009-07-20  7:55   ` Heiko Schocher [this message]
2009-07-20  8:09     ` Alessandro Rubini
2009-07-20  9:23       ` Heiko Schocher
2009-07-20  9:31         ` Alessandro Rubini
2009-07-20  9:48           ` Heiko Schocher
2009-07-20 15:14         ` Wolfgang Denk
2009-07-21  6:31           ` Heiko Schocher
2009-07-20 15:12     ` Wolfgang Denk
2009-07-21  6:11       ` Heiko Schocher
2009-07-21  7:19         ` Wolfgang Denk
2009-07-20  7:40 ` Heiko Schocher
2009-07-28  7:16   ` Daniel Gorsulowski
2009-07-28  9:39     ` Jean-Christophe PLAGNIOL-VILLARD
2009-07-28 10:25     ` Heiko Schocher
2009-07-28 10:55       ` Wolfgang Denk
2009-07-28 13:02         ` Heiko Schocher
2009-07-28 13:22           ` Wolfgang Denk
2009-07-28 13:49             ` Heiko Schocher

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4A6422FC.6030508@invitel.hu \
    --to=heiko.schocher@invitel.hu \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.