On 16-04-19, 10:09, Rafael J. Wysocki wrote:
On Tue, Apr 16, 2019 at 5:29 AM Vinod Koul vkoul@kernel.org wrote:
On 15-04-19, 10:18, Pierre-Louis Bossart wrote:
Standards such as the MIPI DisCo for SoundWire 1.0 specification assume the _ADR field is 64 bits.
_ADR is defined as an "Integer" represented as 64 bits since ACPI 2.0 released in 2002. The low levels already use _ADR as 64 bits, e.g. in struct acpi_device_info.
This patch bumps the representation used for sysfs to 64 bits.
Example with a SoundWire device, the results show the complete vendorID and linkID which were omitted before:
Before: $ more /sys/bus/acpi/devices/device:38/adr 0x5d070000 After: $ more /sys/bus/acpi/devices/device:38/adr 0x000010025d070000
This looks fine but the sysfs file is an ABI. Not sure if we can modify the value returned this way.. Though it should not cause userspace reading 32bits to break...
Well, IIRC using "08" instead of "016" in the format field would preserve the existing behavior for 32-bit values, wouldn't it?
Yeah that should do :)