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