[U-Boot] [PATCH 4/4] i2c: i2c-cdns: No need for dedicated probe function
Michal Simek
michal.simek at xilinx.com
Mon Jan 2 15:28:08 CET 2017
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.fischer at ettus.com>
> Cc: Heiko Schocher <hs at denx.de>
> Cc: Michal Simek <michal.simek at xilinx.com>
> 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,
> };
>
>
More information about the U-Boot
mailing list