w1: sysfs, select-slave, ds2433
cover w1: sysfs, select-slave, ds2433
Evgeniy,
I finally have a working driver for w1 family 23.
Along the way, I made a few changes to the w1 slave stuff.
I also learned how to use quilt, so this wasn't nearly as painful as the last patch set. =)
The patches depend on each other and should be applied in the following order.
w1-select-slave.diff
I added w1_reset_select_slave()
This function resets the w1 bus and either sends a skip rom (0xCC) or the full select ROM + id. If there is only 1 slave present, it does skip rom.
w1-select-slave-use.diff
I changed w1-therm to use w1_reset_select_slave.
w1-container-of.diff
I added three inline function to hide the use of container_of().
- dev_to_w1_slave()
- kobj_to_w1_slave()
- dev_to_w1_master()
w1-slave-sysfs.diff
Every slave now has at least two sysfs files:
- id : an 8 byte binary file that holds the 64 bit id
example: [23 6c dc 1c 00 00 00 43]
- name : the name, example: [23-0000001cdc6c]
Family ops is now two callback functions: add_slave() and remove_slave(). The family driver is responsible for creating any other sysfs entries. This patch updates w1-smem (which is pretty much empty) and w1-therm.
w1-ds2433.diff
The driver for family 23.
Would you take a moment to review and try it out to make sure I didn't break anything?
Thanks,
Ben
cover w1: sysfs, select-slave, ds2433
Quoted 1 line · On Thu, 2005-06-30 at 09:07 -0500, [email protected] wrote:
Evgeniy,
Hello, Ben.
Quoted 5 lines
I finally have a working driver for w1 family 23.
Along the way, I made a few changes to the w1 slave stuff.
I also learned how to use quilt, so this wasn't nearly as painful as the last patch set. =)
The patches depend on each other and should be applied in the following order.
From the first view I do not have objection, thought not quite sure why do we need id/name sysfs file, since id without CRC already lives in directory name?
Quoted 23 lines
w1-select-slave.diff
I addedw1_reset_select_slave()
This function resets the w1 bus and either sends a skip rom (0xCC) or the full select ROM + id. If there is only 1 slave present, it does skip rom.w1-select-slave-use.diff
I changed w1-therm to usew1_reset_select_slave.w1-container-of.diff
I added three inline function to hide the use ofcontainer_of().
-dev_to_w1_slave()
-kobj_to_w1_slave()
-dev_to_w1_master()w1-slave-sysfs.diff
Every slave now has at least two sysfs files:
- id : an 8 byte binary file that holds the 64 bit id
example: [23 6c dc 1c 00 00 00 43]
- name : the name, example: [23-0000001cdc6c]
Family ops is now two callback functions:add_slave()andremove_slave(). The family driver is responsible for creating any other sysfs entries. This patch updates w1-smem (which is pretty much empty) and w1-therm.
Quoted 5 lines
w1-ds2433.diff
The driver for family 23.Would you take a moment to review and try it out to make sure I didn't break anything?
Sure.
I'm feeling so guilty about uncommented bigendian-fix patch - I hope I will test everything this week.
Quoted 2 lines
Thanks,
Ben
cover w1: sysfs, select-slave, ds2433
In reply to [email protected]Hi,
Quoted 1 line
From the first view I do not have objection, thought not quite sure
why
Quoted 2 lines
do we need id/name sysfs file, since id without CRC already lives in directory name?
I agree that the name entry isn't needed, since it matches the directory name.
I would not object if it were removed.
The id is useful for two reasons:
- smem uses it as the 64 bit id; w1-smem is not really needed anymore.
- if I ever finish off w1-dev, it will be needed to do a MATCH ROM from
user space
Thanks,
Ben