]> git.baikalelectronics.ru Git - kernel.git/commit
W1: ds2490.c optimize ds_set_pullup
authorDavid Fries <david@fries.net>
Thu, 16 Oct 2008 05:05:10 +0000 (22:05 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 16 Oct 2008 18:21:51 +0000 (11:21 -0700)
commit71baf82878f77a9c89a04b47173b9b0f32c9944b
tree516701655f96739293019705496201e432a27e84
parent06bd9cfe48763bdc06f81f3a5ccdb994641516c0
W1: ds2490.c optimize ds_set_pullup

Optimize the ds_set_pullup function.  For a strong pullup to be sent the
ds2490 has to have both the strong pullup mode enabled, and the specific
write operation has to have the SPU bit enabled.  Previously the write
always had the SPU bit enabled and both the duration and model was set
when a strong pullup was requested.  Now the strong pullup mode is enabled
at initialization time, the delay is updated only when the value changes,
and the write SPU bit is set only when a strong pullup is required.  This
removes two or three bus transactions per strong pullup request.

Signed-off-by: David Fries <david@fries.net>
Signed-off-by: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/w1/masters/ds2490.c