aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/w1
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/w1')
-rw-r--r--drivers/w1/w1_family.c7
-rw-r--r--drivers/w1/w1_family.h1
2 files changed, 1 insertions, 7 deletions
diff --git a/drivers/w1/w1_family.c b/drivers/w1/w1_family.c
index 8c35f9ccb689..4a099041f28a 100644
--- a/drivers/w1/w1_family.c
+++ b/drivers/w1/w1_family.c
@@ -48,7 +48,6 @@ int w1_register_family(struct w1_family *newf)
48 48
49 if (!ret) { 49 if (!ret) {
50 atomic_set(&newf->refcnt, 0); 50 atomic_set(&newf->refcnt, 0);
51 newf->need_exit = 0;
52 list_add_tail(&newf->family_entry, &w1_families); 51 list_add_tail(&newf->family_entry, &w1_families);
53 } 52 }
54 spin_unlock(&w1_flock); 53 spin_unlock(&w1_flock);
@@ -73,9 +72,6 @@ void w1_unregister_family(struct w1_family *fent)
73 break; 72 break;
74 } 73 }
75 } 74 }
76
77 fent->need_exit = 1;
78
79 spin_unlock(&w1_flock); 75 spin_unlock(&w1_flock);
80 76
81 /* deatch devices using this family code */ 77 /* deatch devices using this family code */
@@ -113,8 +109,7 @@ struct w1_family * w1_family_registered(u8 fid)
113 109
114static void __w1_family_put(struct w1_family *f) 110static void __w1_family_put(struct w1_family *f)
115{ 111{
116 if (atomic_dec_and_test(&f->refcnt)) 112 atomic_dec(&f->refcnt);
117 f->need_exit = 1;
118} 113}
119 114
120void w1_family_put(struct w1_family *f) 115void w1_family_put(struct w1_family *f)
diff --git a/drivers/w1/w1_family.h b/drivers/w1/w1_family.h
index 296a87edd922..30531331a643 100644
--- a/drivers/w1/w1_family.h
+++ b/drivers/w1/w1_family.h
@@ -53,7 +53,6 @@ struct w1_family
53 struct w1_family_ops *fops; 53 struct w1_family_ops *fops;
54 54
55 atomic_t refcnt; 55 atomic_t refcnt;
56 u8 need_exit;
57}; 56};
58 57
59extern spinlock_t w1_flock; 58extern spinlock_t w1_flock;