Home
last modified time | relevance | path

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

12

/Linux-v4.19/drivers/base/
Ddevres.c25 struct devres { struct
84 static __always_inline struct devres * alloc_dr(dr_release_t release, in alloc_dr()
88 struct devres *dr; in alloc_dr()
91 if (unlikely(check_add_overflow(sizeof(struct devres), size, in alloc_dr()
99 memset(dr, 0, offsetof(struct devres, data)); in alloc_dr()
117 struct devres *dr; in __devres_alloc_node()
143 struct devres *dr; in devres_alloc_node()
183 struct devres *dr = container_of(node, struct devres, node); in devres_for_each_res()
204 struct devres *dr = container_of(res, struct devres, data); in devres_free()
223 struct devres *dr = container_of(res, struct devres, data); in devres_add()
[all …]
Dcore.c1133 union device_attr_group_devres *devres = res; in devm_attr_group_remove() local
1134 const struct attribute_group *group = devres->group; in devm_attr_group_remove()
1142 union device_attr_group_devres *devres = res; in devm_attr_groups_remove() local
1143 const struct attribute_group **groups = devres->groups; in devm_attr_groups_remove()
1161 union device_attr_group_devres *devres; in devm_device_add_group() local
1164 devres = devres_alloc(devm_attr_group_remove, in devm_device_add_group()
1165 sizeof(*devres), GFP_KERNEL); in devm_device_add_group()
1166 if (!devres) in devm_device_add_group()
1171 devres_free(devres); in devm_device_add_group()
1175 devres->group = grp; in devm_device_add_group()
[all …]
DMakefile6 cpu.o firmware.o init.o map.o devres.o \
DKconfig132 This option enables kernel parameter devres.log. If set to
133 non-zero, devres debug messages are printed. Select this if
134 you are having a problem with devres or want to debug
135 resource management for a managed device. devres.log can be
/Linux-v4.19/drivers/input/
Dinput-polldev.c184 struct input_polled_devres *devres = res; in devm_input_polldev_match() local
186 return devres->polldev == data; in devm_input_polldev_match()
191 struct input_polled_devres *devres = res; in devm_input_polldev_release() local
192 struct input_polled_dev *polldev = devres->polldev; in devm_input_polldev_release()
203 struct input_polled_devres *devres = res; in devm_input_polldev_unregister() local
204 struct input_polled_dev *polldev = devres->polldev; in devm_input_polldev_unregister()
240 struct input_polled_devres *devres; in devm_input_allocate_polled_device() local
242 devres = devres_alloc(devm_input_polldev_release, sizeof(*devres), in devm_input_allocate_polled_device()
244 if (!devres) in devm_input_allocate_polled_device()
249 devres_free(devres); in devm_input_allocate_polled_device()
[all …]
Dinput.c1815 struct input_devres *devres = res; in devm_input_device_match() local
1817 return devres->input == data; in devm_input_device_match()
1822 struct input_devres *devres = res; in devm_input_device_release() local
1823 struct input_dev *input = devres->input; in devm_input_device_release()
1851 struct input_devres *devres; in devm_input_allocate_device() local
1853 devres = devres_alloc(devm_input_device_release, in devm_input_allocate_device()
1854 sizeof(*devres), GFP_KERNEL); in devm_input_allocate_device()
1855 if (!devres) in devm_input_allocate_device()
1860 devres_free(devres); in devm_input_allocate_device()
1867 devres->input = input; in devm_input_allocate_device()
[all …]
/Linux-v4.19/drivers/clk/
Dclk-devres.c44 struct clk_bulk_devres *devres = res; in devm_clk_bulk_release() local
46 clk_bulk_put(devres->num_clks, devres->clks); in devm_clk_bulk_release()
52 struct clk_bulk_devres *devres; in devm_clk_bulk_get() local
55 devres = devres_alloc(devm_clk_bulk_release, in devm_clk_bulk_get()
56 sizeof(*devres), GFP_KERNEL); in devm_clk_bulk_get()
57 if (!devres) in devm_clk_bulk_get()
62 devres->clks = clks; in devm_clk_bulk_get()
63 devres->num_clks = num_clks; in devm_clk_bulk_get()
64 devres_add(dev, devres); in devm_clk_bulk_get()
66 devres_free(devres); in devm_clk_bulk_get()
DMakefile3 obj-$(CONFIG_HAVE_CLK) += clk-devres.o clk-bulk.o
/Linux-v4.19/Documentation/driver-model/
Ddevres.txt11 3. Devres Group : Group devres'es and release them together
20 devres came up while trying to convert libata to use iomap. Each
48 devres is basically linked list of arbitrarily sized memory areas
49 associated with a struct device. Each devres entry is associated with
50 a release function. A devres can be released in several ways. No
51 matter what, all devres entries are released on driver detach. On
53 devres entry is freed.
56 drivers using devres. For example, coherent DMA memory is acquired
131 devres. Complexity is shifted from less maintained low level drivers
139 Devres entries can be grouped using devres group. When a group is
[all …]
/Linux-v4.19/drivers/regulator/
Ddevres.c130 struct regulator_bulk_devres *devres = res; in devm_regulator_bulk_release() local
132 regulator_bulk_free(devres->num_consumers, devres->consumers); in devm_regulator_bulk_release()
153 struct regulator_bulk_devres *devres; in devm_regulator_bulk_get() local
156 devres = devres_alloc(devm_regulator_bulk_release, in devm_regulator_bulk_get()
157 sizeof(*devres), GFP_KERNEL); in devm_regulator_bulk_get()
158 if (!devres) in devm_regulator_bulk_get()
163 devres->consumers = consumers; in devm_regulator_bulk_get()
164 devres->num_consumers = num_consumers; in devm_regulator_bulk_get()
165 devres_add(dev, devres); in devm_regulator_bulk_get()
167 devres_free(devres); in devm_regulator_bulk_get()
/Linux-v4.19/drivers/reset/
Dcore.c777 struct reset_control **devres; in devm_reset_control_array_get() local
780 devres = devres_alloc(devm_reset_control_release, sizeof(*devres), in devm_reset_control_array_get()
782 if (!devres) in devm_reset_control_array_get()
787 devres_free(devres); in devm_reset_control_array_get()
791 *devres = rstc; in devm_reset_control_array_get()
792 devres_add(dev, devres); in devm_reset_control_array_get()
/Linux-v4.19/drivers/hwtracing/intel_th/
Dcore.c604 struct resource *devres = th->resource; in intel_th_subdevice_alloc() local
617 res[r].end = resource_size(&devres[bar]) - 1; in intel_th_subdevice_alloc()
621 res[r].start += devres[bar].start; in intel_th_subdevice_alloc()
622 res[r].end += devres[bar].start; in intel_th_subdevice_alloc()
817 struct resource *devres, unsigned int ndevres, int irq) in intel_th_alloc() argument
824 if (devres[r].flags & IORESOURCE_IRQ) { in intel_th_alloc()
825 irq = devres[r].start; in intel_th_alloc()
848 th->resource = devres; in intel_th_alloc()
Dintel_th.h216 struct resource *devres, unsigned int ndevres, int irq);
/Linux-v4.19/Documentation/driver-api/firmware/
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-v4.19/Documentation/
Dphy.txt117 devm_phy_get associates the device with the PHY using devres on
119 the devres data and devres data is freed. phy_optional_get and
146 destroys the devres associated with this PHY.
157 Both these APIs destroy the PHY and devm_phy_destroy destroys the devres
/Linux-v4.19/Documentation/driver-api/gpio/
Dindex.rst41 .. kernel-doc:: drivers/gpio/devres.c
/Linux-v4.19/kernel/irq/
DMakefile3 obj-y := irqdesc.o handle.o manage.o spurious.o resend.o chip.o dummychip.o devres.o
/Linux-v4.19/drivers/extcon/
DMakefile7 extcon-core-objs += extcon.o devres.o
/Linux-v4.19/drivers/s390/crypto/
Dap_bus.c691 int rc, card, queue, devres, drvres; in __ap_revise_reserved() local
697 devres = test_bit_inv(card, ap_perms.apm) in __ap_revise_reserved()
702 if (!!devres != !!drvres) { in __ap_revise_reserved()
761 int card, queue, devres, drvres, rc; in ap_device_probe() local
773 devres = test_bit_inv(card, ap_perms.apm) in ap_device_probe()
777 if (!!devres != !!drvres) in ap_device_probe()
/Linux-v4.19/Documentation/hwmon/
Dsubmitting-patches90 * Use devres functions whenever possible to allocate resources. For rationale
91 and supported functions, please see Documentation/driver-model/devres.txt.
92 If a function is not supported by devres, consider using devm_add_action().
/Linux-v4.19/drivers/hid/
Dwacom_sys.c1194 struct wacom_sysfs_group_devres *devres = res; in wacom_devm_sysfs_group_release() local
1195 struct kobject *kobj = devres->root; in wacom_devm_sysfs_group_release()
1198 __func__, devres->group->name); in wacom_devm_sysfs_group_release()
1199 sysfs_remove_group(kobj, devres->group); in wacom_devm_sysfs_group_release()
1206 struct wacom_sysfs_group_devres *devres; in __wacom_devm_sysfs_create_group() local
1209 devres = devres_alloc(wacom_devm_sysfs_group_release, in __wacom_devm_sysfs_create_group()
1212 if (!devres) in __wacom_devm_sysfs_create_group()
1215 devres->group = group; in __wacom_devm_sysfs_create_group()
1216 devres->root = root; in __wacom_devm_sysfs_create_group()
1218 error = sysfs_create_group(devres->root, group); in __wacom_devm_sysfs_create_group()
[all …]
/Linux-v4.19/sound/soc/
DMakefile3 snd-soc-core-objs += soc-pcm.o soc-io.o soc-devres.o soc-ops.o
/Linux-v4.19/Documentation/driver-api/
Dbasics.rst127 .. kernel-doc:: drivers/base/devres.c
/Linux-v4.19/scripts/coccinelle/free/
Ddevm_free.cocci5 /// See Documentation/driver-model/devres.txt for more information.
/Linux-v4.19/Documentation/sound/kernel-api/
Dalsa-driver-api.rst101 .. kernel-doc:: sound/soc/soc-devres.c

12