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. |