> >> - > >> - mpc_i2c_setclock(i2c); > >> + > >> + if (set_clock) > >> + mpc_i2c_setclock(i2c); > > > > Can't we drop 'set_clock' with something like this here? > > > > + if (!of_get_property(op->node, "fsl,preserve-clocking", NULL)) { > > + > > + if (of_get_property(op->node, "dfsrr", NULL)) > > + i2c->flags |= FSL_I2C_DEV_SEPARATE_DFSRR; > > + > > + if (of_device_is_compatible(op->node, "fsl,mpc5200-i2c") || > > + of_device_is_compatible(op->node, "mpc5200-i2c")) > > + i2c->flags |= FSL_I2C_DEV_CLOCK_5200; > > + > > + mpc_i2c_setclock(i2c); > > + } > > No, because the I2C registers are not yet mapped. Sorry, I used misleading words :) With 'here' I meant 'at this position', i.e. insert my above block where mpc_i2c_setclock was used anyway. -- Pengutronix e.K. | Wolfram Sang | Industrial Linux Solutions | http://www.pengutronix.de/ |