aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEvgeniy Polyakov <johnpol@2ka.mipt.ru>2005-05-02 06:26:42 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2005-06-22 00:43:09 -0400
commit85e941cc9f10316080a16b121d24d329e5c2a65d (patch)
tree85e034582cfb6f9efb40e49efdef3490f5e56eb6
parent718a538f945a84244a460df434c3f6f04701957b (diff)
[PATCH] w1_smem: support for new simple rom family [0x81 id].
Support for new simple rom family [0x81 id]. It is the same as existing 0x01 family, which is used in ds9490* w1 adapters. Patch is on top of new-thermal-sensor-families patch. Signed-off-by: Evgeniy Polyakov <johnpol@2ka.mipt.ru> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/w1/w1_family.h3
-rw-r--r--drivers/w1/w1_smem.c26
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
102static struct w1_family w1_smem_family = { 102static 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
107static 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
107static int __init w1_smem_init(void) 112static 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
112static void __exit w1_smem_fini(void) 129static 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
117module_init(w1_smem_init); 135module_init(w1_smem_init);