i2c: Use rwsem instead of mutex for board info

By using rwsem we can easily manage recursive calls of
i2c_scan_static_board_info() function without breaking the locking.

Signed-off-by: Rodolfo Giometti <giometti@linux.it>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
This commit is contained in:
Rodolfo Giometti
2009-06-19 16:58:20 +02:00
committed by Jean Delvare
parent 99cd8e2587
commit f18c41daea
3 changed files with 10 additions and 6 deletions

View File

@@ -16,6 +16,8 @@
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <linux/rwsem.h>
struct i2c_devinfo {
struct list_head list;
int busnum;
@@ -25,7 +27,7 @@ struct i2c_devinfo {
/* board_lock protects board_list and first_dynamic_bus_num.
* only i2c core components are allowed to use these symbols.
*/
extern struct mutex __i2c_board_lock;
extern struct rw_semaphore __i2c_board_lock;
extern struct list_head __i2c_board_list;
extern int __i2c_first_dynamic_bus_num;