| /linux/Documentation/ABI/testing/ |
| H A 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 …]
|
| H A 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
|
| H A D | sysfs-devices-consumer | 6 links where this device is the supplier. <consumer> denotes the
|
| /linux/Documentation/driver-api/ |
| H A 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/drivers/base/ |
| H A D | core.c | 83 link->supplier = sup; in __fwnode_link_add() 114 link->consumer, link->supplier); in __fwnode_link_del() 129 link->consumer, link->supplier); in __fwnode_link_cycle() 336 struct device *supplier) in device_link_init_status() argument 338 switch (supplier->links.status) { in device_link_init_status() 517 pm_runtime_put_noidle(link->supplier); in device_link_release_fn() 519 pm_request_idle(link->supplier); in device_link_release_fn() 522 put_device(link->supplier); in device_link_release_fn() 565 struct device *sup = link->supplier; in devlink_add_symlinks() 612 struct device *sup = link->supplier; in devlink_remove_symlinks() [all …]
|
| /linux/include/acpi/ |
| H A D | acpi_bus.h | 301 acpi_handle supplier; member 941 void acpi_dev_clear_dependencies(struct acpi_device *supplier); 943 struct acpi_device *acpi_dev_get_next_consumer_dev(struct acpi_device *supplier, 952 #define for_each_acpi_consumer_dev(supplier, consumer) \ argument 953 for (consumer = acpi_dev_get_next_consumer_dev(supplier, NULL); \ 955 consumer = acpi_dev_get_next_consumer_dev(supplier, consumer)) 1017 #define for_each_acpi_consumer_dev(supplier, consumer) \ argument 1018 for (consumer = NULL; false && (supplier);)
|
| /linux/drivers/base/power/ |
| H A D | runtime.c | 308 retval = pm_runtime_get_sync(link->supplier); in rpm_get_suppliers() 311 pm_runtime_put_noidle(link->supplier); in rpm_get_suppliers() 327 struct device *supplier = link->supplier; in pm_runtime_release_supplier() local 336 atomic_read(&supplier->power.usage_count) > 0) in pm_runtime_release_supplier() 337 pm_runtime_put_noidle(supplier); in pm_runtime_release_supplier() 348 pm_request_idle(link->supplier); in __rpm_put_suppliers() 364 pm_request_idle(link->supplier); in rpm_suspend_suppliers() 1916 pm_runtime_get_sync(link->supplier); in pm_runtime_get_suppliers() 1937 pm_runtime_put(link->supplier); in pm_runtime_put_suppliers() 1973 pm_request_idle(link->supplier); in pm_runtime_drop_link()
|
| H A D | main.c | 286 dpm_wait(link->supplier, async); in dpm_wait_for_suppliers() 1363 dpm_async_with_cleanup(link->supplier, func); in dpm_async_suspend_superior() 1416 link->supplier->power.must_resume = true; in dpm_superior_set_must_resume() 1850 spin_lock_irq(&link->supplier->power.lock); in dpm_clear_superiors_direct_complete() 1851 link->supplier->power.direct_complete = false; in dpm_clear_superiors_direct_complete() 1852 spin_unlock_irq(&link->supplier->power.lock); in dpm_clear_superiors_direct_complete() 2105 if (!dev_pm_smart_suspend(link->supplier) && in device_prepare_smart_suspend() 2106 !pm_runtime_blocked(link->supplier)) { in device_prepare_smart_suspend()
|
| /linux/drivers/firmware/arm_scmi/ |
| H A D | common.h | 471 struct device *supplier; member 497 strans.supplier = dev; \
|
| H A D | driver.c | 2602 struct device *supplier) in scmi_device_link_add() argument 2606 link = device_link_add(consumer, supplier, DL_FLAG_AUTOREMOVE_CONSUMER); in scmi_device_link_add() 3124 if (!trans || !trans->supplier || !trans->core_ops) in scmi_transport_setup() 3127 if (!device_link_add(dev, trans->supplier, DL_FLAG_AUTOREMOVE_CONSUMER)) { in scmi_transport_setup() 3136 dev_info(dev, "Using %s\n", dev_driver_string(trans->supplier)); in scmi_transport_setup()
|
| /linux/drivers/power/supply/ |
| H A D | power_supply_core.c | 42 static bool __power_supply_is_supplied_by(struct power_supply *supplier, in __power_supply_is_supplied_by() argument 47 if (!supply->supplied_from && !supplier->supplied_to) in __power_supply_is_supplied_by() 52 if (!supplier->desc->name) in __power_supply_is_supplied_by() 55 if (!strcmp(supplier->desc->name, supply->supplied_from[i])) in __power_supply_is_supplied_by() 60 for (i = 0; i < supplier->num_supplicants; i++) in __power_supply_is_supplied_by() 61 if (!strcmp(supplier->supplied_to[i], supply->desc->name)) in __power_supply_is_supplied_by()
|
| /linux/include/linux/ |
| H A D | device.h | 695 struct device *supplier; member 1236 struct device *supplier, u32 flags); 1238 void device_link_remove(void *consumer, struct device *supplier);
|
| H A D | fwnode.h | 73 struct fwnode_handle *supplier; member
|
| /linux/scripts/ |
| H A D | dev-needs.sh | 131 SUPPLIER=$(realpath $SL/supplier)
|
| /linux/drivers/acpi/ |
| H A D | scan.c | 2037 dep->supplier = dep_devices->handles[i]; in acpi_scan_add_dep() 2502 if (dep->supplier == handle) { in acpi_walk_dep_device_list() 2519 void acpi_dev_clear_dependencies(struct acpi_device *supplier) in acpi_dev_clear_dependencies() argument 2521 acpi_walk_dep_device_list(supplier->handle, acpi_scan_clear_dep, NULL); in acpi_dev_clear_dependencies() 2553 struct acpi_device *acpi_dev_get_next_consumer_dev(struct acpi_device *supplier, in acpi_dev_get_next_consumer_dev() argument 2558 acpi_walk_dep_device_list(supplier->handle, in acpi_dev_get_next_consumer_dev()
|
| /linux/arch/arm64/boot/dts/renesas/ |
| H A D | ulcb-kf-audio-graph-card2-mix+split.dtsi | 61 non-supplier;
|
| /linux/drivers/cpufreq/ |
| H A D | mediatek-cpufreq.c | 192 if (sup_link->supplier->links.status != DL_DEV_DRIVER_BOUND) in is_ccifreq_ready()
|
| /linux/Documentation/driver-api/usb/ |
| H A D | persist.rst | 54 you can convince the BIOS supplier to fix the problem (lots of luck!).
|
| /linux/arch/arm64/boot/dts/freescale/ |
| H A D | imx93-11x11-frdm.dts | 244 /* does not boot with supplier set, because it is the bucks interrupt parent */
|
| /linux/drivers/ufs/core/ |
| H A D | ufshcd.c | 5380 struct device *supplier = NULL; in ufshcd_sdev_destroy() local 5385 supplier = &hba->ufs_device_wlun->sdev_gendev; in ufshcd_sdev_destroy() 5386 get_device(supplier); in ufshcd_sdev_destroy() 5390 if (supplier) { in ufshcd_sdev_destroy() 5396 device_link_remove(&sdev->sdev_gendev, supplier); in ufshcd_sdev_destroy() 5397 put_device(supplier); in ufshcd_sdev_destroy()
|
| /linux/drivers/pci/ |
| H A D | quirks.c | 5736 unsigned int supplier, unsigned int class, in pci_create_device_link() argument 5746 PCI_DEVFN(PCI_SLOT(pdev->devfn), supplier)); in pci_create_device_link()
|
| /linux/drivers/soc/mediatek/ |
| H A D | mtk-svs.c | 2161 if (sup_link->supplier->links.status != DL_DEV_DRIVER_BOUND) in svs_add_device_link()
|
| /linux/Documentation/power/ |
| H A D | runtime_pm.rst | 837 through a supplier device link. For these reasons and to avoid boilerplate code
|
| /linux/Documentation/admin-guide/ |
| H A D | kernel-parameters.txt | 1833 fw_devlink= [KNL,EARLY] Create device links between consumer and supplier 1835 consumer/supplier relationships. This feature is 1838 (suppliers first, then consumers), supplier boot state
|