OpenCloudOS-Kernel/drivers/w1/slaves
NeilBrown 59d4467be4 w1: introduce a slave mutex for serializing IO
w1 devices need a mutex to serial IO.  Most use master->mutex.
However that is used for other purposes and they can conflict.

In particular master->mutex is held while w1_attach_slave_device is
called.

For bq27000, this registers a 'powersupply' device which tries to read the
current status.  The attempt to read will cause a deadlock on
master->mutex.

So create a new per-slave mutex and use that for serializing IO for
bq27000.

Signed-off-by: NeilBrown <neilb@suse.de>
Cc: Evgeniy Polyakov <zbr@ioremap.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-12 15:27:32 -07:00
..
Kconfig Revert "w1: Add 1-wire slave device driver for DS28E04-100" 2012-04-29 22:12:08 -04:00
Makefile Revert "w1: Add 1-wire slave device driver for DS28E04-100" 2012-04-29 22:12:08 -04:00
w1_bq27000.c w1: introduce a slave mutex for serializing IO 2012-06-12 15:27:32 -07:00
w1_ds2408.c w1: w1_ds2408.c: quite sparse noise about using plaing integer as NULL pointer 2012-05-04 16:25:30 -07:00
w1_ds2423.c w1: DS2423 counter driver and documentation 2011-01-13 08:03:22 -08:00
w1_ds2431.c sysfs: add struct file* to bin_attr callbacks 2010-05-21 09:37:31 -07:00
w1_ds2433.c sysfs: add struct file* to bin_attr callbacks 2010-05-21 09:37:31 -07:00
w1_ds2760.c w1: ds2760 and ds2780, use ida for id and ida_simple_get() to get it 2011-11-02 16:07:02 -07:00
w1_ds2760.h w1: ds2760_battery: add support for sleep mode feature 2009-06-08 23:25:17 +04:00
w1_ds2780.c drivers/power/ds2780_battery.c: add a nolock function to w1 interface 2011-11-02 16:07:03 -07:00
w1_ds2780.h drivers/power/ds2780_battery.c: add a nolock function to w1 interface 2011-11-02 16:07:03 -07:00
w1_ds2781.c DS2781 Maxim Stand-Alone Fuel Gauge battery and w1 slave drivers 2012-03-08 11:15:33 -08:00
w1_ds2781.h DS2781 Maxim Stand-Alone Fuel Gauge battery and w1 slave drivers 2012-03-08 11:15:33 -08:00
w1_smem.c MAINTAINERS: Evgeniy has moved 2011-08-25 16:25:33 -07:00
w1_therm.c W1: w1_therm: release the bus during conversion on externally powered devices 2011-11-17 11:47:56 -08:00