From: Anton Vorontsov <cbouatmailru@gmail.com>
To: Jamie Iles <jamie@jamieiles.com>
Cc: linux-kernel@vger.kernel.org, linux@arm.linux.org.uk,
tglx@linutronix.de, grant.likely@secretlab.ca, arnd@arndb.de,
nico@fluxnic.net
Subject: Re: [RFC PATCH 7/7] basic_mmio_gpio: support direction registers
Date: Wed, 6 Apr 2011 16:12:25 +0400 [thread overview]
Message-ID: <20110406121225.GA8865@oksana.dev.rtsoft.ru> (raw)
In-Reply-To: <1302088263-12714-8-git-send-email-jamie@jamieiles.com>
On Wed, Apr 06, 2011 at 12:11:03PM +0100, Jamie Iles wrote:
> Most controllers require the direction of a GPIO to be set by writing to
> a direction register. Add support for either an input direction
> register or an output direction register.
>
> Signed-off-by: Jamie Iles <jamie@jamieiles.com>
> Cc: Anton Vorontsov <cbouatmailru@gmail.com>
> Cc: Grant Likely <grant.likely@secretlab.ca>
[...]
> @@ -71,6 +71,8 @@ struct bgpio_chip {
> void __iomem *reg_set;
> void __iomem *reg_clr;
> void __iomem *reg_in;
> + void __iomem *reg_dirout;
> + void __iomem *reg_dirin;
>
I guess you don't need both reg_dirout and reg_dirin in the runtime.
How about just renaming it to "reg_dir" and just assinging it with
either dirout or dirin in bgpio_setup_direction()?
[...]
> + /* Shadowed direction registers to clear/set direction safely. */
> + unsigned long outputs, inputs;
Same as obove, maybe just a single 'dir' variable?
Plus, a minor nit: the coding style suggests:
unsigned long outputs;
unsigned long inputs;
[...]
> static int bgpio_dir_in(struct gpio_chip *gc, unsigned int gpio)
> {
> + struct bgpio_chip *bgc = to_bgpio_chip(gc);
> + unsigned long flags;
> +
> + spin_lock_irqsave(&bgc->lock, flags);
> + bgc->outputs &= ~bgc->pin2mask(bgc, gpio);
> + bgc->write_reg(bgc->reg_dirout, bgc->outputs);
> + spin_unlock_irqrestore(&bgc->lock, flags);
>
Because of the lock, the code in these routines is dense and hard to
read, so I would rather add empty lines near the locking calls, just
like in bgpio_set() (also makes it look consistent).
Otherwise,
Acked-by: Anton Vorontsov <cbouatmailru@gmail.com>
Thanks!
--
Anton Vorontsov
Email: cbouatmailru@gmail.com
next prev parent reply other threads:[~2011-04-06 12:12 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-06 11:10 [RFC PATCH 0/7] gpio: extend basic_mmio_gpio for different controllers Jamie Iles
2011-04-06 11:10 ` [RFC PATCH 1/7] basic_mmio_gpio: remove runtime width/endianness evaluation Jamie Iles
2011-04-06 12:12 ` Anton Vorontsov
2011-04-06 11:10 ` [RFC PATCH 2/7] basic_mmio_gpio: convert to platform_{get,set}_drvdata() Jamie Iles
2011-04-06 12:16 ` Anton Vorontsov
2011-04-06 11:10 ` [RFC PATCH 3/7] basic_mmio_gpio: allow overriding number of gpio Jamie Iles
2011-04-06 12:18 ` Anton Vorontsov
2011-04-06 11:11 ` [RFC PATCH 4/7] basic_mmio_gpio: request register regions Jamie Iles
2011-04-06 12:32 ` Anton Vorontsov
2011-04-06 11:11 ` [RFC PATCH 5/7] basic_mmio_gpio: detect output method at probe time Jamie Iles
2011-04-06 12:33 ` Anton Vorontsov
2011-04-06 11:11 ` [RFC PATCH 6/7] basic_mmio_gpio: support different input/output registers Jamie Iles
2011-04-06 12:16 ` Anton Vorontsov
2011-04-06 11:11 ` [RFC PATCH 7/7] basic_mmio_gpio: support direction registers Jamie Iles
2011-04-06 12:12 ` Anton Vorontsov [this message]
2011-04-08 0:14 ` Jamie Iles
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=20110406121225.GA8865@oksana.dev.rtsoft.ru \
--to=cbouatmailru@gmail.com \
--cc=arnd@arndb.de \
--cc=grant.likely@secretlab.ca \
--cc=jamie@jamieiles.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=nico@fluxnic.net \
--cc=tglx@linutronix.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.