linux-imx/Documentation/ABI/testing/sysfs-driver-w1_therm
Ivan Zaentsev 439e8f6f1e w1: w1_therm: Rename conflicting sysfs attribute 'eeprom' to 'eeprom_cmd'
Duplicate attribute 'eeprom' is defined in:
1) Documentation/ABI/testing/sysfs-driver-w1_therm
2) Documentation/ABI/stable/sysfs-driver-w1_ds28e04

Both drivers define an attribute: /sys/bus/w1/devices/.../eeprom
with conflicting behavior.

Fix by renaming the newer one in w1_therm.c to 'eeprom_cmd'.

Reported-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Suggested-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://lore.kernel.org/lkml/20201029152845.6bbb39ce@coco.lan/
Signed-off-by: Ivan Zaentsev <ivan.zaentsev@wirenboard.ru>
Link: https://lore.kernel.org/r/20201112064931.8471-1-ivan.zaentsev@wirenboard.ru
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-11-12 08:50:13 +01:00

6.3 KiB

What: /sys/bus/w1/devices/.../alarms Date: May 2020 Contact: Akira Shimahara akira215corp@gmail.com Description: (RW) read or write TH and TL (Temperature High an Low) alarms. Values shall be space separated and in the device range (typical -55 degC to 125 degC), if not values will be trimmed to device min/max capabilities. Values are integer as they are stored in a 8bit register in the device. Lowest value is automatically put to TL. Once set, alarms could be search at master level, refer to Documentation/w1/w1-generic.rst for detailed information Users: any user space application which wants to communicate with w1_term device

What: /sys/bus/w1/devices/.../eeprom_cmd Date: May 2020 Contact: Akira Shimahara akira215corp@gmail.com Description: (WO) writing that file will either trigger a save of the device data to its embedded EEPROM, either restore data embedded in device EEPROM. Be aware that devices support limited EEPROM writing cycles (typical 50k)

		* 'save': save device RAM to EEPROM
		* 'restore': restore EEPROM data in device RAM

Users: any user space application which wants to communicate with w1_term device

What: /sys/bus/w1/devices/.../ext_power Date: May 2020 Contact: Akira Shimahara akira215corp@gmail.com Description: (RO) return the power status by asking the device

		* '0': device parasite powered
		* '1': device externally powered
		* '-xx': xx is kernel error when reading power status

Users: any user space application which wants to communicate with w1_term device

What: /sys/bus/w1/devices/.../resolution Date: May 2020 Contact: Akira Shimahara akira215corp@gmail.com Description: (RW) get or set the device resolution (on supported devices, if not, this entry is not present). Note that the resolution will be changed only in device RAM, so it will be cleared when power is lost. Trigger a 'save' to EEPROM command to keep values after power-on. Read or write are :

		* '9..14': device resolution in bit
		  or resolution to set in bit
		* '-xx': xx is kernel error when reading the resolution
		* Anything else: do nothing

	Some DS18B20 clones are fixed in 12-bit resolution, so the
	actual resolution is read back from the chip and verified. Error
	is reported if the results differ.

Users: any user space application which wants to communicate with w1_term device

What: /sys/bus/w1/devices/.../temperature Date: May 2020 Contact: Akira Shimahara akira215corp@gmail.com Description: (RO) return the temperature in 1/1000 degC.

		* If a bulk read has been triggered, it will directly
		  return the temperature computed when the bulk read
		  occurred, if available. If not yet available, nothing
		  is returned (a debug kernel message is sent), you
		  should retry later on.
		* If no bulk read has been triggered, it will trigger
		  a conversion and send the result. Note that the
		  conversion duration depend on the resolution (if
		  device support this feature). It takes 94ms in 9bits
		  resolution, 750ms for 12bits.

Users: any user space application which wants to communicate with w1_term device

What: /sys/bus/w1/devices/.../w1_slave Date: May 2020 Contact: Akira Shimahara akira215corp@gmail.com Description: (RW) return the temperature in 1/1000 degC. read: return 2 lines with the hexa output data sent on the bus, return the CRC check and temperature in 1/1000 degC write:

		* '0' : save the 2 or 3 bytes to the device EEPROM
		  (i.e. TH, TL and config register)
		* '9..14' : set the device resolution in RAM
		  (if supported)
		* Anything else: do nothing

	refer to Documentation/w1/slaves/w1_therm.rst for detailed
	information.

Users: any user space application which wants to communicate with w1_term device

What: /sys/bus/w1/devices/w1_bus_masterXX/therm_bulk_read Date: May 2020 Contact: Akira Shimahara akira215corp@gmail.com Description: (RW) trigger a bulk read conversion. read the status

	*read*:
		* '-1':
			conversion in progress on at least 1 sensor
		* '1' :
			conversion complete but at least one sensor
			value has not been read yet
		* '0' :
			no bulk operation. Reading temperature will
			trigger a conversion on each device

	*write*:
		'trigger': trigger a bulk read on all supporting
		devices on the bus

	Note that if a bulk read is sent but one sensor is not read
	immediately, the next access to temperature on this device
	will return the temperature measured at the time of issue
	of the bulk read command (not the current temperature).

Users: any user space application which wants to communicate with w1_term device

What: /sys/bus/w1/devices/.../conv_time Date: July 2020 Contact: Ivan Zaentsev ivan.zaentsev@wirenboard.ru Description: (RW) Get, set, or measure a temperature conversion time. The setting remains active until a resolution change. Then it is reset to default (datasheet) conversion time for a new resolution.

	*read*:
		Actual conversion time in milliseconds.

	*write*:
		* '0':
		     Set the default conversion time from the datasheet.
		* '1':
		     Measure and set the conversion time. Make a single
		     temperature conversion, measure an actual value.
		     Increase it by 20% for temperature range. A new
		     conversion time can be obtained by reading this
		     same attribute.
		* other positive value:
		     Set the conversion time in milliseconds.

Users: An application using the w1_term device

What: /sys/bus/w1/devices/.../features Date: July 2020 Contact: Ivan Zaentsev ivan.zaentsev@wirenboard.ru Description: (RW) Control optional driver settings. Bit masks to read/write (bitwise OR):

	== ============================================================
             1 Enable check for conversion success. If byte 6 of
               scratchpad memory is 0xC after conversion, and
               temperature reads 85.00 (powerup value) or 127.94
               (insufficient power) - return a conversion error.

            2  Enable poll for conversion completion. Generate read cycles
               after the conversion start and wait for 1's. In parasite
               power mode this feature is not available.
	== ============================================================

	*read*:
	    Currently selected features.

	*write*:
	    Select features.

Users: An application using the w1_term device