Author: loos
Date: Tue Jun  3 14:46:50 2014
New Revision: 267009
URL: http://svnweb.freebsd.org/changeset/base/267009

Log:
  Remove the unnecessary i2c slave address assignment.
  
  The ti_i2c controller only works in the master mode and the i2c address
  passed on iicbus_reset() is used to set the controller slave address when
  operating as an i2c slave (which isn't currently supported).
  
  When talking to a slave, the slave address is correctly provided to
  ti_i2c_tranfer().

Modified:
  head/sys/arm/ti/ti_i2c.c

Modified: head/sys/arm/ti/ti_i2c.c
==============================================================================
--- head/sys/arm/ti/ti_i2c.c    Tue Jun  3 13:47:00 2014        (r267008)
+++ head/sys/arm/ti/ti_i2c.c    Tue Jun  3 14:46:50 2014        (r267009)
@@ -92,7 +92,6 @@ struct ti_i2c_softc
 
        volatile uint16_t       sc_stat_flags;  /* contains the status flags 
last IRQ */
 
-       uint16_t                sc_i2c_addr;
        uint16_t                sc_rev;
 };
 
@@ -310,10 +309,6 @@ ti_i2c_reset(device_t dev, u_char speed,
 
        TI_I2C_LOCK(sc);
 
-       if (oldaddr)
-               *oldaddr = sc->sc_i2c_addr;
-       sc->sc_i2c_addr = addr;
-
        /* First disable the controller while changing the clocks */
        con_reg = ti_i2c_read_reg(sc, I2C_REG_CON);
        ti_i2c_write_reg(sc, I2C_REG_CON, 0x0000);
@@ -325,9 +320,6 @@ ti_i2c_reset(device_t dev, u_char speed,
        ti_i2c_write_reg(sc, I2C_REG_SCLL, clkcfg->scll | (clkcfg->hsscll<<8));
        ti_i2c_write_reg(sc, I2C_REG_SCLH, clkcfg->sclh | (clkcfg->hssclh<<8));
 
-       /* Set the remote slave address */
-       ti_i2c_write_reg(sc, I2C_REG_SA, addr);
-
        /* Check if we are dealing with high speed mode */
        if ((clkcfg->hsscll + clkcfg->hssclh) > 0)
                con_reg  = I2C_CON_OPMODE_HS;
@@ -339,7 +331,7 @@ ti_i2c_reset(device_t dev, u_char speed,
 
        TI_I2C_UNLOCK(sc);
 
-       return 0;
+       return (IIC_ENOADDR);
 }
 
 /**
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to