X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=drivers%2Fw1%2Fw1.h;h=d8900780c3bf1fbcfbf1933a3d42b1267c1b02e0;hb=4837c672fd4d43c519d6b53308ee68d45b91b872;hp=4f0a986e33e3f6332a688c35c1c2923ac1530ccd;hpb=3357d4c75f1fb67e7304998c4ad4e9a9fed66fa4;p=linux-2.6 diff --git a/drivers/w1/w1.h b/drivers/w1/w1.h index 4f0a986e33..d8900780c3 100644 --- a/drivers/w1/w1.h +++ b/drivers/w1/w1.h @@ -75,11 +75,9 @@ struct w1_slave struct w1_master *master; struct w1_family *family; + void *family_data; struct device dev; - struct completion dev_released; - - struct bin_attribute attr_bin; - struct device_attribute attr_name; + struct completion released; }; typedef void (* w1_slave_found_callback)(unsigned long, u64); @@ -179,7 +177,6 @@ struct w1_master struct device_driver *driver; struct device dev; - struct completion dev_released; struct completion dev_exited; struct w1_bus_master *bus_master; @@ -191,6 +188,21 @@ struct w1_master int w1_create_master_attributes(struct w1_master *); void w1_search(struct w1_master *dev, w1_slave_found_callback cb); +static inline struct w1_slave* dev_to_w1_slave(struct device *dev) +{ + return container_of(dev, struct w1_slave, dev); +} + +static inline struct w1_slave* kobj_to_w1_slave(struct kobject *kobj) +{ + return dev_to_w1_slave(container_of(kobj, struct device, kobj)); +} + +static inline struct w1_master* dev_to_w1_master(struct device *dev) +{ + return container_of(dev, struct w1_master, dev); +} + #endif /* __KERNEL__ */ #endif /* __W1_H */