1
0
Fork 0
alistair23-linux/drivers/w1
Maciej Szmigiero 377195c438 W1: w1_therm: release the bus during conversion on externally powered devices
w1_therm devices can either be bus powered or externally powered.

When device is bus powered during temperature conversion the bus
have to be left high to provide necessary power. Some masters also allow
strong power-up to be enabled in this case.
Naturally, no communication over bus can occur during that time.

However, if device has external power then there is no such restriction,
and host can talk to other devices during temperature conversion.

There is command which allows us to check how device is powered,
this patch uses it to release the bus on externally w1_therm powered devices
during temperature conversion.

Also, this changes uninterruptible sleeps there into interruptible ones to
avoid long uninterruptible sleep if w1 subsystem happens to grab bus for
scan during w1_therm_read().

Signed-off-by: Maciej Szmigiero <mhej@o2.pl>
Acked-by: Evgeniy Polyakov <zbr@ioremap.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-17 11:47:56 -08:00
..
masters MAINTAINERS: Evgeniy has moved 2011-08-25 16:25:33 -07:00
slaves W1: w1_therm: release the bus during conversion on externally powered devices 2011-11-17 11:47:56 -08:00
Kconfig trivial: Kconfig: .ko is normally not included in module names 2009-06-12 18:01:50 +02:00
Makefile [PATCH] better CONFIG_W1_SLAVE_DS2433_CRC handling 2006-12-07 08:39:43 -08:00
w1.c MAINTAINERS: Evgeniy has moved 2011-08-25 16:25:33 -07:00
w1.h MAINTAINERS: Evgeniy has moved 2011-08-25 16:25:33 -07:00
w1_family.c drivers/w1: Add export.h for EXPORT_SYMBOL/THIS_MODULE 2011-10-31 19:32:00 -04:00
w1_family.h MAINTAINERS: Evgeniy has moved 2011-08-25 16:25:33 -07:00
w1_int.c Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux 2011-11-06 19:44:47 -08:00
w1_int.h MAINTAINERS: Evgeniy has moved 2011-08-25 16:25:33 -07:00
w1_io.c w1: disable irqs in critical section 2011-11-02 16:07:03 -07:00
w1_log.h MAINTAINERS: Evgeniy has moved 2011-08-25 16:25:33 -07:00
w1_netlink.c MAINTAINERS: Evgeniy has moved 2011-08-25 16:25:33 -07:00
w1_netlink.h MAINTAINERS: Evgeniy has moved 2011-08-25 16:25:33 -07:00