Linux kernel & device driver programming

Cross-Referenced Linux and Device Driver Code

[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ]
Version: [ 2.6.11.8 ] [ 2.6.25 ] [ 2.6.25.8 ] [ 2.6.31.13 ] Architecture: [ i386 ]
  1 /*
  2  *      w1_family.h
  3  *
  4  * Copyright (c) 2004 Evgeniy Polyakov <johnpol@2ka.mipt.ru>
  5  *
  6  *
  7  * This program is free software; you can redistribute it and/or modify
  8  * it under the terms of the GNU General Public License as published by
  9  * the Free Software Foundation; either version 2 of the License, or
 10  * (at your option) any later version.
 11  *
 12  * This program is distributed in the hope that it will be useful,
 13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 15  * GNU General Public License for more details.
 16  *
 17  * You should have received a copy of the GNU General Public License
 18  * along with this program; if not, write to the Free Software
 19  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 20  */
 21 
 22 #ifndef __W1_FAMILY_H
 23 #define __W1_FAMILY_H
 24 
 25 #include <linux/types.h>
 26 #include <linux/device.h>
 27 #include <asm/atomic.h>
 28 
 29 #define W1_FAMILY_DEFAULT       0
 30 #define W1_FAMILY_SMEM_01       0x01
 31 #define W1_FAMILY_SMEM_81       0x81
 32 #define W1_THERM_DS18S20        0x10
 33 #define W1_THERM_DS1822         0x22
 34 #define W1_EEPROM_DS2433        0x23
 35 #define W1_THERM_DS18B20        0x28
 36 #define W1_FAMILY_DS2760        0x30
 37 
 38 #define MAXNAMELEN              32
 39 
 40 struct w1_slave;
 41 
 42 struct w1_family_ops
 43 {
 44         int  (* add_slave)(struct w1_slave *);
 45         void (* remove_slave)(struct w1_slave *);
 46 };
 47 
 48 struct w1_family
 49 {
 50         struct list_head        family_entry;
 51         u8                      fid;
 52 
 53         struct w1_family_ops    *fops;
 54 
 55         atomic_t                refcnt;
 56         u8                      need_exit;
 57 };
 58 
 59 extern spinlock_t w1_flock;
 60 
 61 void w1_family_put(struct w1_family *);
 62 void __w1_family_get(struct w1_family *);
 63 struct w1_family * w1_family_registered(u8);
 64 void w1_unregister_family(struct w1_family *);
 65 int w1_register_family(struct w1_family *);
 66 void w1_reconnect_slaves(struct w1_family *f);
 67 
 68 #endif /* __W1_FAMILY_H */
 69 
  This page was automatically generated by the LXR engine.