From: Christophe Leroy <christophe.leroy@c-s.fr>
To: Grant Likely <grant.likely@secretlab.ca>,
Linus Walleij <linus.walleij@linaro.org>
Cc: linux-kernel@vger.kernel.org, Patrick Vasseur <patrick.vasseur@c-s.fr>
Subject: [PATCH v2] Adds support for Open Firmware in MAX730x GPIO Driver
Date: Tue, 5 Mar 2013 16:26:50 +0100 [thread overview]
Message-ID: <201303051526.r25FQoCv002950@localhost.localdomain> (raw)
This patch allows the use of the MAX730x Driver on systems using
the Open Firmware platform format.
The bit_per_word can be set in the OF Device tree, so no need to force it as with
the platform_data.
Signed-off-by: Patrick Vasseur <patrick.vasseur@c-s.fr>
Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
diff -ur linux-3.7.9/drivers/gpio/gpio-max7301.c linux/drivers/gpio/gpio-max7301.c
--- linux-3.7.9/drivers/gpio/gpio-max7301.c 2013-02-17 19:53:32.000000000 +0100
+++ linux/drivers/gpio/gpio-max7301.c 2013-02-17 12:57:40.000000000 +0100
@@ -56,7 +56,8 @@
int ret;
/* bits_per_word cannot be configured in platform data */
- spi->bits_per_word = 16;
+ if (spi->dev.platform_data)
+ spi->bits_per_word = 16;
ret = spi_setup(spi);
if (ret < 0)
return ret;
diff -ur linux-3.7.9/drivers/gpio/gpio-max730x.c linux/drivers/gpio/gpio-max730x.c
--- linux-3.7.9/drivers/gpio/gpio-max730x.c 2013-02-17 19:53:32.000000000 +0100
+++ linux/drivers/gpio/gpio-max730x.c 2013-02-22 10:15:46.000000000 +0100
@@ -163,12 +163,13 @@
int __devinit __max730x_probe(struct max7301 *ts)
{
struct device *dev = ts->dev;
+ struct device_node *np = dev->of_node;
struct max7301_platform_data *pdata;
int i, ret;
pdata = dev->platform_data;
- if (!pdata || !pdata->base) {
- dev_err(dev, "incorrect or missing platform data\n");
+ if ((!pdata || !pdata->base) && !np) {
+ dev_err(dev, "No platform data nor Device Tree found\n");
return -EINVAL;
}
@@ -178,7 +179,6 @@
/* Power up the chip and disable IRQ output */
ts->write(dev, 0x04, 0x01);
- ts->input_pullup_active = pdata->input_pullup_active;
ts->chip.label = dev->driver->name;
ts->chip.direction_input = max7301_direction_input;
@@ -186,7 +186,12 @@
ts->chip.direction_output = max7301_direction_output;
ts->chip.set = max7301_set;
- ts->chip.base = pdata->base;
+ if (pdata) {
+ ts->input_pullup_active = pdata->input_pullup_active;
+ ts->chip.base = pdata->base;
+ } else {
+ ts->chip.base = -1;
+ }
ts->chip.ngpio = PIN_NUMBER;
ts->chip.can_sleep = 1;
ts->chip.dev = dev;
next reply other threads:[~2013-03-05 17:40 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-05 15:26 Christophe Leroy [this message]
2013-03-22 8:38 ` Linus Walleij
2013-03-22 12:12 ` christophe leroy
2013-03-22 12:14 ` christophe leroy
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=201303051526.r25FQoCv002950@localhost.localdomain \
--to=christophe.leroy@c-s.fr \
--cc=grant.likely@secretlab.ca \
--cc=linus.walleij@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=patrick.vasseur@c-s.fr \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®