X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fw1%2Fw1.h;h=54a3437a8bbe5dc9e2b3ae5445152e4bdbc459a4;hb=c7b5ebbddf7bcd3651947760f423e3783bbe6573;hp=aba042d25a42503cb164019bdc1d2f8855aa17e9;hpb=a2c21200f1c81b08cb55e417b68150bba439b646;p=linux-2.6.git diff --git a/drivers/w1/w1.h b/drivers/w1/w1.h index aba042d25..54a3437a8 100644 --- a/drivers/w1/w1.h +++ b/drivers/w1/w1.h @@ -52,6 +52,8 @@ struct w1_reg_num #define W1_READ_PSUPPLY 0xB4 #define W1_MATCH_ROM 0x55 +#define W1_SLAVE_ACTIVE (1<<0) + struct w1_slave { struct module *owner; @@ -60,11 +62,15 @@ struct w1_slave struct w1_reg_num reg_num; atomic_t refcnt; u8 rom[9]; + u32 flags; struct w1_master *master; struct w1_family *family; struct device dev; struct completion dev_released; + + struct bin_attribute attr_bin; + struct device_attribute attr_name, attr_val; }; struct w1_bus_master @@ -73,6 +79,16 @@ struct w1_bus_master u8 (*read_bit)(unsigned long); void (*write_bit)(unsigned long, u8); + + u8 (*read_byte)(unsigned long); + void (*write_byte)(unsigned long, u8); + + u8 (*read_block)(unsigned long, u8 *, int); + void (*write_block)(unsigned long, u8 *, int); + + u8 (*touch_bit)(unsigned long, u8); + + u8 (*reset_bus)(unsigned long); }; struct w1_master @@ -107,6 +123,9 @@ struct w1_master struct sock *nls; }; +int w1_create_master_attributes(struct w1_master *); +void w1_destroy_master_attributes(struct w1_master *); + #endif /* __KERNEL__ */ #endif /* __W1_H */