Thread (1 message) 1 message, 1 author, 2010-02-16

Re: [PATCH v7 1/4] i2c-mpc: use __devinit[data] for initialization functions and data

From: Wolfgang Grandegger <hidden>
Date: 2010-02-16 20:49:46
Also in: linux-devicetree, linux-i2c

Grant Likely wrote:
On Wed, Feb 10, 2010 at 7:55 AM, Wolfgang Grandegger [off-list ref] wrote:
quoted
From: Wolfgang Grandegger <redacted>

"__devinit[data]" has not yet been used for all initialization functions
and data. To avoid truncating lines, the struct "mpc_i2c_match_data" has
been renamed to "mpc_i2c_data", which is even the better name.

Signed-off-by: Wolfgang Grandegger <redacted>
Tested-by: Wolfram Sang <redacted>
Between patch 1 & 2 is not bisectable.  Functions still called
*_setclock in this patch, but referenced as *_setup in the structure.
Please respin.
Argh, sorry for the mess. I will fix it tomorrow.
Also ...
quoted
+static struct mpc_i2c_data mpc_i2c_data_52xx __devinitdata = {
+       .setup = mpc_i2c_setup_52xx,
+};
+
+static struct mpc_i2c_data mpc_i2c_data_8313 __devinitdata = {
+       .setup = mpc_i2c_setup_8xxx,
+};
+
+static struct mpc_i2c_data mpc_i2c_data_8543 __devinitdata = {
+       .setup = mpc_i2c_setup_8xxx,
+       .prescaler = 2,
+};
+
+static struct mpc_i2c_data mpc_i2c_data_8544 __devinitdata = {
+       .setup = mpc_i2c_setup_8xxx,
+       .prescaler = 3,
+};
+
 static const struct of_device_id mpc_i2c_of_match[] = {
-       {.compatible = "mpc5200-i2c",
-        .data = &(struct mpc_i2c_match_data) {
-                       .setclock = mpc_i2c_setclock_52xx,
-               },
-       },
-       {.compatible = "fsl,mpc5200b-i2c",
-        .data = &(struct mpc_i2c_match_data) {
-                       .setclock = mpc_i2c_setclock_52xx,
-               },
-       },
-       {.compatible = "fsl,mpc5200-i2c",
-        .data = &(struct mpc_i2c_match_data) {
-                       .setclock = mpc_i2c_setclock_52xx,
-               },
-       },
-       {.compatible = "fsl,mpc8313-i2c",
-        .data = &(struct mpc_i2c_match_data) {
-                       .setclock = mpc_i2c_setclock_8xxx,
-               },
-       },
-       {.compatible = "fsl,mpc8543-i2c",
-        .data = &(struct mpc_i2c_match_data) {
-                       .setclock = mpc_i2c_setclock_8xxx,
-                       .prescaler = 2,
-               },
-       },
-       {.compatible = "fsl,mpc8544-i2c",
-        .data = &(struct mpc_i2c_match_data) {
-                       .setclock = mpc_i2c_setclock_8xxx,
-                       .prescaler = 3,
-               },
+       {.compatible = "mpc5200-i2c", .data = &mpc_i2c_data_52xx, },
+       {.compatible = "fsl,mpc5200b-i2c", .data = &mpc_i2c_data_52xx, },
+       {.compatible = "fsl,mpc5200-i2c", .data = &mpc_i2c_data_52xx, },
+       {.compatible = "fsl,mpc8313-i2c", .data = &mpc_i2c_data_8313, },
+       {.compatible = "fsl,mpc8543-i2c", .data = &mpc_i2c_data_8543, },
+       {.compatible = "fsl,mpc8544-i2c", .data = &mpc_i2c_data_8544, },
... what was wrong with the old format of declaring the .data
structures inline with the match table?
It does not allow to use __devinitdata because the space reserved by the
compiler does belong to another section. In other words it was necessary
to get ride of section mismatches.

Wolfgang.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help