[lkml]   [2008]   [Jul]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Patch in this message
    Subject[PATCH 18/30] W1: ds1wm.c msleep for reset
    Like the previous w1_io.c reset coments and msleep patch, I don't have
    the hardware to verify the change, but I think it is safe. It also
    helps to see a comment like this in the code.
    "We'll wait a bit longer just to be sure."
    If they are going to calculate delaying 324.9us, but actually delay
    500us, why not just give up the CPU and sleep? This is designed for a
    battery powered ARM system, avoiding busywaiting has to be good for
    battery life.

    I sent a request for testers March 7, 2008 to the Linux kernel mailing
    list and two developers who have patches for ds1wm.c, but I didn't get
    any respons.

    Signed-off-by: David Fries <>
    Signed-off-by: Evgeniy Polyakov <>
    drivers/w1/masters/ds1wm.c | 4 +++-
    1 files changed, 3 insertions(+), 1 deletions(-)

    diff --git a/drivers/w1/masters/ds1wm.c b/drivers/w1/masters/ds1wm.c
    index ea894bf..29e144f 100644
    --- a/drivers/w1/masters/ds1wm.c
    +++ b/drivers/w1/masters/ds1wm.c
    @@ -160,8 +160,10 @@ static int ds1wm_reset(struct ds1wm_data *ds1wm_data)
    * 625 us - 60 us - 240 us - 100 ns = 324.9 us
    * We'll wait a bit longer just to be sure.
    + * Was udelay(500), but if it is going to busywait the cpu that long,
    + * might as well come back later.
    - udelay(500);
    + msleep(1);

    ds1wm_write_register(ds1wm_data, DS1WM_INT_EN,
    --[unhandled content-type:application/pgp-signature]
     \ /
      Last update: 2008-07-29 04:27    [W:0.020 / U:0.708 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site