From d5a64cfa965e1e9acf0c5a1a6472efa89615ce01 Mon Sep 17 00:00:00 2001 From: Evgeniy Polyakov Date: Mon, 2 May 2005 14:26:42 +0400 Subject: [PATCH] --- yaml --- r: 2669 b: refs/heads/master c: 85e941cc9f10316080a16b121d24d329e5c2a65d h: refs/heads/master i: 2667: 4c625c21e3e90064ec1efdf9a987ad6cbd1ea475 v: v3 --- [refs] | 2 +- trunk/drivers/w1/w1_family.h | 3 ++- trunk/drivers/w1/w1_smem.c | 26 ++++++++++++++++++++++---- 3 files changed, 25 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index 40732c82a3cb..897eac0f53ea 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 718a538f945a84244a460df434c3f6f04701957b +refs/heads/master: 85e941cc9f10316080a16b121d24d329e5c2a65d diff --git a/trunk/drivers/w1/w1_family.h b/trunk/drivers/w1/w1_family.h index 2995c6cb869f..d01f0424cee9 100644 --- a/trunk/drivers/w1/w1_family.h +++ b/trunk/drivers/w1/w1_family.h @@ -27,7 +27,8 @@ #include #define W1_FAMILY_DEFAULT 0 -#define W1_FAMILY_SMEM 0x01 +#define W1_FAMILY_SMEM_01 0x01 +#define W1_FAMILY_SMEM_81 0x81 #define W1_THERM_DS18S20 0x10 #define W1_THERM_DS1822 0x22 #define W1_THERM_DS18B20 0x28 diff --git a/trunk/drivers/w1/w1_smem.c b/trunk/drivers/w1/w1_smem.c index 674eb75a9bad..4a335f1a2ae2 100644 --- a/trunk/drivers/w1/w1_smem.c +++ b/trunk/drivers/w1/w1_smem.c @@ -99,19 +99,37 @@ static ssize_t w1_smem_read_bin(struct kobject *kobj, char *buf, loff_t off, siz return count; } -static struct w1_family w1_smem_family = { - .fid = W1_FAMILY_SMEM, +static struct w1_family w1_smem_family_01 = { + .fid = W1_FAMILY_SMEM_01, + .fops = &w1_smem_fops, +}; + +static struct w1_family w1_smem_family_81 = { + .fid = W1_FAMILY_SMEM_81, .fops = &w1_smem_fops, }; static int __init w1_smem_init(void) { - return w1_register_family(&w1_smem_family); + int err; + + err = w1_register_family(&w1_smem_family_01); + if (err) + return err; + + err = w1_register_family(&w1_smem_family_81); + if (err) { + w1_unregister_family(&w1_smem_family_01); + return err; + } + + return 0; } static void __exit w1_smem_fini(void) { - w1_unregister_family(&w1_smem_family); + w1_unregister_family(&w1_smem_family_01); + w1_unregister_family(&w1_smem_family_81); } module_init(w1_smem_init);