/Linux-v6.6/Documentation/ABI/testing/ |
D | sysfs-class-devlink | 7 denoted as ... above, is of the form <supplier>--<consumer> 8 where <supplier> is the supplier bus:device name and <consumer> 17 supplier devices themselves are still present. 22 - 'supplier unbind' 28 'supplier unbind' means the device link will be removed when 29 the supplier's driver is unbound from the supplier device. 32 when as long as the supplier and consumer devices themselves 46 runtime power management behavior of the consumer and supplier 47 devices. For example: Making sure the supplier doesn't enter 62 of a device link is affected by whether the supplier and [all …]
|
D | sysfs-devices-supplier | 1 What: /sys/devices/.../supplier:<supplier> 5 The /sys/devices/.../supplier:<supplier> are symlinks to device 6 links where this device is the consumer. <supplier> denotes the 7 name of the supplier in that device link and is of the form
|
D | sysfs-devices-consumer | 6 links where this device is the supplier. <consumer> denotes the
|
/Linux-v6.6/Documentation/driver-api/ |
D | device_link.rst | 29 "supplier" device and its "consumer" devices, and it guarantees driver 30 presence on the supplier. The consumer devices are not probed before the 31 supplier is bound to a driver, and they're unbound before the supplier 34 When driver presence on the supplier is irrelevant and only correct 37 enforcing driver presence on the supplier is optional. 41 is instructed to runtime resume the supplier and keep it active 48 :c:func:`device_add()` has been called for the supplier and 61 ``->probe`` callback while the supplier hasn't started to probe yet: Had the 64 presence of the supplier after adding the link, and defer probing on 66 ``->probe`` callback while the supplier is still probing, but the consumer must [all …]
|
/Linux-v6.6/drivers/base/ |
D | core.c | 80 link->supplier = sup; in __fwnode_link_add() 113 link->consumer, link->supplier); in __fwnode_link_del() 128 link->consumer, link->supplier); in __fwnode_link_cycle() 333 struct device *supplier) in device_link_init_status() argument 335 switch (supplier->links.status) { in device_link_init_status() 515 pm_runtime_put_noidle(link->supplier); in device_link_release_fn() 517 pm_request_idle(link->supplier); in device_link_release_fn() 520 put_device(link->supplier); in device_link_release_fn() 549 struct device *sup = link->supplier; in devlink_add_symlinks() 597 struct device *sup = link->supplier; in devlink_remove_symlinks() [all …]
|
/Linux-v6.6/drivers/base/power/ |
D | runtime.c | 294 retval = pm_runtime_get_sync(link->supplier); in rpm_get_suppliers() 297 pm_runtime_put_noidle(link->supplier); in rpm_get_suppliers() 313 struct device *supplier = link->supplier; in pm_runtime_release_supplier() local 322 atomic_read(&supplier->power.usage_count) > 0) in pm_runtime_release_supplier() 323 pm_runtime_put_noidle(supplier); in pm_runtime_release_supplier() 334 pm_request_idle(link->supplier); in __rpm_put_suppliers() 350 pm_request_idle(link->supplier); in rpm_suspend_suppliers() 1784 pm_runtime_get_sync(link->supplier); in pm_runtime_get_suppliers() 1805 pm_runtime_put(link->supplier); in pm_runtime_put_suppliers() 1841 pm_request_idle(link->supplier); in pm_runtime_drop_link()
|
D | main.c | 272 dpm_wait(link->supplier, async); in dpm_wait_for_suppliers() 1185 link->supplier->power.must_resume = true; in dpm_superior_set_must_resume() 1592 spin_lock_irq(&link->supplier->power.lock); in dpm_clear_superiors_direct_complete() 1593 link->supplier->power.direct_complete = false; in dpm_clear_superiors_direct_complete() 1594 spin_unlock_irq(&link->supplier->power.lock); in dpm_clear_superiors_direct_complete()
|
/Linux-v6.6/include/acpi/ |
D | acpi_bus.h | 289 acpi_handle supplier; member 766 void acpi_dev_clear_dependencies(struct acpi_device *supplier); 768 struct acpi_device *acpi_dev_get_next_consumer_dev(struct acpi_device *supplier, 777 #define for_each_acpi_consumer_dev(supplier, consumer) \ argument 778 for (consumer = acpi_dev_get_next_consumer_dev(supplier, NULL); \ 780 consumer = acpi_dev_get_next_consumer_dev(supplier, consumer))
|
/Linux-v6.6/drivers/power/supply/ |
D | power_supply_core.c | 39 static bool __power_supply_is_supplied_by(struct power_supply *supplier, in __power_supply_is_supplied_by() argument 44 if (!supply->supplied_from && !supplier->supplied_to) in __power_supply_is_supplied_by() 49 if (!supplier->desc->name) in __power_supply_is_supplied_by() 52 if (!strcmp(supplier->desc->name, supply->supplied_from[i])) in __power_supply_is_supplied_by() 57 for (i = 0; i < supplier->num_supplicants; i++) in __power_supply_is_supplied_by() 58 if (!strcmp(supplier->supplied_to[i], supply->desc->name)) in __power_supply_is_supplied_by()
|
/Linux-v6.6/include/linux/ |
D | fwnode.h | 58 struct fwnode_handle *supplier; member
|
D | device.h | 825 struct device *supplier; member 1246 struct device *supplier, u32 flags); 1248 void device_link_remove(void *consumer, struct device *supplier);
|
/Linux-v6.6/scripts/ |
D | dev-needs.sh | 131 SUPPLIER=$(realpath $SL/supplier)
|
/Linux-v6.6/drivers/acpi/ |
D | scan.c | 2026 dep->supplier = dep_devices.handles[i]; in acpi_scan_check_dep() 2351 if (dep->supplier == handle) { in acpi_walk_dep_device_list() 2368 void acpi_dev_clear_dependencies(struct acpi_device *supplier) in acpi_dev_clear_dependencies() argument 2370 acpi_walk_dep_device_list(supplier->handle, acpi_scan_clear_dep, NULL); in acpi_dev_clear_dependencies() 2402 struct acpi_device *acpi_dev_get_next_consumer_dev(struct acpi_device *supplier, in acpi_dev_get_next_consumer_dev() argument 2407 acpi_walk_dep_device_list(supplier->handle, in acpi_dev_get_next_consumer_dev()
|
/Linux-v6.6/drivers/platform/surface/ |
D | surface_acpi_notify.c | 742 acpi_handle supplier = ACPI_HANDLE(&pdev->dev); in is_san_consumer() local 756 if (dep_devices.handles[i] == supplier) in is_san_consumer()
|
/Linux-v6.6/drivers/cpufreq/ |
D | mediatek-cpufreq.c | 192 if (sup_link->supplier->links.status != DL_DEV_DRIVER_BOUND) in is_ccifreq_ready()
|
/Linux-v6.6/Documentation/driver-api/usb/ |
D | persist.rst | 54 you can convince the BIOS supplier to fix the problem (lots of luck!).
|
/Linux-v6.6/drivers/firmware/arm_scmi/ |
D | driver.c | 2189 struct device *supplier) in scmi_device_link_add() argument 2193 link = device_link_add(consumer, supplier, DL_FLAG_AUTOREMOVE_CONSUMER); in scmi_device_link_add()
|
/Linux-v6.6/drivers/ufs/core/ |
D | ufshcd.c | 5140 struct device *supplier = NULL; in ufshcd_slave_destroy() local 5145 supplier = &hba->ufs_device_wlun->sdev_gendev; in ufshcd_slave_destroy() 5146 get_device(supplier); in ufshcd_slave_destroy() 5150 if (supplier) { in ufshcd_slave_destroy() 5156 device_link_remove(&sdev->sdev_gendev, supplier); in ufshcd_slave_destroy() 5157 put_device(supplier); in ufshcd_slave_destroy()
|
/Linux-v6.6/drivers/pci/ |
D | quirks.c | 5572 unsigned int supplier, unsigned int class, in pci_create_device_link() argument 5582 PCI_DEVFN(PCI_SLOT(pdev->devfn), supplier)); in pci_create_device_link()
|
/Linux-v6.6/drivers/soc/mediatek/ |
D | mtk-svs.c | 2038 if (sup_link->supplier->links.status != DL_DEV_DRIVER_BOUND) in svs_add_device_link()
|
/Linux-v6.6/Documentation/power/ |
D | runtime_pm.rst | 844 through a supplier device link. For these reasons and to avoid boilerplate code
|
/Linux-v6.6/Documentation/admin-guide/ |
D | kernel-parameters.txt | 1589 fw_devlink= [KNL] Create device links between consumer and supplier 1591 consumer/supplier relationships. This feature is 1594 (suppliers first, then consumers), supplier boot state
|