2019-05-22 09:51:40 +02:00
// SPDX-License-Identifier: GPL-2.0-or-later
2005-04-16 15:20:36 -07:00
/*
2005-05-20 22:33:25 +04:00
* w1_smem . c
2005-04-16 15:20:36 -07:00
*
2011-08-25 15:59:06 -07:00
* Copyright ( c ) 2004 Evgeniy Polyakov < zbr @ ioremap . net >
2005-04-16 15:20:36 -07:00
*/
# include <asm/types.h>
# include <linux/kernel.h>
# include <linux/module.h>
# include <linux/moduleparam.h>
# include <linux/device.h>
# include <linux/types.h>
2017-06-05 08:52:08 -05:00
# include <linux/w1.h>
# define W1_FAMILY_SMEM_01 0x01
# define W1_FAMILY_SMEM_81 0x81
2005-04-16 15:20:36 -07:00
2005-05-02 14:26:42 +04:00
static struct w1_family w1_smem_family_01 = {
. fid = W1_FAMILY_SMEM_01 ,
} ;
static struct w1_family w1_smem_family_81 = {
. fid = W1_FAMILY_SMEM_81 ,
2005-04-16 15:20:36 -07:00
} ;
static int __init w1_smem_init ( void )
{
2005-05-02 14:26:42 +04:00
int err ;
err = w1_register_family ( & w1_smem_family_01 ) ;
if ( err )
return err ;
2005-12-06 13:38:28 +03:00
2005-05-02 14:26:42 +04:00
err = w1_register_family ( & w1_smem_family_81 ) ;
if ( err ) {
w1_unregister_family ( & w1_smem_family_01 ) ;
return err ;
}
return 0 ;
2005-04-16 15:20:36 -07:00
}
static void __exit w1_smem_fini ( void )
{
2005-05-02 14:26:42 +04:00
w1_unregister_family ( & w1_smem_family_01 ) ;
w1_unregister_family ( & w1_smem_family_81 ) ;
2005-04-16 15:20:36 -07:00
}
module_init ( w1_smem_init ) ;
module_exit ( w1_smem_fini ) ;
2017-05-16 15:02:12 -05:00
MODULE_AUTHOR ( " Evgeniy Polyakov <zbr@ioremap.net> " ) ;
MODULE_DESCRIPTION ( " Driver for 1-wire Dallas network protocol, 64bit memory family. " ) ;
MODULE_LICENSE ( " GPL " ) ;
MODULE_ALIAS ( " w1-family- " __stringify ( W1_FAMILY_SMEM_01 ) ) ;
MODULE_ALIAS ( " w1-family- " __stringify ( W1_FAMILY_SMEM_81 ) ) ;