From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michal Simek Date: Mon, 2 Jan 2017 15:28:08 +0100 Subject: [U-Boot] [PATCH 4/4] i2c: i2c-cdns: No need for dedicated probe function In-Reply-To: <1482878794-30009-4-git-send-email-moritz.fischer@ettus.com> References: <1482878794-30009-1-git-send-email-moritz.fischer@ettus.com> <1482878794-30009-4-git-send-email-moritz.fischer@ettus.com> Message-ID: <2b04e50d-ffab-a700-31fa-95aaa7b6596d@xilinx.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 > Cc: Heiko Schocher > Cc: Michal Simek > Cc: u-boot at 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, > }; > >