On Thu, Jul 31, 2008 at 12:54:02PM -0500, Timur Tabi wrote: > Grant Likely wrote: > > > static const struct of_device_id mpc_i2c_of_match[] = { > > {.compatible = "fsl,mpc5200b-i2c", .data = fsl_i2c_mpc5200b_set_freq, }, > > {.compatible = "fsl,mpc5200-i2c", .data = fsl_i2c_mpc5200_set_freq, }, > > {.compatible = "fsl,mpc8260-i2c", .data = fsl_i2c_mpc8xxx_set_freq, }, > > {.compatible = "fsl,mpc8349-i2c", .data = fsl_i2c_mpc8xxx_set_freq, }, > > {.compatible = "fsl,mpc8540-i2c", .data = fsl_i2c_mpc8xxx_set_freq, }, > > {.compatible = "fsl,mpc8543-i2c", .data = > > fsl_i2c_mpc8xxx_div2_set_freq, }, > > {.compatible = "fsl,mpc8544-i2c", .data = > > fsl_i2c_mpc8xxx_div3_set_freq, }, > > So we need to update this table every time there's a new SOC? All 83xx, 85xx, > and 86xx SOCs use the same table. I'd prefer an implementation that does > need a > specific entry for each variant of 8[356]xx.
This is a solved problem. The device tree simple claims compatibility with an older part that has the identical register-level interface. For example; an mpc8540 based board would claim: compatible = "fsl,mpc8540-i2c" MPC8541/60/55,MPC8610 would all then claim: compatible = "fsl,<exact-soc>-i2c", "fsl,mpc8540-i2c" Cheers, g. _______________________________________________ i2c mailing list i2c@lm-sensors.org http://lists.lm-sensors.org/mailman/listinfo/i2c