lkml.org 
[lkml]   [2008]   [Jul]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH 21/30] W1: ds2490.c ds_write_bit, grouping error, disable readback
    ds_write_bit doesn't read the input buffer, so add COMM_ICP and a
    comment that it will no longer generate a read back data byte. If
    there is an extra data byte later on then it will cause an error and
    discard what data was there. Corrected operator ordering for
    ds_send_control.

    Signed-off-by: David Fries <david@fries.net>
    Signed-off-by: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
    ---
    drivers/w1/masters/ds2490.c | 7 ++++++-
    1 files changed, 6 insertions(+), 1 deletions(-)

    diff --git a/drivers/w1/masters/ds2490.c b/drivers/w1/masters/ds2490.c
    index 6b188e8..6fabf58 100644
    --- a/drivers/w1/masters/ds2490.c
    +++ b/drivers/w1/masters/ds2490.c
    @@ -525,7 +525,12 @@ static int ds_write_bit(struct ds_device *dev, u8 bit)
    int err;
    struct ds_status st;

    - err = ds_send_control(dev, COMM_BIT_IO | COMM_IM | (bit) ? COMM_D : 0, 0);
    + /* Set COMM_ICP to write without a readback. Note, this will
    + * produce one time slot, a down followed by an up with COMM_D
    + * only determing the timing.
    + */
    + err = ds_send_control(dev, COMM_BIT_IO | COMM_IM | COMM_ICP |
    + (bit ? COMM_D : 0), 0);
    if (err)
    return err;

    --
    1.4.4.4

    \
     
     \ /
      Last update: 2008-07-31 04:59    [W:0.020 / U:60.912 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site