18c2ecf20Sopenharmony_ciWhat:		/sys/class/devlink/.../
28c2ecf20Sopenharmony_ciDate:		May 2020
38c2ecf20Sopenharmony_ciContact:	Saravana Kannan <saravanak@google.com>
48c2ecf20Sopenharmony_ciDescription:
58c2ecf20Sopenharmony_ci		Provide a place in sysfs for the device link objects in the
68c2ecf20Sopenharmony_ci		kernel at any given time.  The name of a device link directory,
78c2ecf20Sopenharmony_ci		denoted as ... above, is of the form <supplier>--<consumer>
88c2ecf20Sopenharmony_ci		where <supplier> is the supplier bus:device name and <consumer>
98c2ecf20Sopenharmony_ci		is the consumer bus:device name.
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_ciWhat:		/sys/class/devlink/.../auto_remove_on
128c2ecf20Sopenharmony_ciDate:		May 2020
138c2ecf20Sopenharmony_ciContact:	Saravana Kannan <saravanak@google.com>
148c2ecf20Sopenharmony_ciDescription:
158c2ecf20Sopenharmony_ci		This file indicates if the device link will ever be
168c2ecf20Sopenharmony_ci		automatically removed by the driver core when the consumer and
178c2ecf20Sopenharmony_ci		supplier devices themselves are still present.
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ci		This will be one of the following strings:
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ci		- 'consumer unbind'
228c2ecf20Sopenharmony_ci		- 'supplier unbind'
238c2ecf20Sopenharmony_ci		- 'never'
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ci		'consumer unbind' means the device link will be removed when
268c2ecf20Sopenharmony_ci		the consumer's driver is unbound from the consumer device.
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ci		'supplier unbind' means the device link will be removed when
298c2ecf20Sopenharmony_ci		the supplier's driver is unbound from the supplier device.
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ci		'never' means the device link will not be automatically removed
328c2ecf20Sopenharmony_ci		when as long as the supplier and consumer devices themselves
338c2ecf20Sopenharmony_ci		are still present.
348c2ecf20Sopenharmony_ci
358c2ecf20Sopenharmony_ciWhat:		/sys/class/devlink/.../consumer
368c2ecf20Sopenharmony_ciDate:		May 2020
378c2ecf20Sopenharmony_ciContact:	Saravana Kannan <saravanak@google.com>
388c2ecf20Sopenharmony_ciDescription:
398c2ecf20Sopenharmony_ci		This file is a symlink to the consumer device's sysfs directory.
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_ciWhat:		/sys/class/devlink/.../runtime_pm
428c2ecf20Sopenharmony_ciDate:		May 2020
438c2ecf20Sopenharmony_ciContact:	Saravana Kannan <saravanak@google.com>
448c2ecf20Sopenharmony_ciDescription:
458c2ecf20Sopenharmony_ci		This file indicates if the device link has any impact on the
468c2ecf20Sopenharmony_ci		runtime power management behavior of the consumer and supplier
478c2ecf20Sopenharmony_ci		devices. For example: Making sure the supplier doesn't enter
488c2ecf20Sopenharmony_ci		runtime suspend while the consumer is active.
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ci		This will be one of the following strings:
518c2ecf20Sopenharmony_ci
528c2ecf20Sopenharmony_ci		===   ========================================
538c2ecf20Sopenharmony_ci		'0'   Does not affect runtime power management
548c2ecf20Sopenharmony_ci		'1'   Affects runtime power management
558c2ecf20Sopenharmony_ci		===   ========================================
568c2ecf20Sopenharmony_ci
578c2ecf20Sopenharmony_ciWhat:		/sys/class/devlink/.../status
588c2ecf20Sopenharmony_ciDate:		May 2020
598c2ecf20Sopenharmony_ciContact:	Saravana Kannan <saravanak@google.com>
608c2ecf20Sopenharmony_ciDescription:
618c2ecf20Sopenharmony_ci		This file indicates the status of the device link. The status
628c2ecf20Sopenharmony_ci		of a device link is affected by whether the supplier and
638c2ecf20Sopenharmony_ci		consumer devices have been bound to their corresponding
648c2ecf20Sopenharmony_ci		drivers. The status of a device link also affects the binding
658c2ecf20Sopenharmony_ci		and unbinding of the supplier and consumer devices with their
668c2ecf20Sopenharmony_ci		drivers and also affects whether the software state of the
678c2ecf20Sopenharmony_ci		supplier device is synced with the hardware state of the
688c2ecf20Sopenharmony_ci		supplier device after boot up.
698c2ecf20Sopenharmony_ci		See also: sysfs-devices-state_synced.
708c2ecf20Sopenharmony_ci
718c2ecf20Sopenharmony_ci		This will be one of the following strings:
728c2ecf20Sopenharmony_ci
738c2ecf20Sopenharmony_ci		- 'not tracked'
748c2ecf20Sopenharmony_ci		- 'dormant'
758c2ecf20Sopenharmony_ci		- 'available'
768c2ecf20Sopenharmony_ci		- 'consumer probing'
778c2ecf20Sopenharmony_ci		- 'active'
788c2ecf20Sopenharmony_ci		- 'supplier unbinding'
798c2ecf20Sopenharmony_ci		- 'unknown'
808c2ecf20Sopenharmony_ci
818c2ecf20Sopenharmony_ci		'not tracked' means this device link does not track the status
828c2ecf20Sopenharmony_ci		and has no impact on the binding, unbinding and syncing the
838c2ecf20Sopenharmony_ci		hardware and software device state.
848c2ecf20Sopenharmony_ci
858c2ecf20Sopenharmony_ci		'dormant' means the supplier and the consumer devices have not
868c2ecf20Sopenharmony_ci		bound to their driver.
878c2ecf20Sopenharmony_ci
888c2ecf20Sopenharmony_ci		'available' means the supplier has bound to its driver and is
898c2ecf20Sopenharmony_ci		available to supply resources to the consumer device.
908c2ecf20Sopenharmony_ci
918c2ecf20Sopenharmony_ci		'consumer probing' means the consumer device is currently
928c2ecf20Sopenharmony_ci		trying to bind to its driver.
938c2ecf20Sopenharmony_ci
948c2ecf20Sopenharmony_ci		'active' means the supplier and consumer devices have both
958c2ecf20Sopenharmony_ci		bound successfully to their drivers.
968c2ecf20Sopenharmony_ci
978c2ecf20Sopenharmony_ci		'supplier unbinding' means the supplier devices is currently in
988c2ecf20Sopenharmony_ci		the process of unbinding from its driver.
998c2ecf20Sopenharmony_ci
1008c2ecf20Sopenharmony_ci		'unknown' means the state of the device link is not any of the
1018c2ecf20Sopenharmony_ci		above. If this is ever the value, there's a bug in the kernel.
1028c2ecf20Sopenharmony_ci
1038c2ecf20Sopenharmony_ciWhat:		/sys/class/devlink/.../supplier
1048c2ecf20Sopenharmony_ciDate:		May 2020
1058c2ecf20Sopenharmony_ciContact:	Saravana Kannan <saravanak@google.com>
1068c2ecf20Sopenharmony_ciDescription:
1078c2ecf20Sopenharmony_ci		This file is a symlink to the supplier device's sysfs directory.
1088c2ecf20Sopenharmony_ci
1098c2ecf20Sopenharmony_ciWhat:		/sys/class/devlink/.../sync_state_only
1108c2ecf20Sopenharmony_ciDate:		May 2020
1118c2ecf20Sopenharmony_ciContact:	Saravana Kannan <saravanak@google.com>
1128c2ecf20Sopenharmony_ciDescription:
1138c2ecf20Sopenharmony_ci		This file indicates if the device link is limited to only
1148c2ecf20Sopenharmony_ci		affecting the syncing of the hardware and software state of the
1158c2ecf20Sopenharmony_ci		supplier device.
1168c2ecf20Sopenharmony_ci
1178c2ecf20Sopenharmony_ci		This will be one of the following strings:
1188c2ecf20Sopenharmony_ci
1198c2ecf20Sopenharmony_ci		===  ================================
1208c2ecf20Sopenharmony_ci		'0'
1218c2ecf20Sopenharmony_ci		'1'  Affects runtime power management
1228c2ecf20Sopenharmony_ci		===  ================================
1238c2ecf20Sopenharmony_ci
1248c2ecf20Sopenharmony_ci		'0' means the device link can affect other device behaviors
1258c2ecf20Sopenharmony_ci		like binding/unbinding, suspend/resume, runtime power
1268c2ecf20Sopenharmony_ci		management, etc.
1278c2ecf20Sopenharmony_ci
1288c2ecf20Sopenharmony_ci		'1' means the device link will only affect the syncing of
1298c2ecf20Sopenharmony_ci		hardware and software state of the supplier device after boot
1308c2ecf20Sopenharmony_ci		up and doesn't not affect other behaviors of the devices.
131