Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/dev/i2c The i2c code handles the 'cold' dance with I2C_F...



details:   https://anonhg.NetBSD.org/src/rev/cb8af0bfef97
branches:  trunk
changeset: 1000448:cb8af0bfef97
user:      thorpej <thorpej%NetBSD.org@localhost>
date:      Thu Jul 25 04:25:40 2019 +0000

description:
The i2c code handles the 'cold' dance with I2C_F_POLL now; no need to
do it here.

diffstat:

 sys/dev/i2c/tsl256x.c |  45 ++++++++++++++++++---------------------------
 1 files changed, 18 insertions(+), 27 deletions(-)

diffs (160 lines):

diff -r 96f2df35e8bc -r cb8af0bfef97 sys/dev/i2c/tsl256x.c
--- a/sys/dev/i2c/tsl256x.c     Thu Jul 25 04:24:44 2019 +0000
+++ b/sys/dev/i2c/tsl256x.c     Thu Jul 25 04:25:40 2019 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: tsl256x.c,v 1.6 2018/06/26 06:03:57 thorpej Exp $ */
+/* $NetBSD: tsl256x.c,v 1.7 2019/07/25 04:25:40 thorpej Exp $ */
 
 /*-
  * Copyright (c) 2018 Jason R. Thorpe
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: tsl256x.c,v 1.6 2018/06/26 06:03:57 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tsl256x.c,v 1.7 2019/07/25 04:25:40 thorpej Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -49,7 +49,6 @@
        device_t        sc_dev;
        i2c_tag_t       sc_i2c;
        i2c_addr_t      sc_addr;
-       int             sc_i2c_flags;
 
        uint32_t        sc_poweron;
 
@@ -125,11 +124,11 @@
                return (0);
        }
 
-       if (iic_acquire_bus(ia->ia_tag, I2C_F_POLL) != 0)
+       if (iic_acquire_bus(ia->ia_tag, 0) != 0)
                return (0);
        error = iic_smbus_read_byte(ia->ia_tag, ia->ia_addr,
-           TSL256x_REG_ID | COMMAND_CMD, &id_reg, I2C_F_POLL);
-       iic_release_bus(ia->ia_tag, I2C_F_POLL);
+           TSL256x_REG_ID | COMMAND_CMD, &id_reg, 0);
+       iic_release_bus(ia->ia_tag, 0);
 
        if (error)
                return (0);
@@ -154,14 +153,12 @@
        sc->sc_dev = self;
        sc->sc_i2c = ia->ia_tag;
        sc->sc_addr = ia->ia_addr;
-       sc->sc_i2c_flags = I2C_F_POLL;
 
        if (self->dv_cfdata != NULL &&
            self->dv_cfdata->cf_flags & TSLLUX_F_CS_PACKAGE)
                sc->sc_cs_package = true;
 
-       if (iic_acquire_bus(ia->ia_tag, I2C_F_POLL) != 0) {
-               iic_release_bus(ia->ia_tag, I2C_F_POLL);
+       if (iic_acquire_bus(ia->ia_tag, 0) != 0) {
                return;
        }
 
@@ -195,7 +192,7 @@
 
        tsllux_poweroff(sc);
 
-       iic_release_bus(ia->ia_tag, I2C_F_POLL);
+       iic_release_bus(ia->ia_tag, 0);
        have_i2c = false;
 
        tsllux_sysctl_attach(sc);
@@ -217,10 +214,8 @@
        if (have_i2c) {
                if (sc->sc_poweron)
                        tsllux_poweroff(sc);
-               iic_release_bus(ia->ia_tag, I2C_F_POLL);
+               iic_release_bus(ia->ia_tag, 0);
        }
-
-       sc->sc_i2c_flags = 0;
 }
 
 static int
@@ -327,13 +322,13 @@
                return (EINVAL);
        }
 
-       if ((error = iic_acquire_bus(sc->sc_i2c, sc->sc_i2c_flags)) != 0) {
+       if ((error = iic_acquire_bus(sc->sc_i2c, 0)) != 0) {
                mutex_exit(&sc->sc_lock);
                return (error);
        }
 
        error = tsllux_set_gain(sc, new_gain);
-       iic_release_bus(sc->sc_i2c, sc->sc_i2c_flags);
+       iic_release_bus(sc->sc_i2c, 0);
        mutex_exit(&sc->sc_lock);
 
        return (error);
@@ -393,13 +388,13 @@
                return (EINVAL);
        }
 
-       if ((error = iic_acquire_bus(sc->sc_i2c, sc->sc_i2c_flags)) != 0) {
+       if ((error = iic_acquire_bus(sc->sc_i2c, 0)) != 0) {
                mutex_exit(&sc->sc_lock);
                return (error);
        }
 
        error = tsllux_set_integration_time(sc, new_itime);
-       iic_release_bus(sc->sc_i2c, sc->sc_i2c_flags);
+       iic_release_bus(sc->sc_i2c, 0);
        mutex_exit(&sc->sc_lock);
 
        return (error);
@@ -465,9 +460,9 @@
 
        mutex_enter(&sc->sc_lock);
 
-       if ((error = iic_acquire_bus(sc->sc_i2c, sc->sc_i2c_flags)) == 0) {
+       if ((error = iic_acquire_bus(sc->sc_i2c, 0)) == 0) {
                error = tsllux_get_lux(sc, &lux, NULL, NULL);
-               iic_release_bus(sc->sc_i2c, sc->sc_i2c_flags);
+               iic_release_bus(sc->sc_i2c, 0);
        }
        
        if (error) {
@@ -489,24 +484,21 @@
 tsllux_read1(struct tsllux_softc *sc, uint8_t reg, uint8_t *valp)
 {
        reg = (reg & REGMASK) | COMMAND_CMD;
-       return (iic_smbus_read_byte(sc->sc_i2c, sc->sc_addr, reg, valp,
-                                   sc->sc_i2c_flags));
+       return (iic_smbus_read_byte(sc->sc_i2c, sc->sc_addr, reg, valp, 0));
 }
 
 static int
 tsllux_read2(struct tsllux_softc *sc, uint8_t reg, uint16_t *valp)
 {
        reg = (reg & REGMASK) | COMMAND_CMD | COMMAND_WORD;
-       return (iic_smbus_read_word(sc->sc_i2c, sc->sc_addr, reg, valp,
-                                   sc->sc_i2c_flags));
+       return (iic_smbus_read_word(sc->sc_i2c, sc->sc_addr, reg, valp, 0));
 }
 
 static int
 tsllux_write1(struct tsllux_softc *sc, uint8_t reg, uint8_t val)
 {
        reg = (reg & REGMASK) | COMMAND_CMD;
-       return (iic_smbus_write_byte(sc->sc_i2c, sc->sc_addr, reg, val,
-                                    sc->sc_i2c_flags));
+       return (iic_smbus_write_byte(sc->sc_i2c, sc->sc_addr, reg, val, 0));
 }
 
 #if 0
@@ -514,8 +506,7 @@
 tsllux_write2(struct tsllux_softc *sc, uint8_t reg, uint16_t val)
 {
        reg = (reg & REGMASK) | COMMAND_CMD | COMMAND_WORD;
-       return (iic_smbus_write_word(sc->sc_i2c, sc->sc_addr, reg, val,
-                                    sc->sc_i2c_flags));
+       return (iic_smbus_write_word(sc->sc_i2c, sc->sc_addr, reg, val, 0));
 }
 #endif
 



Home | Main Index | Thread Index | Old Index