Hi, +Siva do you know why this was done in this way? I know I was playing with similar patch and using xfer function but can't remember why it was failing.
Thanks, Michal On 27.12.2016 23:46, Moritz Fischer wrote: > The generic probe code in dm works, so get rid of the leftover cruft. > > Signed-off-by: Moritz Fischer <moritz.fisc...@ettus.com> > Cc: Heiko Schocher <h...@denx.de> > Cc: Michal Simek <michal.si...@xilinx.com> > Cc: u-boot@lists.denx.de > --- > drivers/i2c/i2c-cdns.c | 21 --------------------- > 1 file changed, 21 deletions(-) > > diff --git a/drivers/i2c/i2c-cdns.c b/drivers/i2c/i2c-cdns.c > index 4a46dbf..cd5cce0 100644 > --- a/drivers/i2c/i2c-cdns.c > +++ b/drivers/i2c/i2c-cdns.c > @@ -226,26 +226,6 @@ static int cdns_i2c_set_bus_speed(struct udevice *dev, > unsigned int speed) > return 0; > } > > -/* Probe to see if a chip is present. */ > -static int cdns_i2c_probe_chip(struct udevice *bus, uint chip_addr, > - uint chip_flags) > -{ > - struct i2c_cdns_bus *i2c_bus = dev_get_priv(bus); > - struct cdns_i2c_regs *regs = i2c_bus->regs; > - > - /* Attempt to read a byte */ > - setbits_le32(®s->control, CDNS_I2C_CONTROL_CLR_FIFO | > - CDNS_I2C_CONTROL_RW); > - clrbits_le32(®s->control, CDNS_I2C_CONTROL_HOLD); > - writel(0xFF, ®s->interrupt_status); > - writel(chip_addr, ®s->address); > - writel(1, ®s->transfer_size); > - > - return (cdns_i2c_wait(regs, CDNS_I2C_INTERRUPT_COMP | > - CDNS_I2C_INTERRUPT_NACK) & > - CDNS_I2C_INTERRUPT_COMP) ? 0 : -ETIMEDOUT; > -} > - > static int cdns_i2c_write_data(struct i2c_cdns_bus *i2c_bus, u32 addr, u8 > *data, > u32 len) > { > @@ -453,7 +433,6 @@ static int cdns_i2c_ofdata_to_platdata(struct udevice > *dev) > > static const struct dm_i2c_ops cdns_i2c_ops = { > .xfer = cdns_i2c_xfer, > - .probe_chip = cdns_i2c_probe_chip, > .set_bus_speed = cdns_i2c_set_bus_speed, > }; > > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot