forked from luck/tmp_suning_uos_patched
[PATCH] i2c: scx200_acb remove use of lock_kernel
scx200_acb: remove use of lock_kernel() Signed-off-by: Ben Gardner <bgardner@wabtec.com> Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
9b7b6d3b2b
commit
8a05940d74
@ -378,6 +378,7 @@ static struct i2c_algorithm scx200_acb_algorithm = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
static struct scx200_acb_iface *scx200_acb_list;
|
static struct scx200_acb_iface *scx200_acb_list;
|
||||||
|
static DECLARE_MUTEX(scx200_acb_list_mutex);
|
||||||
|
|
||||||
static int scx200_acb_probe(struct scx200_acb_iface *iface)
|
static int scx200_acb_probe(struct scx200_acb_iface *iface)
|
||||||
{
|
{
|
||||||
@ -463,10 +464,10 @@ static int __init scx200_acb_create(int base, int index)
|
|||||||
goto errout_release;
|
goto errout_release;
|
||||||
}
|
}
|
||||||
|
|
||||||
lock_kernel();
|
down(&scx200_acb_list_mutex);
|
||||||
iface->next = scx200_acb_list;
|
iface->next = scx200_acb_list;
|
||||||
scx200_acb_list = iface;
|
scx200_acb_list = iface;
|
||||||
unlock_kernel();
|
up(&scx200_acb_list_mutex);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
@ -509,17 +510,17 @@ static void __exit scx200_acb_cleanup(void)
|
|||||||
{
|
{
|
||||||
struct scx200_acb_iface *iface;
|
struct scx200_acb_iface *iface;
|
||||||
|
|
||||||
lock_kernel();
|
down(&scx200_acb_list_mutex);
|
||||||
while ((iface = scx200_acb_list) != NULL) {
|
while ((iface = scx200_acb_list) != NULL) {
|
||||||
scx200_acb_list = iface->next;
|
scx200_acb_list = iface->next;
|
||||||
unlock_kernel();
|
up(&scx200_acb_list_mutex);
|
||||||
|
|
||||||
i2c_del_adapter(&iface->adapter);
|
i2c_del_adapter(&iface->adapter);
|
||||||
release_region(iface->base, 8);
|
release_region(iface->base, 8);
|
||||||
kfree(iface);
|
kfree(iface);
|
||||||
lock_kernel();
|
down(&scx200_acb_list_mutex);
|
||||||
}
|
}
|
||||||
unlock_kernel();
|
up(&scx200_acb_list_mutex);
|
||||||
}
|
}
|
||||||
|
|
||||||
module_init(scx200_acb_init);
|
module_init(scx200_acb_init);
|
||||||
|
Loading…
Reference in New Issue
Block a user