Grant Likely wrote: > On Wed, Feb 10, 2010 at 7:55 AM, Wolfgang Grandegger <wg@xxxxxxxxxxxxxx> wrote: >> From: Wolfgang Grandegger <wg@xxxxxxx> >> >> "__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 <wg@xxxxxxx> >> Tested-by: Wolfram Sang <w.sang@xxxxxxxxxxxxxx> > > 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 ... > >> +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. -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html