X-Git-Url: http://ftp.safe.ca/?a=blobdiff_plain;f=drivers%2Fw1%2Fw1_family.h;h=3ca1b9298f2143dea98a2973021cdafe254bad38;hb=ff924203c9e4a5bc218143bc37182851185f4e5f;hp=07fa49412a90005fecbac0ea882284b5ead45ec3;hpb=060b8845e6bea938d65ad6f89e83507e5ff4fec4;p=safe%2Fjmp%2Flinux-2.6 diff --git a/drivers/w1/w1_family.h b/drivers/w1/w1_family.h index 07fa494..3ca1b92 100644 --- a/drivers/w1/w1_family.h +++ b/drivers/w1/w1_family.h @@ -1,8 +1,8 @@ /* - * w1_family.h + * w1_family.h * * Copyright (c) 2004 Evgeniy Polyakov - * + * * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -27,37 +27,39 @@ #include #define W1_FAMILY_DEFAULT 0 -#define W1_FAMILY_THERM 0x10 -#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_EEPROM_DS2433 0x23 +#define W1_THERM_DS18B20 0x28 +#define W1_EEPROM_DS2431 0x2D +#define W1_FAMILY_DS2760 0x30 #define MAXNAMELEN 32 +struct w1_slave; + struct w1_family_ops { - ssize_t (* rname)(struct device *, struct device_attribute *, char *); - ssize_t (* rbin)(struct kobject *, char *, loff_t, size_t); - - ssize_t (* rval)(struct device *, struct device_attribute *, char *); - unsigned char rvalname[MAXNAMELEN]; + int (* add_slave)(struct w1_slave *); + void (* remove_slave)(struct w1_slave *); }; struct w1_family { struct list_head family_entry; u8 fid; - + struct w1_family_ops *fops; - + atomic_t refcnt; - u8 need_exit; }; extern spinlock_t w1_flock; -void w1_family_get(struct w1_family *); void w1_family_put(struct w1_family *); void __w1_family_get(struct w1_family *); -void __w1_family_put(struct w1_family *); struct w1_family * w1_family_registered(u8); void w1_unregister_family(struct w1_family *); int w1_register_family(struct w1_family *);