diff options
Diffstat (limited to 'drivers/w1/w1_family.c')
-rw-r--r-- | drivers/w1/w1_family.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/w1/w1_family.c b/drivers/w1/w1_family.c index d1d56eca1061..02eee57d3c0c 100644 --- a/drivers/w1/w1_family.c +++ b/drivers/w1/w1_family.c | |||
@@ -1,8 +1,8 @@ | |||
1 | /* | 1 | /* |
2 | * w1_family.c | 2 | * w1_family.c |
3 | * | 3 | * |
4 | * Copyright (c) 2004 Evgeniy Polyakov <johnpol@2ka.mipt.ru> | 4 | * Copyright (c) 2004 Evgeniy Polyakov <johnpol@2ka.mipt.ru> |
5 | * | 5 | * |
6 | * | 6 | * |
7 | * This program is free software; you can redistribute it and/or modify | 7 | * This program is free software; you can redistribute it and/or modify |
8 | * it under the terms of the GNU General Public License as published by | 8 | * it under the terms of the GNU General Public License as published by |
@@ -27,10 +27,11 @@ | |||
27 | 27 | ||
28 | DEFINE_SPINLOCK(w1_flock); | 28 | DEFINE_SPINLOCK(w1_flock); |
29 | static LIST_HEAD(w1_families); | 29 | static LIST_HEAD(w1_families); |
30 | extern void w1_reconnect_slaves(struct w1_family *f); | ||
30 | 31 | ||
31 | static int w1_check_family(struct w1_family *f) | 32 | static int w1_check_family(struct w1_family *f) |
32 | { | 33 | { |
33 | if (!f->fops->rname || !f->fops->rbin || !f->fops->rval || !f->fops->rvalname) | 34 | if (!f->fops->rname || !f->fops->rbin) |
34 | return -EINVAL; | 35 | return -EINVAL; |
35 | 36 | ||
36 | return 0; | 37 | return 0; |
@@ -60,9 +61,10 @@ int w1_register_family(struct w1_family *newf) | |||
60 | newf->need_exit = 0; | 61 | newf->need_exit = 0; |
61 | list_add_tail(&newf->family_entry, &w1_families); | 62 | list_add_tail(&newf->family_entry, &w1_families); |
62 | } | 63 | } |
63 | |||
64 | spin_unlock(&w1_flock); | 64 | spin_unlock(&w1_flock); |
65 | 65 | ||
66 | w1_reconnect_slaves(newf); | ||
67 | |||
66 | return ret; | 68 | return ret; |
67 | } | 69 | } |
68 | 70 | ||