| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame^] | 1 | Any w1 device must be connected to w1 bus master device - for example | 
 | 2 | ds9490 usb device or w1-over-GPIO or RS232 converter. | 
 | 3 | Driver for w1 bus master must provide several functions(you can find | 
 | 4 | them in struct w1_bus_master definition in w1.h) which then will be | 
 | 5 | called by w1 core to send various commands over w1 bus(by default it is | 
 | 6 | reset and search commands). When some device is found on the bus, w1 core | 
 | 7 | checks if driver for it's family is loaded. | 
 | 8 | If driver is loaded w1 core creates new w1_slave object and registers it | 
 | 9 | in the system(creates some generic sysfs files(struct w1_family_ops in | 
 | 10 | w1_family.h), notifies any registered listener and so on...). | 
 | 11 | It is device driver's business to provide any communication method | 
 | 12 | upstream. | 
 | 13 | For example w1_therm driver(ds18?20 thermal sensor family driver) | 
 | 14 | provides temperature reading function which is bound to ->rbin() method | 
 | 15 | of the above w1_family_ops structure. | 
 | 16 | w1_smem - driver for simple 64bit memory cell provides ID reading | 
 | 17 | method. | 
 | 18 |  | 
 | 19 | You can call above methods by reading appropriate sysfs files. |