From: dromede@gmail.com (dromede at gmail.com)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] [ARM] spitz/pxa: Refactor i2c init code in spitz.c
Date: Tue, 11 Dec 2012 21:27:25 +0100 [thread overview]
Message-ID: <1355257645-27888-1-git-send-email-dromede@gmail.com> (raw)
From: Marko Katic <dromede.gmail.com>
This patch changes the way i2c devices are defined
and registered.
I2c devices that are present in all spitz
variants are always defined and registered while the max7310
gpio expander specific to the akita variant is defined
and registered only when building the kernel for akita variants.
spitz_i2c_init() is simplified and is now more readable.
Signed-off-by: Marko Katic <dromede@gmail.com>
---
arch/arm/mach-pxa/spitz.c | 38 ++++++++++++++++++--------------------
1 file changed, 18 insertions(+), 20 deletions(-)
diff --git a/arch/arm/mach-pxa/spitz.c b/arch/arm/mach-pxa/spitz.c
index 0cc9dc7..1c7dc2b 100644
--- a/arch/arm/mach-pxa/spitz.c
+++ b/arch/arm/mach-pxa/spitz.c
@@ -865,17 +865,6 @@ static struct pca953x_platform_data akita_pca953x_pdata = {
.gpio_base = AKITA_IOEXP_GPIO_BASE,
};
-static struct i2c_board_info spitz_i2c_devs[] = {
- {
- .type = "wm8750",
- .addr = 0x1b,
- }, {
- .type = "max7310",
- .addr = 0x18,
- .platform_data = &akita_pca953x_pdata,
- },
-};
-
static struct regulator_consumer_supply isl6271a_consumers[] = {
REGULATOR_SUPPLY("vcc_core", NULL),
};
@@ -894,26 +883,35 @@ static struct regulator_init_data isl6271a_info[] = {
}
};
-static struct i2c_board_info spitz_pi2c_devs[] = {
+static struct i2c_board_info spitz_i2c_devs[2] = {
{
+ .type = "wm8750",
+ .addr = 0x1b,
+ }, {
.type = "isl6271a",
.addr = 0x0c,
.platform_data = &isl6271a_info,
},
};
+#ifdef CONFIG_MACH_AKITA
+static struct i2c_board_info akita_i2c_max7310 = {
+ .type = "max7310",
+ .addr = 0x18,
+ .platform_data = &akita_pca953x_pdata,
+};
+#endif
+
static void __init spitz_i2c_init(void)
{
- int size = ARRAY_SIZE(spitz_i2c_devs);
-
- /* Only Akita has the max7310 chip */
- if (!machine_is_akita())
- size--;
-
pxa_set_i2c_info(NULL);
pxa27x_set_i2c_power_info(NULL);
- i2c_register_board_info(0, spitz_i2c_devs, size);
- i2c_register_board_info(1, ARRAY_AND_SIZE(spitz_pi2c_devs));
+
+ i2c_register_board_info(0, &spitz_i2c_devs[0], 1);
+ i2c_register_board_info(1, &spitz_i2c_devs[1], 1);
+
+ if (machine_is_akita())
+ i2c_register_board_info(0, &akita_i2c_max7310, 1);
}
#else
static inline void spitz_i2c_init(void) {}
--
1.7.10.4
next reply other threads:[~2012-12-11 20:27 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-12-11 20:27 dromede at gmail.com [this message]
2013-01-23 9:00 ` [PATCH] [ARM] spitz/pxa: Refactor i2c init code in spitz.c Haojian Zhuang
2013-01-23 11:28 ` Marko Katić
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=1355257645-27888-1-git-send-email-dromede@gmail.com \
--to=dromede@gmail.com \
--cc=linux-arm-kernel@lists.infradead.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).