Date: Tue, 16 Jul 2019 14:59:40 +0000 (UTC) From: Andriy Gapon <avg@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r350030 - stable/12/sys/dev/iicbus Message-ID: <201907161459.x6GExeES077120@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: avg Date: Tue Jul 16 14:59:39 2019 New Revision: 350030 URL: https://svnweb.freebsd.org/changeset/base/350030 Log: MFC r348355: revert r273728 and parts of r306589, iicbus no-stop by default feature After r349224 the only consumer of that broken code is gone. Modified: stable/12/sys/dev/iicbus/iicbus.c stable/12/sys/dev/iicbus/iicbus.h stable/12/sys/dev/iicbus/iiconf.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/dev/iicbus/iicbus.c ============================================================================== --- stable/12/sys/dev/iicbus/iicbus.c Tue Jul 16 14:40:49 2019 (r350029) +++ stable/12/sys/dev/iicbus/iicbus.c Tue Jul 16 14:59:39 2019 (r350030) @@ -194,9 +194,6 @@ iicbus_read_ivar(device_t bus, device_t child, int whi case IICBUS_IVAR_ADDR: *result = devi->addr; break; - case IICBUS_IVAR_NOSTOP: - *result = devi->nostop; - break; } return (0); } @@ -213,9 +210,6 @@ iicbus_write_ivar(device_t bus, device_t child, int wh if (devi->addr != 0) return (EINVAL); devi->addr = value; - case IICBUS_IVAR_NOSTOP: - devi->nostop = value; - break; } return (0); } Modified: stable/12/sys/dev/iicbus/iicbus.h ============================================================================== --- stable/12/sys/dev/iicbus/iicbus.h Tue Jul 16 14:40:49 2019 (r350029) +++ stable/12/sys/dev/iicbus/iicbus.h Tue Jul 16 14:59:39 2019 (r350030) @@ -54,19 +54,16 @@ struct iicbus_ivar { uint32_t addr; struct resource_list rl; - bool nostop; }; enum { - IICBUS_IVAR_ADDR, /* Address or base address */ - IICBUS_IVAR_NOSTOP, /* nostop defaults */ + IICBUS_IVAR_ADDR /* Address or base address */ }; #define IICBUS_ACCESSOR(A, B, T) \ __BUS_ACCESSOR(iicbus, A, IICBUS, B, T) IICBUS_ACCESSOR(addr, ADDR, uint32_t) -IICBUS_ACCESSOR(nostop, NOSTOP, bool) #define IICBUS_LOCK(sc) mtx_lock(&(sc)->lock) #define IICBUS_UNLOCK(sc) mtx_unlock(&(sc)->lock) Modified: stable/12/sys/dev/iicbus/iiconf.c ============================================================================== --- stable/12/sys/dev/iicbus/iiconf.c Tue Jul 16 14:40:49 2019 (r350029) +++ stable/12/sys/dev/iicbus/iiconf.c Tue Jul 16 14:59:39 2019 (r350030) @@ -427,7 +427,7 @@ iicbus_transfer_gen(device_t dev, struct iic_msg *msgs { int i, error, lenread, lenwrote, nkid, rpstart, addr; device_t *children, bus; - bool nostop, started; + bool started; if ((error = device_get_children(dev, &children, &nkid)) != 0) return (IIC_ERESOURCE); @@ -438,7 +438,6 @@ iicbus_transfer_gen(device_t dev, struct iic_msg *msgs bus = children[0]; rpstart = 0; free(children, M_TEMP); - nostop = iicbus_get_nostop(dev); started = false; for (i = 0, error = 0; i < nmsgs && error == 0; i++) { addr = msgs[i].slave; @@ -466,12 +465,11 @@ iicbus_transfer_gen(device_t dev, struct iic_msg *msgs if (error != 0) break; - if ((msgs[i].flags & IIC_M_NOSTOP) != 0 || - (nostop && i + 1 < nmsgs)) { - rpstart = 1; /* Next message gets repeated start */ - } else { + if (!(msgs[i].flags & IIC_M_NOSTOP)) { rpstart = 0; iicbus_stop(bus); + } else { + rpstart = 1; /* Next message gets repeated start */ } } if (error != 0 && started)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201907161459.x6GExeES077120>