From: Ionut Nicu <ioan.nicu.ext-OYasijW0DpE@public.gmane.org>
To: Peter Korsgaard
<peter.korsgaard-ob4gmnvZ1/cAvxtiuMwx3w@public.gmane.org>
Cc: Wolfram Sang <wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org>,
Alexander Sverdlin
<alexander.sverdlin-OYasijW0DpE@public.gmane.org>,
linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: [PATCH 1/2] i2c-mux-gpio: test if the gpio can sleep
Date: Thu, 10 Oct 2013 10:39:32 +0200 [thread overview]
Message-ID: <525667C4.3080309@nsn.com> (raw)
Some gpio chips may have get/set operations that
can sleep. For this type of chips we must use the
_cansleep() version of gpio_set_value.
Signed-off-by: Ionut Nicu <ioan.nicu.ext-OYasijW0DpE@public.gmane.org>
---
drivers/i2c/muxes/i2c-mux-gpio.c | 11 ++++++++---
1 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/drivers/i2c/muxes/i2c-mux-gpio.c b/drivers/i2c/muxes/i2c-mux-gpio.c
index a764da7..b5f17ef 100644
--- a/drivers/i2c/muxes/i2c-mux-gpio.c
+++ b/drivers/i2c/muxes/i2c-mux-gpio.c
@@ -27,11 +27,16 @@ struct gpiomux {
static void i2c_mux_gpio_set(const struct gpiomux *mux, unsigned val)
{
+ unsigned gpio;
int i;
- for (i = 0; i < mux->data.n_gpios; i++)
- gpio_set_value(mux->gpio_base + mux->data.gpios[i],
- val & (1 << i));
+ for (i = 0; i < mux->data.n_gpios; i++) {
+ gpio = mux->gpio_base + mux->data.gpios[i];
+ if (gpio_cansleep(gpio))
+ gpio_set_value_cansleep(gpio, val & (1 << i));
+ else
+ gpio_set_value(gpio, val & (1 << i));
+ }
}
static int i2c_mux_gpio_select(struct i2c_adapter *adap, void *data, u32 chan)
--
1.7.1
WARNING: multiple messages have this Message-ID (diff)
From: Ionut Nicu <ioan.nicu.ext@nsn.com>
To: Peter Korsgaard <peter.korsgaard@barco.com>
Cc: Wolfram Sang <wsa@the-dreams.de>,
Alexander Sverdlin <alexander.sverdlin@nsn.com>,
linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH 1/2] i2c-mux-gpio: test if the gpio can sleep
Date: Thu, 10 Oct 2013 10:39:32 +0200 [thread overview]
Message-ID: <525667C4.3080309@nsn.com> (raw)
Some gpio chips may have get/set operations that
can sleep. For this type of chips we must use the
_cansleep() version of gpio_set_value.
Signed-off-by: Ionut Nicu <ioan.nicu.ext@nsn.com>
---
drivers/i2c/muxes/i2c-mux-gpio.c | 11 ++++++++---
1 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/drivers/i2c/muxes/i2c-mux-gpio.c b/drivers/i2c/muxes/i2c-mux-gpio.c
index a764da7..b5f17ef 100644
--- a/drivers/i2c/muxes/i2c-mux-gpio.c
+++ b/drivers/i2c/muxes/i2c-mux-gpio.c
@@ -27,11 +27,16 @@ struct gpiomux {
static void i2c_mux_gpio_set(const struct gpiomux *mux, unsigned val)
{
+ unsigned gpio;
int i;
- for (i = 0; i < mux->data.n_gpios; i++)
- gpio_set_value(mux->gpio_base + mux->data.gpios[i],
- val & (1 << i));
+ for (i = 0; i < mux->data.n_gpios; i++) {
+ gpio = mux->gpio_base + mux->data.gpios[i];
+ if (gpio_cansleep(gpio))
+ gpio_set_value_cansleep(gpio, val & (1 << i));
+ else
+ gpio_set_value(gpio, val & (1 << i));
+ }
}
static int i2c_mux_gpio_select(struct i2c_adapter *adap, void *data, u32 chan)
--
1.7.1
next reply other threads:[~2013-10-10 8:39 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-10 8:39 Ionut Nicu [this message]
2013-10-10 8:39 ` [PATCH 1/2] i2c-mux-gpio: test if the gpio can sleep Ionut Nicu
[not found] ` <525667C4.3080309-OYasijW0DpE@public.gmane.org>
2013-10-10 8:46 ` Wolfram Sang
2013-10-10 8:46 ` Wolfram Sang
2013-10-10 8:46 ` Lars-Peter Clausen
[not found] ` <52566971.5020700-Qo5EllUWu/uELgA04lAiVw@public.gmane.org>
2013-10-10 8:57 ` Ionut Nicu
2013-10-10 8:57 ` Ionut Nicu
2013-10-10 19:43 ` Wolfram Sang
2013-10-10 19:51 ` Lars-Peter Clausen
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=525667C4.3080309@nsn.com \
--to=ioan.nicu.ext-oyasijw0dpe@public.gmane.org \
--cc=alexander.sverdlin-OYasijW0DpE@public.gmane.org \
--cc=linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=peter.korsgaard-ob4gmnvZ1/cAvxtiuMwx3w@public.gmane.org \
--cc=wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.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.