/linux/drivers/media/v4l2-core/ |
H A D | v4l2-async.c | 66 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/kernel/ |
H A D | notifier.c | 5 #include <linux/notifier.h> 11 #include <trace/events/notifier.h> 14 * Notifier list for kernel code which wants to be called 21 * Notifier chain core routines. The exported routines below 31 WARN(1, "notifier callback %ps already registered", in notifier_chain_register() 63 * @nl: Pointer to head of the blocking notifier chain 64 * @val: Value passed unmodified to notifier function 65 * @v: Pointer passed unmodified to notifier function 66 * @nr_to_call: Number of notifier functions to be called. Don't care 71 * last notifier function called. [all …]
|
/linux/include/media/ |
H A D | v4l2-async.h | 69 * @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 …]
|
H A D | cec-notifier.h | 3 * 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/Documentation/fault-injection/ |
H A D | notifier-error-inject.rst | 1 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/net/core/ |
H A D | netevent.c | 13 #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/drivers/net/ethernet/mellanox/mlx5/core/sf/ |
H A D | vhca_event.c | 20 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/drivers/gpu/drm/amd/amdgpu/ |
H A D | amdgpu_hmm.c | 32 * 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/drivers/staging/media/imx/ |
H A D | imx-media-dev.c | 17 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/arch/powerpc/platforms/powernv/ |
H A D | opal-power.c | 12 #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/drivers/gpu/drm/radeon/ |
H A D | radeon_mn.c | 42 * @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/drivers/media/platform/renesas/rzg2l-cru/ |
H A D | rzg2l-core.c | 28 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() 93 static void rzg2l_cru_group_notify_unbind(struct v4l2_async_notifier *notifier, in rzg2l_cru_group_notify_unbind() argument 97 struct rzg2l_cru_dev *cru = notifier_to_cru(notifier); in rzg2l_cru_group_notify_unbind() 111 static int rzg2l_cru_group_notify_bound(struct v4l2_async_notifier *notifier, in rzg2l_cru_group_notify_bound() argument 115 struct rzg2l_cru_dev *cru = notifier_to_cru(notifier); in rzg2l_cru_group_notify_bound() 164 asd = v4l2_async_nf_add_fwnode(&cru->notifier, fwnode, in rzg2l_cru_mc_parse_of() 185 v4l2_async_nf_init(&cru->notifier, &cru->v4l2_dev); in rzg2l_cru_mc_parse_of_graph() [all …]
|
/linux/drivers/staging/media/sunxi/sun6i-isp/ |
H A D | sun6i_isp_proc.c | 399 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/drivers/gpu/drm/nouveau/ |
H A D | nouveau_svm.c | 256 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/drivers/media/platform/sunxi/sun6i-csi/ |
H A D | sun6i_csi_bridge.c | 646 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/drivers/video/fbdev/core/ |
H A D | fb_notify.c | 14 #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/drivers/media/platform/sunxi/sun4i-csi/ |
H A D | sun4i_csi.c | 53 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/include/linux/soc/ti/ |
H A D | knav_qmss.h | 33 * @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/drivers/usb/core/ |
H A D | notify.c | 7 * 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/drivers/pwm/ |
H A D | pwm-iqs620a.c | 22 #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/include/linux/ |
H A D | notifier.h | 3 * 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/drivers/media/platform/sunxi/sun6i-mipi-csi2/ |
H A D | sun6i_mipi_csi2.c | 411 sun6i_mipi_csi2_notifier_bound(struct v4l2_async_notifier *notifier, in sun6i_mipi_csi2_notifier_bound() argument 415 struct v4l2_subdev *subdev = notifier->sd; in sun6i_mipi_csi2_notifier_bound() 417 container_of(notifier, struct sun6i_mipi_csi2_device, in sun6i_mipi_csi2_notifier_bound() 418 bridge.notifier); in sun6i_mipi_csi2_notifier_bound() 465 struct v4l2_async_notifier *notifier = &csi2_dev->bridge.notifier; in sun6i_mipi_csi2_bridge_source_setup() local 484 v4l2_async_nf_add_fwnode_remote(notifier, handle, in sun6i_mipi_csi2_bridge_source_setup() 499 struct v4l2_async_notifier *notifier = &bridge->notifier; in sun6i_mipi_csi2_bridge_setup() local 537 v4l2_async_subdev_nf_init(notifier, subdev); in sun6i_mipi_csi2_bridge_setup() 538 notifier->ops = &sun6i_mipi_csi2_notifier_ops; in sun6i_mipi_csi2_bridge_setup() 544 /* Only register the notifier when a sensor is connected. */ in sun6i_mipi_csi2_bridge_setup() [all …]
|
/linux/drivers/media/platform/xilinx/ |
H A D | xilinx-vipp.c | 59 &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 …]
|
/linux/Documentation/driver-api/surface_aggregator/clients/ |
H A D | cdev.rst | 85 - 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/drivers/iio/position/ |
H A D | iqs624-pos.c | 15 #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()
|