[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20110503215211.GA8491@oksana.dev.rtsoft.ru>
Date: Wed, 4 May 2011 01:52:11 +0400
From: Anton Vorontsov <cbouatmailru@...il.com>
To: Grant Likely <grant.likely@...retlab.ca>
Cc: Jamie Iles <jamie@...ieiles.com>, linux-kernel@...r.kernel.org,
linux@....linux.org.uk, tglx@...utronix.de, arnd@...db.de,
nico@...xnic.net
Subject: Re: [PATCHv3 0/7] gpio: extend basic_mmio_gpio for different
controllers
On Tue, May 03, 2011 at 03:13:20PM -0600, Grant Likely wrote:
> > struct gpio_mmio_generic {
> > spinlock_t lock;
> >
> > /* initialized by user */
> > unsigned long reg_data;
> > unsigned long reg_set;
> > unsigned long reg_clr;
> > unsigned long reg_dir;
> >
> > void __iomem *reg_base;
This assumes that all reg_* will be mapped with a single ioremap().
My solution (see below) doesn't have this issue.
> > void gpio_mmio_generic_setup(struct gpio_mmio_generic *gmg, int register_width);
> > int gpio_mmio_generic_add(struct gpio_mmio_generic *gmg);
> > void gpio_mmio_generic_remove(struct gpio_mmio_generic *gmg);
I'm not sure you need that complex API.
> > gpio_mmio_generic_setup() sets up the common callback ops in the
> > embedded gpio_chip, but the decisions it makes could be overridden by
> > the user before calling gpio_mmio_generic_add().
> >
> > I've not had time to prototype this yet, but I wanted to get it
> > written down and out onto the list for feedback since I probably won't
> > have any chance to get to it until after UDS. Bonus points to anyone
> > who wants to take the initiative to hack it together before I get to
> > it. Extra bonus points to anyone who also converts some of the other
> > gpio controllers to use it. :-D
>
> And triple bonus points to anyone who thinks this is stupid and comes
> up with a better approach. :-)
This isn't stupid. And I started working on this, so what about
http://lkml.org/lkml/2011/4/19/401 ? This is pretty much the same
that you propose.
Thanks.
--
Anton Vorontsov
Email: cbouatmailru@...il.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists