Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/dev/i2c - No need to use I2C_F_POLL here.
details: https://anonhg.NetBSD.org/src/rev/71fff65908f2
branches: trunk
changeset: 967837:71fff65908f2
user: thorpej <thorpej%NetBSD.org@localhost>
date: Mon Dec 23 18:57:30 2019 +0000
description:
- No need to use I2C_F_POLL here.
- Don't write to the device if iic_acquire_bus() fails.
diffstat:
sys/dev/i2c/mt2131.c | 46 ++++++++++++++++++++++++++--------------------
1 files changed, 26 insertions(+), 20 deletions(-)
diffs (119 lines):
diff -r 1a1e2bad5493 -r 71fff65908f2 sys/dev/i2c/mt2131.c
--- a/sys/dev/i2c/mt2131.c Mon Dec 23 18:49:13 2019 +0000
+++ b/sys/dev/i2c/mt2131.c Mon Dec 23 18:57:30 2019 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: mt2131.c,v 1.6 2017/06/01 02:45:10 chs Exp $ */
+/* $NetBSD: mt2131.c,v 1.7 2019/12/23 18:57:30 thorpej Exp $ */
/*
* Copyright (c) 2008, 2011 Jonathan A. Kollasch
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: mt2131.c,v 1.6 2017/06/01 02:45:10 chs Exp $");
+__KERNEL_RCSID(0, "$NetBSD: mt2131.c,v 1.7 2019/12/23 18:57:30 thorpej Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -85,9 +85,12 @@
cmd = reg = 0;
/* get id reg */
- iic_acquire_bus(t, I2C_F_POLL);
- ret = iic_exec(t, I2C_OP_READ_WITH_STOP, a, &cmd, 1, ®, 1, I2C_F_POLL);
- iic_release_bus(t, I2C_F_POLL);
+ ret = iic_acquire_bus(t, 0);
+ if (ret == 0) {
+ ret = iic_exec(t, I2C_OP_READ_WITH_STOP, a, &cmd, 1, ®, 1,
+ 0);
+ iic_release_bus(t, 0);
+ }
if (ret) {
device_printf(parent, "%s(): read fail\n", __func__);
@@ -153,9 +156,12 @@
b[5] = (d2 & 0x001f);
b[6] = r2;
- iic_acquire_bus(sc->tag, I2C_F_POLL);
- rv = iic_exec(sc->tag, I2C_OP_WRITE_WITH_STOP, sc->addr, b, 7, NULL, 0, I2C_F_POLL);
- iic_release_bus(sc->tag, I2C_F_POLL);
+ rv = iic_acquire_bus(sc->tag, 0);
+ if (rv == 0) {
+ rv = iic_exec(sc->tag, I2C_OP_WRITE_WITH_STOP, sc->addr, b, 7,
+ NULL, 0, 0);
+ iic_release_bus(sc->tag, 0);
+ }
regval = (fr - 27501) / 55000;
@@ -191,27 +197,27 @@
{
int ret;
- ret = iic_acquire_bus(sc->tag, I2C_F_POLL);
+ ret = iic_acquire_bus(sc->tag, 0);
if (ret)
return -1;
ret = iic_exec(sc->tag, I2C_OP_WRITE_WITH_STOP, sc->addr,
- mt2131_initstring, sizeof(mt2131_initstring), NULL, 0, I2C_F_POLL);
+ mt2131_initstring, sizeof(mt2131_initstring), NULL, 0, 0);
+ iic_release_bus(sc->tag, 0);
if (ret)
return -1;
- iic_release_bus(sc->tag, I2C_F_POLL);
ret = mt2131_write(sc, UPC_1, 0x09);
ret = mt2131_write(sc, MISC_2, 0x47);
ret = mt2131_write(sc, PWR, 0xf2);
ret = mt2131_write(sc, UPC_1, 0x01);
- ret = iic_acquire_bus(sc->tag, I2C_F_POLL);
+ ret = iic_acquire_bus(sc->tag, 0);
if (ret)
return -1;
ret = iic_exec(sc->tag, I2C_OP_WRITE_WITH_STOP, sc->addr,
mt2131_agcinitstring, sizeof(mt2131_agcinitstring),
- NULL, 0, I2C_F_POLL);
- iic_release_bus(sc->tag, I2C_F_POLL);
+ NULL, 0, 0);
+ iic_release_bus(sc->tag, 0);
if (ret)
return -1;
@@ -223,13 +229,13 @@
{
int ret;
- ret = iic_acquire_bus(sc->tag, I2C_F_POLL);
+ ret = iic_acquire_bus(sc->tag, 0);
if (ret)
return ret;
ret = iic_exec(sc->tag, I2C_OP_READ_WITH_STOP, sc->addr,
- &r, 1, v, 1, I2C_F_POLL);
+ &r, 1, v, 1, 0);
- iic_release_bus(sc->tag, I2C_F_POLL);
+ iic_release_bus(sc->tag, 0);
return ret;
}
@@ -240,14 +246,14 @@
int ret;
uint8_t b[] = { a, v };
- ret = iic_acquire_bus(sc->tag, I2C_F_POLL);
+ ret = iic_acquire_bus(sc->tag, 0);
if (ret)
return ret;
ret = iic_exec(sc->tag, I2C_OP_READ_WITH_STOP, sc->addr,
- b, sizeof(b), NULL, 0, I2C_F_POLL);
+ b, sizeof(b), NULL, 0, 0);
- iic_release_bus(sc->tag, I2C_F_POLL);
+ iic_release_bus(sc->tag, 0);
return ret;
}
Home |
Main Index |
Thread Index |
Old Index