On Wed, Sep 17, 2014 at 05:00:18PM +0200, Raphaël Poggi wrote: > Signed-off-by: Raphaël Poggi <poggi.raph@xxxxxxxxx> > --- > drivers/i2c/busses/i2c-at91.c | 91 ++++++++++++++++++++++++++++++++++--------- > 1 file changed, 73 insertions(+), 18 deletions(-) > > diff --git a/drivers/i2c/busses/i2c-at91.c b/drivers/i2c/busses/i2c-at91.c > index 399f6a9..6494401 100644 > --- a/drivers/i2c/busses/i2c-at91.c > +++ b/drivers/i2c/busses/i2c-at91.c > @@ -186,8 +186,8 @@ static int at91_twi_wait_completion(struct at91_twi_dev *dev) > > dev->transfer_status |= status; > > - while(!(at91_twi_read(dev, AT91_TWI_SR) & AT91_TWI_TXCOMP)) { > - if(is_timeout(start, AT91_I2C_TIMEOUT)) { > + while (!(at91_twi_read(dev, AT91_TWI_SR) & AT91_TWI_TXCOMP)) { > + if (is_timeout(start, AT91_I2C_TIMEOUT)) { Normally this change should be in a separate patch. > }, { > + .name = "at91sam9x5-i2c", > + .driver_data = (unsigned long) &at91sam9x5_config, > + }, { ditto for adding support for a new SoC. Ok for this time since this driver currently has no users. > +static struct at91_twi_pdata *at91_twi_get_driver_data(struct device_d *dev) > +{ > + struct at91_twi_pdata *i2c_data = NULL; > + int rc; > + > + if (dev->device_node) { > + const struct of_device_id *match; > + match = of_match_node(at91_twi_dt_ids, dev->device_node); > + if (!match) > + i2c_data = NULL; > + else > + i2c_data = (struct at91_twi_pdata *)match->data; > + } else { > + rc = dev_get_drvdata(dev, (unsigned long *)&i2c_data); > + if (rc) > + i2c_data = NULL; > + } Just call dev_get_drvdata(). It will do the right thing, even for the device tree case. Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox