Re: [PATCH v7 1/4] i2c-mpc: use __devinit[data] for initialization functions and data
From: Grant Likely <hidden>
Date: 2010-02-16 18:40:35
Also in:
linux-devicetree, linux-i2c
On Wed, Feb 10, 2010 at 7:55 AM, Wolfgang Grandegger [off-list ref] wr= ote:
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. Also ...
+static struct mpc_i2c_data mpc_i2c_data_52xx __devinitdata =3D {
+ =A0 =A0 =A0 .setup =3D mpc_i2c_setup_52xx,
+};
+
+static struct mpc_i2c_data mpc_i2c_data_8313 __devinitdata =3D {
+ =A0 =A0 =A0 .setup =3D mpc_i2c_setup_8xxx,
+};
+
+static struct mpc_i2c_data mpc_i2c_data_8543 __devinitdata =3D {
+ =A0 =A0 =A0 .setup =3D mpc_i2c_setup_8xxx,
+ =A0 =A0 =A0 .prescaler =3D 2,
+};
+
+static struct mpc_i2c_data mpc_i2c_data_8544 __devinitdata =3D {
+ =A0 =A0 =A0 .setup =3D mpc_i2c_setup_8xxx,
+ =A0 =A0 =A0 .prescaler =3D 3,
+};
+
=A0static const struct of_device_id mpc_i2c_of_match[] =3D {
- =A0 =A0 =A0 {.compatible =3D "mpc5200-i2c",
- =A0 =A0 =A0 =A0.data =3D &(struct mpc_i2c_match_data) {
- =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 .setclock =3D mpc_i2c_setcl=ock_52xx,
- =A0 =A0 =A0 =A0 =A0 =A0 =A0 },
- =A0 =A0 =A0 },
- =A0 =A0 =A0 {.compatible =3D "fsl,mpc5200b-i2c",
- =A0 =A0 =A0 =A0.data =3D &(struct mpc_i2c_match_data) {
- =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 .setclock =3D mpc_i2c_setcl=ock_52xx,
- =A0 =A0 =A0 =A0 =A0 =A0 =A0 },
- =A0 =A0 =A0 },
- =A0 =A0 =A0 {.compatible =3D "fsl,mpc5200-i2c",
- =A0 =A0 =A0 =A0.data =3D &(struct mpc_i2c_match_data) {
- =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 .setclock =3D mpc_i2c_setcl=ock_52xx,
- =A0 =A0 =A0 =A0 =A0 =A0 =A0 },
- =A0 =A0 =A0 },
- =A0 =A0 =A0 {.compatible =3D "fsl,mpc8313-i2c",
- =A0 =A0 =A0 =A0.data =3D &(struct mpc_i2c_match_data) {
- =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 .setclock =3D mpc_i2c_setcl=ock_8xxx,
- =A0 =A0 =A0 =A0 =A0 =A0 =A0 },
- =A0 =A0 =A0 },
- =A0 =A0 =A0 {.compatible =3D "fsl,mpc8543-i2c",
- =A0 =A0 =A0 =A0.data =3D &(struct mpc_i2c_match_data) {
- =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 .setclock =3D mpc_i2c_setcl=ock_8xxx,
- =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 .prescaler =3D 2,
- =A0 =A0 =A0 =A0 =A0 =A0 =A0 },
- =A0 =A0 =A0 },
- =A0 =A0 =A0 {.compatible =3D "fsl,mpc8544-i2c",
- =A0 =A0 =A0 =A0.data =3D &(struct mpc_i2c_match_data) {
- =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 .setclock =3D mpc_i2c_setcl=ock_8xxx,
- =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 .prescaler =3D 3,
- =A0 =A0 =A0 =A0 =A0 =A0 =A0 },
+ =A0 =A0 =A0 {.compatible =3D "mpc5200-i2c", .data =3D &mpc_i2c_data_52x=x, },
+ =A0 =A0 =A0 {.compatible =3D "fsl,mpc5200b-i2c", .data =3D &mpc_i2c_dat=a_52xx, },
+ =A0 =A0 =A0 {.compatible =3D "fsl,mpc5200-i2c", .data =3D &mpc_i2c_data=_52xx, },
+ =A0 =A0 =A0 {.compatible =3D "fsl,mpc8313-i2c", .data =3D &mpc_i2c_data=_8313, },
+ =A0 =A0 =A0 {.compatible =3D "fsl,mpc8543-i2c", .data =3D &mpc_i2c_data=_8543, },
+ =A0 =A0 =A0 {.compatible =3D "fsl,mpc8544-i2c", .data =3D &mpc_i2c_data=_8544, }, ... what was wrong with the old format of declaring the .data structures inline with the match table? g.