Home
last modified time | relevance | path

Searched refs:devres (Results 1 – 25 of 36) sorted by relevance

12

/linux/drivers/base/
H A Ddevres.c26 struct devres { struct
100 if (unlikely(check_add_overflow(sizeof(struct devres), in check_dr_size()
110 static __always_inline struct devres *alloc_dr(dr_release_t release, in alloc_dr()
114 struct devres *dr; in alloc_dr()
125 memset(dr, 0, offsetof(struct devres, data)); in alloc_dr()
165 struct devres *dr; in __devres_alloc_node()
205 struct devres *dr = container_of(node, struct devres, node); in devres_for_each_res()
226 struct devres *dr = container_of(res, struct devres, data); in devres_free()
245 struct devres *dr = container_of(res, struct devres, data); in devres_add()
254 static struct devres *find_dr(struct device *dev, dr_release_t release, in find_dr()
[all …]
H A DKconfig145 This option enables kernel parameter devres.log. If set to
146 non-zero, devres debug messages are printed. Select this if
147 you are having a problem with devres or want to debug
148 resource management for a managed device. devres.log can be
H A DMakefile6 cpu.o firmware.o init.o map.o devres.o \
/linux/drivers/interconnect/
H A Dbulk.c126 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/translations/zh_CN/driver-api/phy/
H A Dphy.rst120 获取 PHY 后使用 devres 将设备与 PHY 关联。在驱动程序分离时,将在
121 devres 数据上调用 release 函数并释放 devres 数据。当 phy 是可选
177 联的 devres
/linux/drivers/hwtracing/intel_th/
H A Dcore.c635 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()
889 struct resource *devres, unsigned int ndevres) in intel_th_alloc() argument
915 switch (devres[r].flags & IORESOURCE_TYPE_BITS) { in intel_th_alloc()
917 th->resource[nr_mmios++] = devres[r]; in intel_th_alloc()
920 err = devm_request_irq(dev, devres[r].start, in intel_th_alloc()
927 th->irq = devres[r].start; in intel_th_alloc()
932 devres[r].flags); in intel_th_alloc()
H A Dintel_th.h231 struct resource *devres, unsigned int ndevres);
/linux/drivers/input/
H A Dinput.c1936 struct input_devres *devres = res; in devm_input_device_match() local
1938 return devres->input == data; in devm_input_device_match()
1943 struct input_devres *devres = res; in devm_input_device_release() local
1944 struct input_dev *input = devres->input; in devm_input_device_release()
1972 struct input_devres *devres; in devm_input_allocate_device() local
1974 devres = devres_alloc(devm_input_device_release, in devm_input_allocate_device()
1975 sizeof(*devres), GFP_KERNEL); in devm_input_allocate_device()
1976 if (!devres) in devm_input_allocate_device()
1981 devres_free(devres); in devm_input_allocate_device()
1988 devres->input = input; in devm_input_allocate_device()
[all …]
/linux/Documentation/driver-api/firmware/
H A Dfirmware_cache.rst26 * 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/reset/
H A Dcore.c1223 struct reset_control_bulk_devres *devres = res; in devm_reset_control_bulk_release() local
1225 reset_control_bulk_put(devres->num_rstcs, devres->rstcs); in devm_reset_control_bulk_release()
1230 struct reset_control_bulk_devres *devres = res; in devm_reset_control_bulk_release_deasserted() local
1232 reset_control_bulk_assert(devres->num_rstcs, devres->rstcs); in devm_reset_control_bulk_release_deasserted()
1233 reset_control_bulk_put(devres->num_rstcs, devres->rstcs); in devm_reset_control_bulk_release_deasserted()
/linux/drivers/iommu/riscv/
H A Diommu.c57 struct riscv_iommu_devres *devres = res; in riscv_iommu_devres_pages_release() local
59 iommu_free_pages(devres->addr); in riscv_iommu_devres_pages_release()
64 struct riscv_iommu_devres *devres = res; in riscv_iommu_devres_pages_match() local
67 return devres->addr == target->addr; in riscv_iommu_devres_pages_match()
73 struct riscv_iommu_devres *devres; in riscv_iommu_get_pages() local
81 devres = devres_alloc(riscv_iommu_devres_pages_release, in riscv_iommu_get_pages()
84 if (unlikely(!devres)) { in riscv_iommu_get_pages()
89 devres->addr = addr; in riscv_iommu_get_pages()
91 devres_add(iommu->dev, devres); in riscv_iommu_get_pages()
98 struct riscv_iommu_devres devres = { .addr = addr }; in riscv_iommu_free_pages() local
[all …]
/linux/rust/kernel/pci/
H A Dirq.rs10 devres,
159 devres::register(dev.as_ref(), irq_vecs, GFP_KERNEL)?; in register()
/linux/drivers/spmi/
H A DMakefile5 obj-$(CONFIG_SPMI) += spmi.o spmi-devres.o
/linux/Documentation/translations/zh_CN/driver-api/gpio/
H A Dindex.rst59 drivers/gpio/gpiolib-devres.c
/linux/drivers/hid/
H A Dwacom_sys.c1252 struct wacom_sysfs_group_devres *devres = res; in wacom_devm_sysfs_group_release() local
1253 struct kobject *kobj = devres->root; in wacom_devm_sysfs_group_release()
1256 __func__, devres->group->name); in wacom_devm_sysfs_group_release()
1257 sysfs_remove_group(kobj, devres->group); in wacom_devm_sysfs_group_release()
1264 struct wacom_sysfs_group_devres *devres; in __wacom_devm_sysfs_create_group() local
1267 devres = devres_alloc(wacom_devm_sysfs_group_release, in __wacom_devm_sysfs_create_group()
1270 if (!devres) in __wacom_devm_sysfs_create_group()
1273 devres->group = group; in __wacom_devm_sysfs_create_group()
1274 devres->root = root; in __wacom_devm_sysfs_create_group()
1276 error = sysfs_create_group(devres->root, group); in __wacom_devm_sysfs_create_group()
[all …]
/linux/kernel/irq/
H A DMakefile3 obj-y := irqdesc.o handle.o manage.o spurious.o resend.o chip.o dummychip.o devres.o kexec.o
/linux/samples/rust/
H A Drust_i2c_client.rs73 devres::Devres,
H A Drust_driver_auxiliary.rs13 devres::Devres,
H A Drust_driver_pci.rs10 devres::Devres,
/linux/sound/soc/
H A DMakefile3 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 Dmem.rs12 devres::Devres,
/linux/scripts/coccinelle/free/
H A Ddevm_free.cocci6 /// See Documentation/driver-api/driver-model/devres.rst for more information.
/linux/drivers/clk/
H A Dclk.c4887 struct clk_notifier_devres *devres = res; in devm_clk_notifier_release() local
4889 clk_notifier_unregister(devres->clk, devres->nb); in devm_clk_notifier_release()
4895 struct clk_notifier_devres *devres; in devm_clk_notifier_register() local
4898 devres = devres_alloc(devm_clk_notifier_release, in devm_clk_notifier_register()
4899 sizeof(*devres), GFP_KERNEL); in devm_clk_notifier_register()
4901 if (!devres) in devm_clk_notifier_register()
4906 devres->clk = clk; in devm_clk_notifier_register()
4907 devres->nb = nb; in devm_clk_notifier_register()
4908 devres_add(dev, devres); in devm_clk_notifier_register()
4910 devres_free(devres); in devm_clk_notifier_register()
/linux/Documentation/sound/kernel-api/
H A Dalsa-driver-api.rst101 .. kernel-doc:: sound/soc/soc-devres.c
/linux/rust/kernel/
H A Dlib.rs89 pub mod devres; module

12