From 90bc42214f09b06a02577af473cbc0b28bc480c3 Mon Sep 17 00:00:00 2001 From: David Fries Date: Wed, 15 Oct 2008 22:05:05 -0700 Subject: [PATCH] --- yaml --- r: 114936 b: refs/heads/master c: 6e10f65427ed800ad1026dbf8064ca536ea98afc h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/w1/masters/ds2490.c | 21 ++++----------------- 2 files changed, 5 insertions(+), 18 deletions(-) diff --git a/[refs] b/[refs] index b4c2d3c8e033..eff2982f0c40 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a08e2d338bab17ac5c51a8f2f25185da18f6710c +refs/heads/master: 6e10f65427ed800ad1026dbf8064ca536ea98afc diff --git a/trunk/drivers/w1/masters/ds2490.c b/trunk/drivers/w1/masters/ds2490.c index 1b632d549e79..c4ff70b2c7c4 100644 --- a/trunk/drivers/w1/masters/ds2490.c +++ b/trunk/drivers/w1/masters/ds2490.c @@ -490,28 +490,15 @@ static int ds_set_pullup(struct ds_device *dev, int delay) static int ds_touch_bit(struct ds_device *dev, u8 bit, u8 *tbit) { - int err, count; + int err; struct ds_status st; - u16 value = (COMM_BIT_IO | COMM_IM) | ((bit) ? COMM_D : 0); - u16 cmd; - err = ds_send_control(dev, value, 0); + err = ds_send_control(dev, COMM_BIT_IO | COMM_IM | (bit ? COMM_D : 0), + 0); if (err) return err; - count = 0; - do { - err = ds_wait_status(dev, &st); - if (err) - return err; - - cmd = st.command0 | (st.command1 << 8); - } while (cmd != value && ++count < 10); - - if (err < 0 || count >= 10) { - printk(KERN_ERR "Failed to obtain status.\n"); - return -EINVAL; - } + ds_wait_status(dev, &st); err = ds_recv_data(dev, tbit, sizeof(*tbit)); if (err < 0)