w1_smem.c (1247B)
1// SPDX-License-Identifier: GPL-2.0-or-later 2/* 3 * w1_smem.c 4 * 5 * Copyright (c) 2004 Evgeniy Polyakov <zbr@ioremap.net> 6 */ 7 8#include <asm/types.h> 9 10#include <linux/kernel.h> 11#include <linux/module.h> 12#include <linux/moduleparam.h> 13#include <linux/device.h> 14#include <linux/types.h> 15 16#include <linux/w1.h> 17 18#define W1_FAMILY_SMEM_01 0x01 19#define W1_FAMILY_SMEM_81 0x81 20 21static struct w1_family w1_smem_family_01 = { 22 .fid = W1_FAMILY_SMEM_01, 23}; 24 25static struct w1_family w1_smem_family_81 = { 26 .fid = W1_FAMILY_SMEM_81, 27}; 28 29static int __init w1_smem_init(void) 30{ 31 int err; 32 33 err = w1_register_family(&w1_smem_family_01); 34 if (err) 35 return err; 36 37 err = w1_register_family(&w1_smem_family_81); 38 if (err) { 39 w1_unregister_family(&w1_smem_family_01); 40 return err; 41 } 42 43 return 0; 44} 45 46static void __exit w1_smem_fini(void) 47{ 48 w1_unregister_family(&w1_smem_family_01); 49 w1_unregister_family(&w1_smem_family_81); 50} 51 52module_init(w1_smem_init); 53module_exit(w1_smem_fini); 54 55MODULE_AUTHOR("Evgeniy Polyakov <zbr@ioremap.net>"); 56MODULE_DESCRIPTION("Driver for 1-wire Dallas network protocol, 64bit memory family."); 57MODULE_LICENSE("GPL"); 58MODULE_ALIAS("w1-family-" __stringify(W1_FAMILY_SMEM_01)); 59MODULE_ALIAS("w1-family-" __stringify(W1_FAMILY_SMEM_81));