Home
last modified time | relevance | path

Searched full:notifier (Results 1 – 25 of 1305) sorted by relevance

12345678910>>...53

/linux-6.14.4/drivers/media/v4l2-core/
Dv4l2-async.c66 static bool match_i2c(struct v4l2_async_notifier *notifier, in match_i2c() argument
81 static struct device *notifier_dev(struct v4l2_async_notifier *notifier) in notifier_dev() argument
83 if (notifier->sd) in notifier_dev()
84 return notifier->sd->dev; in notifier_dev()
86 if (notifier->v4l2_dev) in notifier_dev()
87 return notifier->v4l2_dev->dev; in notifier_dev()
93 match_fwnode_one(struct v4l2_async_notifier *notifier, in match_fwnode_one() argument
100 dev_dbg(notifier_dev(notifier), in match_fwnode_one()
105 dev_dbg(notifier_dev(notifier), in match_fwnode_one()
111 dev_dbg(notifier_dev(notifier), in match_fwnode_one()
[all …]
/linux-6.14.4/kernel/
Dnotifier.c5 #include <linux/notifier.h>
10 #include <trace/events/notifier.h>
13 * Notifier chain core routines. The exported routines below
23 WARN(1, "notifier callback %ps already registered", in notifier_chain_register()
55 * @nl: Pointer to head of the blocking notifier chain
56 * @val: Value passed unmodified to notifier function
57 * @v: Pointer passed unmodified to notifier function
58 * @nr_to_call: Number of notifier functions to be called. Don't care
63 * last notifier function called.
79 WARN(1, "Invalid notifier called!"); in notifier_call_chain()
[all …]
/linux-6.14.4/include/media/
Dv4l2-async.h69 * @notifier: the async notifier the connection is related to
71 * notifier @waiting_list or @done_list
81 struct v4l2_async_notifier *notifier; member
88 * struct v4l2_async_notifier_operations - Asynchronous V4L2 notifier operations
91 * callback is only executed for the root notifier.
96 int (*bound)(struct v4l2_async_notifier *notifier,
99 int (*complete)(struct v4l2_async_notifier *notifier);
100 void (*unbind)(struct v4l2_async_notifier *notifier,
107 * struct v4l2_async_notifier - v4l2_device notifier data
109 * @ops: notifier operations
[all …]
Dcec-notifier.h3 * cec-notifier.h - notify CEC drivers of physical address changes
30 * If a notifier for device @dev and connector @port_name already exists, then
31 * increase the refcount and return that notifier.
33 * If it doesn't exist, then allocate a new notifier struct and return a
45 * @n: notifier. If NULL, then this function does nothing.
55 * @adap: the cec adapter that registered this notifier.
57 * If a notifier for device @dev and connector @port_name already exists, then
58 * increase the refcount and return that notifier.
60 * If it doesn't exist, then allocate a new notifier struct and return a
72 * @n: notifier. If NULL, then this function does nothing.
[all …]
/linux-6.14.4/Documentation/fault-injection/
Dnotifier-error-inject.rst1 Notifier error injection
4 Notifier error injection provides the ability to inject artificial errors to
5 specified notifier chain callbacks. It is useful to test the error handling of
6 notifier call chain failures which is rarely executed. There are kernel
9 * PM notifier
10 * Memory hotplug notifier
11 * powerpc pSeries reconfig notifier
12 * Netdevice notifier
14 PM notifier error injection module
18 /sys/kernel/debug/notifier-error-inject/pm/actions/<notifier event>/error
[all …]
/linux-6.14.4/net/core/
Dnetevent.c13 #include <linux/notifier.h>
20 * register_netevent_notifier - register a netevent notifier block
21 * @nb: notifier
23 * Register a notifier to be called when a netevent occurs.
24 * The notifier passed is linked into the kernel structures and must
35 * unregister_netevent_notifier - unregister a netevent notifier block
36 * @nb: notifier
38 * Unregister a notifier previously registered by
39 * register_neigh_notifier(). The notifier is unlinked into the
51 * call_netevent_notifiers - call all netevent notifier blocks
[all …]
/linux-6.14.4/drivers/net/ethernet/mellanox/mlx5/core/sf/
Dvhca_event.c20 struct mlx5_vhca_state_notifier *notifier; member
104 struct mlx5_vhca_state_notifier *notifier = work->notifier; in mlx5_vhca_state_work_handler() local
105 struct mlx5_core_dev *dev = notifier->dev; in mlx5_vhca_state_work_handler()
119 struct mlx5_vhca_state_notifier *notifier = in mlx5_vhca_state_change_notifier() local
129 work->notifier = notifier; in mlx5_vhca_state_change_notifier()
132 mlx5_vhca_events_work_enqueue(notifier->dev, wq_idx, &work->work); in mlx5_vhca_state_change_notifier()
150 struct mlx5_vhca_state_notifier *notifier; in mlx5_vhca_event_init() local
173 notifier = kzalloc(sizeof(*notifier), GFP_KERNEL); in mlx5_vhca_event_init()
174 if (!notifier) { in mlx5_vhca_event_init()
179 dev->priv.vhca_state_notifier = notifier; in mlx5_vhca_event_init()
[all …]
/linux-6.14.4/drivers/gpu/drm/amd/amdgpu/
Damdgpu_hmm.c32 * DOC: MMU Notifier
34 * For coherent userptr handling registers an MMU notifier to inform the driver
70 struct amdgpu_bo *bo = container_of(mni, struct amdgpu_bo, notifier); in amdgpu_hmm_invalidate_gfx()
107 struct amdgpu_bo *bo = container_of(mni, struct amdgpu_bo, notifier); in amdgpu_hmm_invalidate_hsa()
122 * amdgpu_hmm_register - register a BO for notifier updates
135 r = mmu_interval_notifier_insert(&bo->notifier, current->mm, in amdgpu_hmm_register()
139 r = mmu_interval_notifier_insert(&bo->notifier, current->mm, addr, in amdgpu_hmm_register()
145 * mmu_interval_notifier_remove() when the notifier isn't properly in amdgpu_hmm_register()
148 bo->notifier.mm = NULL; in amdgpu_hmm_register()
154 * amdgpu_hmm_unregister - unregister a BO for notifier updates
[all …]
/linux-6.14.4/drivers/staging/media/imx/
Dimx-media-dev.c17 return container_of(n, struct imx_media_dev, notifier); in notifier2dev()
20 /* async subdev bound notifier */
21 static int imx_media_subdev_bound(struct v4l2_async_notifier *notifier, in imx_media_subdev_bound() argument
25 struct imx_media_dev *imxmd = notifier2dev(notifier); in imx_media_subdev_bound()
40 /* async subdev complete notifier */
41 static int imx6_media_probe_complete(struct v4l2_async_notifier *notifier) in imx6_media_probe_complete() argument
43 struct imx_media_dev *imxmd = notifier2dev(notifier); in imx6_media_probe_complete()
47 ret = imx_media_probe_complete(notifier); in imx6_media_probe_complete()
66 /* async subdev complete notifier */
97 v4l2_async_nf_cleanup(&imxmd->notifier); in imx_media_probe()
[all …]
/linux-6.14.4/drivers/gpu/drm/radeon/
Dradeon_mn.c42 * @mn: our notifier
53 struct radeon_bo *bo = container_of(mn, struct radeon_bo, notifier); in radeon_mn_invalidate()
88 * radeon_mn_register - register a BO for notifier updates
93 * Registers an MMU notifier for the given BO at the specified address.
100 ret = mmu_interval_notifier_insert(&bo->notifier, current->mm, addr, in radeon_mn_register()
111 mmu_interval_read_begin(&bo->notifier); in radeon_mn_register()
116 * radeon_mn_unregister - unregister a BO for notifier updates
120 * Remove any registration of MMU notifier updates from the buffer object.
124 if (!bo->notifier.mm) in radeon_mn_unregister()
126 mmu_interval_notifier_remove(&bo->notifier); in radeon_mn_unregister()
[all …]
/linux-6.14.4/arch/powerpc/platforms/powernv/
Dopal-power.c12 #include <linux/notifier.h>
77 /* OPAL power-control events notifier */
116 /* OPAL EPOW event notifier block */
123 /* OPAL DPO event notifier block */
130 /* OPAL power-control event notifier block */
142 /* Register OPAL power-control events notifier */ in opal_power_control_init()
146 pr_err("Failed to register SHUTDOWN notifier, ret = %d\n", ret); in opal_power_control_init()
159 /* Register EPOW event notifier */ in opal_power_control_init()
162 pr_err("Failed to register EPOW notifier, ret = %d\n", ret); in opal_power_control_init()
164 /* Register DPO event notifier */ in opal_power_control_init()
[all …]
/linux-6.14.4/drivers/media/platform/renesas/rzg2l-cru/
Drzg2l-core.c28 return container_of(n, struct rzg2l_cru_dev, notifier); in notifier_to_cru()
36 * Group async notifier
39 static int rzg2l_cru_group_notify_complete(struct v4l2_async_notifier *notifier) in rzg2l_cru_group_notify_complete() argument
41 struct rzg2l_cru_dev *cru = notifier_to_cru(notifier); in rzg2l_cru_group_notify_complete()
92 static void rzg2l_cru_group_notify_unbind(struct v4l2_async_notifier *notifier, in rzg2l_cru_group_notify_unbind() argument
96 struct rzg2l_cru_dev *cru = notifier_to_cru(notifier); in rzg2l_cru_group_notify_unbind()
110 static int rzg2l_cru_group_notify_bound(struct v4l2_async_notifier *notifier, in rzg2l_cru_group_notify_bound() argument
114 struct rzg2l_cru_dev *cru = notifier_to_cru(notifier); in rzg2l_cru_group_notify_bound()
163 asd = v4l2_async_nf_add_fwnode(&cru->notifier, fwnode, in rzg2l_cru_mc_parse_of()
184 v4l2_async_nf_init(&cru->notifier, &cru->v4l2_dev); in rzg2l_cru_mc_parse_of_graph()
[all …]
/linux-6.14.4/drivers/staging/media/sunxi/sun6i-isp/
Dsun6i_isp_proc.c399 static int sun6i_isp_proc_notifier_bound(struct v4l2_async_notifier *notifier, in sun6i_isp_proc_notifier_bound() argument
404 container_of(notifier, struct sun6i_isp_device, proc.notifier); in sun6i_isp_proc_notifier_bound()
432 sun6i_isp_proc_notifier_complete(struct v4l2_async_notifier *notifier) in sun6i_isp_proc_notifier_complete() argument
435 container_of(notifier, struct sun6i_isp_device, proc.notifier); in sun6i_isp_proc_notifier_complete()
459 struct v4l2_async_notifier *notifier = &isp_dev->proc.notifier; in sun6i_isp_proc_source_setup() local
474 v4l2_async_nf_add_fwnode_remote(notifier, handle, in sun6i_isp_proc_source_setup()
497 struct v4l2_async_notifier *notifier = &proc->notifier; in sun6i_isp_proc_setup() local
543 v4l2_async_nf_init(notifier, v4l2_dev); in sun6i_isp_proc_setup()
544 notifier->ops = &sun6i_isp_proc_notifier_ops; in sun6i_isp_proc_setup()
551 ret = v4l2_async_nf_register(notifier); in sun6i_isp_proc_setup()
[all …]
/linux-6.14.4/drivers/gpu/drm/nouveau/
Dnouveau_svm.c256 container_of(mn, struct nouveau_svmm, notifier); in nouveau_svmm_invalidate_range_start()
294 kfree(container_of(mn, struct nouveau_svmm, notifier)); in nouveau_svmm_free_notifier()
310 mmu_notifier_put(&svmm->notifier); in nouveau_svmm_fini()
359 svmm->notifier.ops = &nouveau_mn_ops; in nouveau_svmm_init()
360 ret = __mmu_notifier_register(&svmm->notifier, current->mm); in nouveau_svmm_init()
502 struct mmu_interval_notifier notifier; member
511 container_of(mni, struct svm_notifier, notifier); in nouveau_svm_range_invalidate()
521 * notifier that does invalidation is always called after the range in nouveau_svm_range_invalidate()
522 * notifier. in nouveau_svm_range_invalidate()
588 struct svm_notifier *notifier) in nouveau_atomic_range_fault() argument
[all …]
/linux-6.14.4/drivers/video/fbdev/core/
Dfb_notify.c14 #include <linux/notifier.h>
20 * fb_register_client - register a client notifier
21 * @nb: notifier block to callback on events
32 * fb_unregister_client - unregister a client notifier
33 * @nb: notifier block to callback on events
48 * Return: The return value of the last notifier function
/linux-6.14.4/drivers/usb/core/
Dnotify.c7 * notifier functions originally based on those in kernel/sys.c
16 #include <linux/notifier.h>
24 * usb_register_notify - register a notifier callback whenever a usb change happens
25 * @nb: pointer to the notifier block for the callback events.
36 * usb_unregister_notify - unregister a notifier callback
37 * @nb: pointer to the notifier block for the callback events.
/linux-6.14.4/include/linux/soc/ti/
Dknav_qmss.h33 * @KNAV_QUEUE_SET_NOTIFIER: Set a notifier callback to a queue handle.
34 * @KNAV_QUEUE_ENABLE_NOTIFY: Enable notifier callback for a queue handle.
35 * @KNAV_QUEUE_DISABLE_NOTIFY: Disable notifier callback for a queue handle.
47 /* Queue notifier callback prototype */
51 * struct knav_queue_notify_config: Notifier configuration
52 * @fn: Notifier function
53 * @fn_arg: Notifier function arguments
/linux-6.14.4/drivers/media/platform/sunxi/sun6i-csi/
Dsun6i_csi_bridge.c646 sun6i_csi_bridge_notifier_bound(struct v4l2_async_notifier *notifier, in sun6i_csi_bridge_notifier_bound() argument
651 container_of(notifier, struct sun6i_csi_device, in sun6i_csi_bridge_notifier_bound()
652 bridge.notifier); in sun6i_csi_bridge_notifier_bound()
689 sun6i_csi_bridge_notifier_complete(struct v4l2_async_notifier *notifier) in sun6i_csi_bridge_notifier_complete() argument
692 container_of(notifier, struct sun6i_csi_device, in sun6i_csi_bridge_notifier_complete()
693 bridge.notifier); in sun6i_csi_bridge_notifier_complete()
716 struct v4l2_async_notifier *notifier = &csi_dev->bridge.notifier; in sun6i_csi_bridge_source_setup() local
750 v4l2_async_nf_add_fwnode_remote(notifier, handle, in sun6i_csi_bridge_source_setup()
774 struct v4l2_async_notifier *notifier = &bridge->notifier; in sun6i_csi_bridge_setup() local
827 v4l2_async_subdev_nf_init(notifier, subdev); in sun6i_csi_bridge_setup()
[all …]
/linux-6.14.4/drivers/media/platform/sunxi/sun4i-csi/
Dsun4i_csi.c53 static int sun4i_csi_notify_bound(struct v4l2_async_notifier *notifier, in sun4i_csi_notify_bound() argument
57 struct sun4i_csi *csi = container_of(notifier, struct sun4i_csi, in sun4i_csi_notify_bound()
58 notifier); in sun4i_csi_notify_bound()
74 static int sun4i_csi_notify_complete(struct v4l2_async_notifier *notifier) in sun4i_csi_notify_complete() argument
76 struct sun4i_csi *csi = container_of(notifier, struct sun4i_csi, in sun4i_csi_notify_complete()
77 notifier); in sun4i_csi_notify_complete()
135 v4l2_async_nf_init(&csi->notifier, &csi->v4l); in sun4i_csi_notifier_init()
148 asd = v4l2_async_nf_add_fwnode_remote(&csi->notifier, ep, in sun4i_csi_notifier_init()
155 csi->notifier.ops = &sun4i_csi_notify_ops; in sun4i_csi_notifier_init()
255 ret = v4l2_async_nf_register(&csi->notifier); in sun4i_csi_probe()
[all …]
/linux-6.14.4/drivers/pwm/
Dpwm-iqs620a.c22 #include <linux/notifier.h>
38 struct notifier_block notifier; member
139 static int iqs620_pwm_notifier(struct notifier_block *notifier, in iqs620_pwm_notifier() argument
148 iqs620_pwm = container_of(notifier, struct iqs620_pwm_private, in iqs620_pwm_notifier()
149 notifier); in iqs620_pwm_notifier()
182 &iqs620_pwm->notifier); in iqs620_pwm_notifier_unregister()
185 "Failed to unregister notifier: %d\n", ret); in iqs620_pwm_notifier_unregister()
220 iqs620_pwm->notifier.notifier_call = iqs620_pwm_notifier; in iqs620_pwm_probe()
222 &iqs620_pwm->notifier); in iqs620_pwm_probe()
224 dev_err(&pdev->dev, "Failed to register notifier: %d\n", ret); in iqs620_pwm_probe()
/linux-6.14.4/include/linux/
Dnotifier.h3 * Routines to manage notifier chains for passing status changes to any
19 * Notifier chains are of four types:
21 * Atomic notifier chains: Chain callbacks run in interrupt/atomic
23 * Blocking notifier chains: Chain callbacks run in process context.
25 * Raw notifier chains: There are no restrictions on callbacks,
28 * SRCU notifier chains: A variant of blocking notifier chains, with
40 * SRCU notifier chains are an alternative form of blocking notifier chains.
45 * SRCU notifier chains should be used when the chain will be called very
191 * Clean way to return from the notifier and stop further calls.
/linux-6.14.4/drivers/gpu/drm/xe/
Dxe_hmm.c34 if (mmu_interval_read_retry(range->notifier, range->notifier_seq)) { in xe_alloc_sg()
66 * @notifier_sem: The xe notifier lock.
203 * This function also read mmu notifier sequence # (
230 .notifier = &uvma->userptr.notifier, in xe_hmm_userptr_populate_range()
241 mmap_assert_locked(userptr->notifier.mm); in xe_hmm_userptr_populate_range()
246 notifier_seq = mmu_interval_read_begin(&userptr->notifier); in xe_hmm_userptr_populate_range()
261 if (!mmget_not_zero(userptr->notifier.mm)) { in xe_hmm_userptr_populate_range()
269 hmm_range.notifier_seq = mmu_interval_read_begin(&userptr->notifier); in xe_hmm_userptr_populate_range()
272 mmap_read_lock(userptr->notifier.mm); in xe_hmm_userptr_populate_range()
277 mmap_read_unlock(userptr->notifier.mm); in xe_hmm_userptr_populate_range()
[all …]
/linux-6.14.4/drivers/iio/position/
Diqs624-pos.c15 #include <linux/notifier.h>
27 struct notifier_block notifier; member
50 static int iqs624_pos_notifier(struct notifier_block *notifier, in iqs624_pos_notifier() argument
61 iqs624_pos = container_of(notifier, struct iqs624_pos_private, in iqs624_pos_notifier()
62 notifier); in iqs624_pos_notifier()
106 &iqs624_pos->notifier); in iqs624_pos_notifier_unregister()
109 "Failed to unregister notifier: %d\n", ret); in iqs624_pos_notifier_unregister()
257 iqs624_pos->notifier.notifier_call = iqs624_pos_notifier; in iqs624_pos_probe()
259 &iqs624_pos->notifier); in iqs624_pos_probe()
261 dev_err(&pdev->dev, "Failed to register notifier: %d\n", ret); in iqs624_pos_probe()
/linux-6.14.4/Documentation/driver-api/surface_aggregator/clients/
Dcdev.rst85 - Register event notifier.
91 - Unregister event notifier.
149 Register a notifier for the event target category specified in the given
150 notifier description with the specified priority. Notifiers registration is
152 notifier for a specific target category has been registered, all events of that
157 Only one notifier can be registered per target category and client instance. If
158 a notifier has already been registered, this IOCTL will fail with ``-EEXIST``.
168 Unregisters the notifier associated with the specified target category. The
169 priority field will be ignored by this IOCTL. If no notifier has been
180 Note that this call will not register a notifier itself, it will only enable
[all …]
/linux-6.14.4/drivers/media/platform/xilinx/
Dxilinx-vipp.c59 &xdev->notifier.done_list, in xvip_graph_find_entity()
60 &xdev->notifier.waiting_list in xvip_graph_find_entity()
285 static int xvip_graph_notify_complete(struct v4l2_async_notifier *notifier) in xvip_graph_notify_complete() argument
288 container_of(notifier, struct xvip_composite_device, notifier); in xvip_graph_notify_complete()
296 list_for_each_entry(asd, &xdev->notifier.done_list, asc_entry) { in xvip_graph_notify_complete()
315 static int xvip_graph_notify_bound(struct v4l2_async_notifier *notifier, in xvip_graph_notify_bound() argument
365 xge = v4l2_async_nf_add_fwnode(&xdev->notifier, remote, in xvip_graph_parse_one()
377 v4l2_async_nf_cleanup(&xdev->notifier); in xvip_graph_parse_one()
398 list_for_each_entry(asd, &xdev->notifier.waiting_list, asc_entry) { in xvip_graph_parse()
402 v4l2_async_nf_cleanup(&xdev->notifier); in xvip_graph_parse()
[all …]

12345678910>>...53