All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Juha Yrjölä" <juha.yrjola@solidboot.com>
To: Jani Nikula <ext-jani.1.nikula@nokia.com>
Cc: linux-omap@vger.kernel.org
Subject: Re: [PATCH] ARM: OMAP: Add support for dynamic GPIO switch update
Date: Mon, 15 Dec 2008 17:29:20 +0200	[thread overview]
Message-ID: <20081215152920.GA11007@mail.solidboot.com> (raw)
In-Reply-To: <1229352752.5895.325.camel@jani-desktop>

On Mon, Dec 15, 2008 at 04:52:32PM +0200, Jani Nikula wrote:

> > Why do they need to be changed? GPIO switches related to the board schematics,
> > which do not hopefully change dynamically.
> 
> The switches themselves don't change (nor does this patch support
> changing them), but different kinds of external devices may be connected
> to the GPIO swiches. It would be useful to be able to change the
> notification callbacks and debounce timeouts according to the device.

Could you give an example use-case? If the gpio-switch framework starts
getting extended and used more, it might be sensible to convert it to
the general GPIO API, as Trilok suggested.

> Umm, I suppose I was more worried that the write might not be an atomic
> operation, messing up the read as well. But I'll take your word for it
> if you say the write is okay. :)

Integer reads/writes are atomic, unless the system has some serious cache
coherency issues. And in that case, spinlocks won't save you either -- only
the HW engineers can. =)

> > What if omap_update_gpio_switch() is called just before the check for
> > notify != NULL from another (hypothetical =)) CPU? Then you end up with the
> > function completing, but still having the old notify callback called with
> > old notify_data.
>
> I was, of course, making sure a NULL pointer is not called and there's
> no mismatch between old/new notify/notify_data. Your scenario might
> theoretically actually occur on a single processor system as well, don't
> you think? 

Ah, yes. I was under the impression that gpio_sw_handler() was called from
IRQ context, but since it's a work handler, the function certainly can be
preempted.

> But is it actually a problem or not? And if yes, do you have any
> suggestions as to handling the case? If there's no need to lock for
> reading the debounce timeouts in gpio_sw_irq_handler() as you say above,
> do you think I could switch to a mutex and call notify callback holding
> that?

Especially in the case of frameworks, it's good to make things as correct
as possible. A mutex is safe.

Cheers,
Juha

  reply	other threads:[~2008-12-15 15:29 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-15 12:08 [PATCH] ARM: OMAP: Add support for dynamic GPIO switch update Jani Nikula
2008-12-15 12:14 ` Trilok Soni
2008-12-15 13:31   ` Felipe Balbi
2008-12-15 13:22 ` Felipe Balbi
2008-12-15 13:44   ` Jani Nikula
2008-12-15 13:56     ` Felipe Balbi
2008-12-15 13:40 ` Juha Yrjölä
2008-12-15 14:52   ` Jani Nikula
2008-12-15 15:29     ` Juha Yrjölä [this message]
2008-12-15 15:58       ` Jani Nikula
2008-12-16  6:05         ` Trilok Soni
2008-12-18 11:42           ` GPIO switch framework (was: Re: [PATCH] ARM: OMAP: Add support for dynamic GPIO switch update) Jani Nikula
2008-12-18 13:00             ` Trilok Soni
2008-12-18 13:40               ` Jani Nikula
2008-12-19  8:47                 ` Trilok Soni
2008-12-19  8:51                   ` Brian Swetland
2008-12-21 20:26             ` David Brownell

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=20081215152920.GA11007@mail.solidboot.com \
    --to=juha.yrjola@solidboot.com \
    --cc=ext-jani.1.nikula@nokia.com \
    --cc=linux-omap@vger.kernel.org \
    /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.