| /linux/drivers/clk/ |
| H A D | clk-devres.c | 145 struct clk_bulk_devres *devres = res; in devm_clk_bulk_release() local 147 clk_bulk_put(devres->num_clks, devres->clks); in devm_clk_bulk_release() 153 struct clk_bulk_devres *devres; in __devm_clk_bulk_get() local 156 devres = devres_alloc(devm_clk_bulk_release, in __devm_clk_bulk_get() 157 sizeof(*devres), GFP_KERNEL); in __devm_clk_bulk_get() 158 if (!devres) in __devm_clk_bulk_get() 166 devres->clks = clks; in __devm_clk_bulk_get() 167 devres->num_clks = num_clks; in __devm_clk_bulk_get() 168 devres_add(dev, devres); in __devm_clk_bulk_get() 170 devres_free(devres); in __devm_clk_bulk_get() [all …]
|
| H A D | clk.c | 4971 struct clk_notifier_devres *devres = res; in devm_clk_notifier_release() local 4973 clk_notifier_unregister(devres->clk, devres->nb); in devm_clk_notifier_release() 4979 struct clk_notifier_devres *devres; in devm_clk_notifier_register() local 4982 devres = devres_alloc(devm_clk_notifier_release, in devm_clk_notifier_register() 4983 sizeof(*devres), GFP_KERNEL); in devm_clk_notifier_register() 4985 if (!devres) in devm_clk_notifier_register() 4990 devres->clk = clk; in devm_clk_notifier_register() 4991 devres->nb = nb; in devm_clk_notifier_register() 4992 devres_add(dev, devres); in devm_clk_notifier_register() 4994 devres_free(devres); in devm_clk_notifier_register()
|
| /linux/drivers/interconnect/ |
| H A D | bulk.c | 126 struct icc_bulk_devres *devres = res; in devm_icc_bulk_release() local 128 icc_bulk_put(devres->num_paths, devres->paths); in devm_icc_bulk_release() 141 struct icc_bulk_devres *devres; in devm_of_icc_bulk_get() local 144 devres = devres_alloc(devm_icc_bulk_release, sizeof(*devres), GFP_KERNEL); in devm_of_icc_bulk_get() 145 if (!devres) in devm_of_icc_bulk_get() 150 devres->paths = paths; in devm_of_icc_bulk_get() 151 devres->num_paths = num_paths; in devm_of_icc_bulk_get() 152 devres_add(dev, devres); in devm_of_icc_bulk_get() 154 devres_free(devres); in devm_of_icc_bulk_get()
|
| /linux/Documentation/driver-api/driver-model/ |
| H A D | devres.rst | 13 3. Devres Group : Group devres'es and release them together 22 devres came up while trying to convert libata to use iomap. Each 50 devres is basically linked list of arbitrarily sized memory areas 51 associated with a struct device. Each devres entry is associated with 52 a release function. A devres can be released in several ways. No 53 matter what, all devres entries are released on driver detach. On 55 devres entry is freed. 58 drivers using devres. For example, coherent DMA memory is acquired 133 devres. Complexity is shifted from less maintained low level drivers 148 Devres entries can be grouped using devres group. When a group is [all …]
|
| /linux/Documentation/translations/zh_CN/driver-api/phy/ |
| H A D | phy.rst | 120 获取 PHY 后使用 devres 将设备与 PHY 关联。在驱动程序分离时,将在 121 devres 数据上调用 release 函数并释放 devres 数据。当 phy 是可选 177 联的 devres。
|
| /linux/drivers/hwtracing/intel_th/ |
| H A D | core.c | 635 struct resource *devres = th->resource; in intel_th_subdevice_alloc() local 649 res[r].end = resource_size(&devres[bar]) - 1; in intel_th_subdevice_alloc() 653 res[r].start += devres[bar].start; in intel_th_subdevice_alloc() 654 res[r].end += devres[bar].start; in intel_th_subdevice_alloc() 879 struct resource *devres, unsigned int ndevres) in intel_th_alloc() argument 905 switch (devres[r].flags & IORESOURCE_TYPE_BITS) { in intel_th_alloc() 907 th->resource[nr_mmios++] = devres[r]; in intel_th_alloc() 910 err = devm_request_irq(dev, devres[r].start, in intel_th_alloc() 917 th->irq = devres[r].start; in intel_th_alloc() 922 devres[r].flags); in intel_th_alloc()
|
| H A D | intel_th.h | 231 struct resource *devres, unsigned int ndevres);
|
| /linux/drivers/input/ |
| H A D | input.c | 2006 struct input_devres *devres = res; in devm_input_device_match() local 2008 return devres->input == data; in devm_input_device_match() 2013 struct input_devres *devres = res; in devm_input_device_release() local 2014 struct input_dev *input = devres->input; in devm_input_device_release() 2042 struct input_devres *devres; in devm_input_allocate_device() local 2044 devres = devres_alloc(devm_input_device_release, in devm_input_allocate_device() 2045 sizeof(*devres), GFP_KERNEL); in devm_input_allocate_device() 2046 if (!devres) in devm_input_allocate_device() 2051 devres_free(devres); in devm_input_allocate_device() 2058 devres->input = input; in devm_input_allocate_device() [all …]
|
| /linux/Documentation/driver-api/firmware/ |
| H A D | firmware_cache.rst | 26 * The firmware cache is setup by adding a devres entry for each device that 36 criteria the firmware cache is setup by adding a devres entry for the 39 * The firmware devres entry is maintained throughout the lifetime of the
|
| /linux/drivers/iommu/riscv/ |
| H A D | iommu.c | 58 struct riscv_iommu_devres *devres = res; in riscv_iommu_devres_pages_release() local 60 iommu_free_pages(devres->addr); in riscv_iommu_devres_pages_release() 65 struct riscv_iommu_devres *devres = res; in riscv_iommu_devres_pages_match() local 68 return devres->addr == target->addr; in riscv_iommu_devres_pages_match() 74 struct riscv_iommu_devres *devres; in riscv_iommu_get_pages() local 82 devres = devres_alloc(riscv_iommu_devres_pages_release, in riscv_iommu_get_pages() 85 if (unlikely(!devres)) { in riscv_iommu_get_pages() 90 devres->addr = addr; in riscv_iommu_get_pages() 92 devres_add(iommu->dev, devres); in riscv_iommu_get_pages() 99 struct riscv_iommu_devres devres = { .addr = addr }; in riscv_iommu_free_pages() local [all …]
|
| /linux/drivers/reset/ |
| H A D | core.c | 1374 struct reset_control_bulk_devres *devres = res; in devm_reset_control_bulk_release() local 1376 reset_control_bulk_put(devres->num_rstcs, devres->rstcs); in devm_reset_control_bulk_release() 1381 struct reset_control_bulk_devres *devres = res; in devm_reset_control_bulk_release_deasserted() local 1383 reset_control_bulk_assert(devres->num_rstcs, devres->rstcs); in devm_reset_control_bulk_release_deasserted() 1384 reset_control_bulk_put(devres->num_rstcs, devres->rstcs); in devm_reset_control_bulk_release_deasserted()
|
| /linux/drivers/spmi/ |
| H A D | Makefile | 5 obj-$(CONFIG_SPMI) += spmi.o spmi-devres.o
|
| /linux/Documentation/translations/zh_CN/driver-api/gpio/ |
| H A D | index.rst | 59 drivers/gpio/gpiolib-devres.c
|
| /linux/drivers/hid/ |
| H A D | wacom_sys.c | 1257 struct wacom_sysfs_group_devres *devres = res; in wacom_devm_sysfs_group_release() local 1258 struct kobject *kobj = devres->root; in wacom_devm_sysfs_group_release() 1261 __func__, devres->group->name); in wacom_devm_sysfs_group_release() 1262 sysfs_remove_group(kobj, devres->group); in wacom_devm_sysfs_group_release() 1269 struct wacom_sysfs_group_devres *devres; in __wacom_devm_sysfs_create_group() local 1272 devres = devres_alloc(wacom_devm_sysfs_group_release, in __wacom_devm_sysfs_create_group() 1275 if (!devres) in __wacom_devm_sysfs_create_group() 1278 devres->group = group; in __wacom_devm_sysfs_create_group() 1279 devres->root = root; in __wacom_devm_sysfs_create_group() 1281 error = sysfs_create_group(devres->root, group); in __wacom_devm_sysfs_create_group() [all …]
|
| /linux/drivers/base/ |
| H A D | Kconfig | 154 This option enables kernel parameter devres.log. If set to 155 non-zero, devres debug messages are printed. Select this if 156 you are having a problem with devres or want to debug 157 resource management for a managed device. devres.log can be
|
| H A D | Makefile | 6 cpu.o firmware.o init.o map.o devres.o \
|
| /linux/samples/rust/ |
| H A D | rust_i2c_client.rs | 73 devres::Devres,
|
| H A D | rust_driver_auxiliary.rs | |
| H A D | rust_driver_pci.rs | |
| /linux/sound/soc/ |
| H A D | Makefile | 3 snd-soc-core-y += soc-pcm.o soc-devres.o soc-ops.o soc-link.o soc-card.o
|
| /linux/rust/kernel/io/ |
| H A D | mem.rs | 10 devres::DevresLt,
|
| /linux/drivers/s390/crypto/ |
| H A D | ap_bus.c | 879 int rc, card, queue, devres, drvres, ovrd; in __ap_revise_reserved() local 900 devres = test_bit_inv(card, ap_perms.apm) && in __ap_revise_reserved() 905 if (!!devres != !!drvres) { in __ap_revise_reserved() 996 int card, queue, devres, drvres, rc = -ENODEV, ovrd; in ap_device_probe() local 1017 devres = test_bit_inv(card, ap_perms.apm) && in ap_device_probe() 1021 if (!!devres != !!drvres) in ap_device_probe()
|
| /linux/rust/kernel/ |
| H A D | lib.rs | 68 pub mod devres; 64 pub mod devres; global() module
|
| /linux/Documentation/sound/kernel-api/ |
| H A D | alsa-driver-api.rst | 101 .. kernel-doc:: sound/soc/soc-devres.c
|
| /linux/rust/kernel/pci/ |
| H A D | io.rs | 9 devres::DevresLt,
|