diff options
-rw-r--r-- | drivers/w1/w1_family.h | 3 | ||||
-rw-r--r-- | drivers/w1/w1_smem.c | 26 |
2 files changed, 24 insertions, 5 deletions
diff --git a/drivers/w1/w1_family.h b/drivers/w1/w1_family.h index 2995c6cb869f..d01f0424cee9 100644 --- a/drivers/w1/w1_family.h +++ b/drivers/w1/w1_family.h | |||
@@ -27,7 +27,8 @@ | |||
27 | #include <asm/atomic.h> | 27 | #include <asm/atomic.h> |
28 | 28 | ||
29 | #define W1_FAMILY_DEFAULT 0 | 29 | #define W1_FAMILY_DEFAULT 0 |
30 | #define W1_FAMILY_SMEM 0x01 | 30 | #define W1_FAMILY_SMEM_01 0x01 |
31 | #define W1_FAMILY_SMEM_81 0x81 | ||
31 | #define W1_THERM_DS18S20 0x10 | 32 | #define W1_THERM_DS18S20 0x10 |
32 | #define W1_THERM_DS1822 0x22 | 33 | #define W1_THERM_DS1822 0x22 |
33 | #define W1_THERM_DS18B20 0x28 | 34 | #define W1_THERM_DS18B20 0x28 |
diff --git a/drivers/w1/w1_smem.c b/drivers/w1/w1_smem.c index 674eb75a9bad..4a335f1a2ae2 100644 --- a/drivers/w1/w1_smem.c +++ b/drivers/w1/w1_smem.c | |||
@@ -99,19 +99,37 @@ out_dec: | |||
99 | return count; | 99 | return count; |
100 | } | 100 | } |
101 | 101 | ||
102 | static struct w1_family w1_smem_family = { | 102 | static struct w1_family w1_smem_family_01 = { |
103 | .fid = W1_FAMILY_SMEM, | 103 | .fid = W1_FAMILY_SMEM_01, |
104 | .fops = &w1_smem_fops, | ||
105 | }; | ||
106 | |||
107 | static struct w1_family w1_smem_family_81 = { | ||
108 | .fid = W1_FAMILY_SMEM_81, | ||
104 | .fops = &w1_smem_fops, | 109 | .fops = &w1_smem_fops, |
105 | }; | 110 | }; |
106 | 111 | ||
107 | static int __init w1_smem_init(void) | 112 | static int __init w1_smem_init(void) |
108 | { | 113 | { |
109 | return w1_register_family(&w1_smem_family); | 114 | int err; |
115 | |||
116 | err = w1_register_family(&w1_smem_family_01); | ||
117 | if (err) | ||
118 | return err; | ||
119 | |||
120 | err = w1_register_family(&w1_smem_family_81); | ||
121 | if (err) { | ||
122 | w1_unregister_family(&w1_smem_family_01); | ||
123 | return err; | ||
124 | } | ||
125 | |||
126 | return 0; | ||
110 | } | 127 | } |
111 | 128 | ||
112 | static void __exit w1_smem_fini(void) | 129 | static void __exit w1_smem_fini(void) |
113 | { | 130 | { |
114 | w1_unregister_family(&w1_smem_family); | 131 | w1_unregister_family(&w1_smem_family_01); |
132 | w1_unregister_family(&w1_smem_family_81); | ||
115 | } | 133 | } |
116 | 134 | ||
117 | module_init(w1_smem_init); | 135 | module_init(w1_smem_init); |