linux-imx/Documentation/ABI/testing/sysfs-devices-state_synced
Saravana Kannan f8fb576658 driver core: Make state_synced device attribute writeable
If the file is written to and sync_state() hasn't been called for the
device yet, then call sync_state() for the device independent of the
state of its consumers.

This is useful for supplier devices that have one or more consumers that
don't have a driver but the consumers are in a state that don't use the
resources supplied by the supplier device.

This gives finer grained control than using the
fw_devlink.sync_state=timeout kernel commandline parameter.

Signed-off-by: Saravana Kannan <saravanak@google.com>
Link: https://lore.kernel.org/r/20230304005355.746421-3-saravanak@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-03-10 09:06:22 +01:00

1.3 KiB

What: /sys/devices/.../state_synced Date: May 2020 Contact: Saravana Kannan saravanak@google.com Description: The /sys/devices/.../state_synced attribute is only present for devices whose bus types or driver provides the .sync_state() callback. The number read from it (0 or 1) reflects the value of the device's 'state_synced' field. A value of 0 means the .sync_state() callback hasn't been called yet. A value of 1 means the .sync_state() callback has been called.

	Generally, if a device has sync_state() support and has some of
	the resources it provides enabled at the time the kernel starts
	(Eg: enabled by hardware reset or bootloader or anything that
	run before the kernel starts), then it'll keep those resources
	enabled and in a state that's compatible with the state they
	were in at the start of the kernel. The device will stop doing
	this only when the sync_state() callback has been called --
	which happens only when all its consumer devices are registered
	and have probed successfully. Resources that were left disabled
	at the time the kernel starts are not affected or limited in
	any way by sync_state() callbacks.

	Writing "1" to this file will force a call to the device's
	sync_state() function if it hasn't been called already. The
	sync_state() call happens independent of the state of the
	consumer devices.