/linux-6.3-rc2/drivers/clk/ |
A D | clk-devres.c | 111 clk_bulk_put(devres->num_clks, devres->clks); in devm_clk_bulk_release() 122 if (!devres) in __devm_clk_bulk_get() 130 devres->clks = clks; in __devm_clk_bulk_get() 132 devres_add(dev, devres); in __devm_clk_bulk_get() 134 devres_free(devres); in __devm_clk_bulk_get() 158 clk_bulk_put_all(devres->num_clks, devres->clks); in devm_clk_bulk_release_all() 169 if (!devres) in devm_clk_bulk_get_all() 174 *clks = devres->clks; in devm_clk_bulk_get_all() 175 devres->num_clks = ret; in devm_clk_bulk_get_all() 176 devres_add(dev, devres); in devm_clk_bulk_get_all() [all …]
|
/linux-6.3-rc2/drivers/base/ |
A D | devres.c | 26 struct devres { struct 114 struct devres *dr; 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() 260 struct devres *dr = container_of(node, struct devres, node); in find_dr() 721 devres->action(devres->data); in devm_action_release() 739 if (!devres) in devm_add_action() 1105 free_pages(devres->addr, devres->order); in devm_pages_release() [all …]
|
A D | trace.h | 19 DECLARE_EVENT_CLASS(devres, 41 DEFINE_EVENT(devres, devres_log,
|
A D | Kconfig | 145 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
|
A D | core.c | 2724 union device_attr_group_devres *devres; in devm_device_add_group() local 2728 sizeof(*devres), GFP_KERNEL); in devm_device_add_group() 2729 if (!devres) in devm_device_add_group() 2734 devres_free(devres); in devm_device_add_group() 2738 devres->group = grp; in devm_device_add_group() 2739 devres_add(dev, devres); in devm_device_add_group() 2764 sizeof(*devres), GFP_KERNEL); in devm_device_add_groups() 2765 if (!devres) in devm_device_add_groups() 2770 devres_free(devres); in devm_device_add_groups() 2774 devres->groups = groups; in devm_device_add_groups() [all …]
|
A D | Makefile | 6 cpu.o firmware.o init.o map.o devres.o \
|
/linux-6.3-rc2/drivers/interconnect/ |
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-6.3-rc2/drivers/regulator/ |
A D | devres.c | 186 regulator_bulk_free(devres->num_consumers, devres->consumers); in devm_regulator_bulk_release() 193 struct regulator_bulk_devres *devres; in _devm_regulator_bulk_get() local 197 sizeof(*devres), GFP_KERNEL); in _devm_regulator_bulk_get() 198 if (!devres) in _devm_regulator_bulk_get() 203 devres->consumers = consumers; in _devm_regulator_bulk_get() 205 devres_add(dev, devres); in _devm_regulator_bulk_get() 207 devres_free(devres); in _devm_regulator_bulk_get() 348 struct regulator_bulk_devres *devres; in devm_regulator_bulk_get_enable() local 352 devres = devm_kmalloc(dev, sizeof(*devres), GFP_KERNEL); in devm_regulator_bulk_get_enable() 353 if (!devres) in devm_regulator_bulk_get_enable() [all …]
|
/linux-6.3-rc2/Documentation/driver-api/driver-model/ |
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 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. 207 Lifetime of a devres entry begins on devres allocation and finishes 211 devres core guarantees atomicity to all basic devres operations and 212 has support for single-instance devres types (atomic 214 concurrent accesses to allocated devres data is caller's [all …]
|
A D | index.rst | 12 devres
|
/linux-6.3-rc2/drivers/hwtracing/intel_th/ |
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() 865 struct resource *devres, unsigned int ndevres) in intel_th_alloc() argument 891 switch (devres[r].flags & IORESOURCE_TYPE_BITS) { in intel_th_alloc() 893 th->resource[nr_mmios++] = devres[r]; in intel_th_alloc() 896 err = devm_request_irq(dev, devres[r].start, in intel_th_alloc() 903 th->irq = devres[r].start; in intel_th_alloc() 908 devres[r].flags); in intel_th_alloc()
|
/linux-6.3-rc2/drivers/input/ |
A D | input.c | 1966 struct input_devres *devres = res; in devm_input_device_match() local 1968 return devres->input == data; in devm_input_device_match() 1973 struct input_devres *devres = res; in devm_input_device_release() local 2002 struct input_devres *devres; in devm_input_allocate_device() local 2006 if (!devres) in devm_input_allocate_device() 2011 devres_free(devres); in devm_input_allocate_device() 2018 devres->input = input; in devm_input_allocate_device() 2019 devres_add(dev, devres); in devm_input_allocate_device() 2335 if (!devres) in input_register_device() 2338 devres->input = dev; in input_register_device() [all …]
|
/linux-6.3-rc2/Documentation/driver-api/firmware/ |
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-6.3-rc2/Documentation/driver-api/phy/ |
A D | phy.rst | 122 devm_phy_get associates the device with the PHY using devres on 124 the devres data and devres data is freed. 173 destroys the devres associated with this PHY. 184 Both these APIs destroy the PHY and devm_phy_destroy destroys the devres
|
/linux-6.3-rc2/Documentation/translations/zh_CN/driver-api/gpio/ |
A D | index.rst | 62 drivers/gpio/gpiolib-devres.c
|
/linux-6.3-rc2/Documentation/driver-api/gpio/ |
A D | index.rst | 43 .. kernel-doc:: drivers/gpio/gpiolib-devres.c
|
/linux-6.3-rc2/kernel/irq/ |
A D | Makefile | 3 obj-y := irqdesc.o handle.o manage.o spurious.o resend.o chip.o dummychip.o devres.o
|
/linux-6.3-rc2/drivers/extcon/ |
A D | Makefile | 7 extcon-core-objs += extcon.o devres.o
|
/linux-6.3-rc2/drivers/hid/ |
A D | wacom_sys.c | 1227 struct kobject *kobj = devres->root; in wacom_devm_sysfs_group_release() 1230 __func__, devres->group->name); in wacom_devm_sysfs_group_release() 1231 sysfs_remove_group(kobj, devres->group); in wacom_devm_sysfs_group_release() 1238 struct wacom_sysfs_group_devres *devres; in __wacom_devm_sysfs_create_group() local 1244 if (!devres) in __wacom_devm_sysfs_create_group() 1247 devres->group = group; in __wacom_devm_sysfs_create_group() 1248 devres->root = root; in __wacom_devm_sysfs_create_group() 1252 devres_free(devres); in __wacom_devm_sysfs_create_group() 1256 devres_add(&wacom->hdev->dev, devres); in __wacom_devm_sysfs_create_group() 1270 struct kfifo_rec_ptr_2 *devres = res; in wacom_devm_kfifo_release() local [all …]
|
/linux-6.3-rc2/Documentation/hwmon/ |
A D | submitting-patches.rst | 94 * Use devres functions whenever possible to allocate resources. For rationale 95 and supported functions, please see Documentation/driver-api/driver-model/devres.rst. 96 If a function is not supported by devres, consider using devm_add_action().
|
/linux-6.3-rc2/net/ |
A D | Makefile | 9 obj-y := devres.o socket.o core/
|
/linux-6.3-rc2/sound/soc/ |
A D | Makefile | 3 snd-soc-core-objs += soc-pcm.o soc-devres.o soc-ops.o soc-link.o soc-card.o
|
/linux-6.3-rc2/Documentation/driver-api/ |
A D | basics.rst | 113 .. kernel-doc:: drivers/base/devres.c
|
/linux-6.3-rc2/drivers/s390/crypto/ |
A D | ap_bus.c | 815 int rc, card, queue, devres, drvres; in __ap_revise_reserved() local 821 devres = test_bit_inv(card, ap_perms.apm) && in __ap_revise_reserved() 826 if (!!devres != !!drvres) { in __ap_revise_reserved() 903 int card, queue, devres, drvres, rc = -ENODEV; in ap_device_probe() local 918 devres = test_bit_inv(card, ap_perms.apm) && in ap_device_probe() 922 if (!!devres != !!drvres) in ap_device_probe()
|
/linux-6.3-rc2/drivers/reset/ |
A D | core.c | 1065 struct reset_control_bulk_devres *devres = res; in devm_reset_control_bulk_release() local 1067 reset_control_bulk_put(devres->num_rstcs, devres->rstcs); in devm_reset_control_bulk_release()
|