Skip to contentSkip to conversation

w1: sysfs, select-slave, ds2433

PATCH New [email protected] 2 participants 3 messages Jun 30, 2005

lore
Share & tools
lore
#0 lore raw

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

#1 lore raw

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

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

#2 lore raw

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