Commit 9309b2ba authored by Uwe Kleine-König's avatar Uwe Kleine-König

arm/mx2: use cpp magic to create imx-i2c devices

This makes the source shorter and easier to verify.  While at it switch
to use the SoC-prefixed constants.
Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
parent 2b84a364
...@@ -213,44 +213,30 @@ struct platform_device mxc_fec_device = { ...@@ -213,44 +213,30 @@ struct platform_device mxc_fec_device = {
}; };
#endif #endif
static struct resource mxc_i2c_1_resources[] = { #define DEFINE_IMX_I2C_DEVICE(n, baseaddr, irq) \
{ static struct resource mxc_i2c_resources ## n[] = { \
.start = I2C_BASE_ADDR, { \
.end = I2C_BASE_ADDR + 0x0fff, .start = baseaddr, \
.flags = IORESOURCE_MEM, .end = baseaddr + SZ_4K - 1, \
}, { .flags = IORESOURCE_MEM, \
.start = MXC_INT_I2C, }, { \
.end = MXC_INT_I2C, .start = irq, \
.flags = IORESOURCE_IRQ, .end = irq, \
.flags = IORESOURCE_IRQ, \
} \
}; \
\
struct platform_device mxc_i2c_device ## n = { \
.name = "imx-i2c", \
.id = n, \
.num_resources = ARRAY_SIZE(mxc_i2c_resources ## n), \
.resource = mxc_i2c_resources ## n, \
} }
};
struct platform_device mxc_i2c_device0 = { DEFINE_IMX_I2C_DEVICE(0, MX2x_I2C_BASE_ADDR, MX2x_INT_I2C);
.name = "imx-i2c",
.id = 0,
.num_resources = ARRAY_SIZE(mxc_i2c_1_resources),
.resource = mxc_i2c_1_resources,
};
#ifdef CONFIG_MACH_MX27 #ifdef CONFIG_MACH_MX27
static struct resource mxc_i2c_2_resources[] = { DEFINE_IMX_I2C_DEVICE(1, MX27_I2C2_BASE_ADDR, MX27_INT_I2C2);
{
.start = I2C2_BASE_ADDR,
.end = I2C2_BASE_ADDR + 0x0fff,
.flags = IORESOURCE_MEM,
}, {
.start = MXC_INT_I2C2,
.end = MXC_INT_I2C2,
.flags = IORESOURCE_IRQ,
}
};
struct platform_device mxc_i2c_device1 = {
.name = "imx-i2c",
.id = 1,
.num_resources = ARRAY_SIZE(mxc_i2c_2_resources),
.resource = mxc_i2c_2_resources,
};
#endif #endif
static struct resource mxc_pwm_resources[] = { static struct resource mxc_pwm_resources[] = {
......
...@@ -18,7 +18,9 @@ extern struct platform_device mxc_fb_device; ...@@ -18,7 +18,9 @@ extern struct platform_device mxc_fb_device;
extern struct platform_device mxc_fec_device; extern struct platform_device mxc_fec_device;
extern struct platform_device mxc_pwm_device; extern struct platform_device mxc_pwm_device;
extern struct platform_device mxc_i2c_device0; extern struct platform_device mxc_i2c_device0;
#ifdef CONFIG_MACH_MX27
extern struct platform_device mxc_i2c_device1; extern struct platform_device mxc_i2c_device1;
#endif
extern struct platform_device mxc_sdhc_device0; extern struct platform_device mxc_sdhc_device0;
extern struct platform_device mxc_sdhc_device1; extern struct platform_device mxc_sdhc_device1;
extern struct platform_device mxc_otg_udc_device; extern struct platform_device mxc_otg_udc_device;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment