/linux/drivers/media/v4l2-core/ |
H A D | v4l2-async.c | 83 if (notifier->sd) in notifier_dev() 86 if (notifier->v4l2_dev) in notifier_dev() 248 notifier = notifier->parent; in v4l2_async_nf_find_v4l2_dev() 289 if (notifier->sd) in v4l2_async_nf_try_complete() 295 notifier = notifier->parent; in v4l2_async_nf_try_complete() 577 notifier->sd = sd; in v4l2_async_subdev_nf_init() 623 if (WARN_ON(!notifier->v4l2_dev == !notifier->sd)) in v4l2_async_nf_register() 633 if (!notifier || (!notifier->v4l2_dev && !notifier->sd)) in __v4l2_async_nf_unregister() 655 if (!notifier || !notifier->waiting_list.next) in __v4l2_async_nf_cleanup() 705 asc->notifier = notifier; in __v4l2_async_nf_add_fwnode() [all …]
|
/linux/Documentation/fault-injection/ |
H A D | notifier-error-inject.rst | 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 20 Possible PM notifier events to be failed are: 37 /sys/kernel/debug/notifier-error-inject/memory/actions/<notifier event>/error 55 /sys/kernel/debug/notifier-error-inject/pSeries-reconfig/actions/<notifier event>/error 64 Netdevice notifier error injection module [all …]
|
/linux/include/media/ |
H A D | v4l2-async.h | 81 struct v4l2_async_notifier *notifier; member 96 int (*bound)(struct v4l2_async_notifier *notifier, 99 int (*complete)(struct v4l2_async_notifier *notifier); 100 void (*unbind)(struct v4l2_async_notifier *notifier, 159 void v4l2_async_nf_init(struct v4l2_async_notifier *notifier, 177 __v4l2_async_nf_add_fwnode(struct v4l2_async_notifier *notifier, 195 #define v4l2_async_nf_add_fwnode(notifier, fwnode, type) \ argument 222 #define v4l2_async_nf_add_fwnode_remote(notifier, ep, type) \ argument 226 __v4l2_async_nf_add_i2c(struct v4l2_async_notifier *notifier, 243 #define v4l2_async_nf_add_i2c(notifier, adapter, address, type) \ argument [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() 129 work->notifier = notifier; 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() 180 notifier->dev = dev; in mlx5_vhca_event_init() 229 notifier = dev->priv.vhca_state_notifier; in mlx5_vhca_event_start() [all …]
|
/linux/drivers/gpu/drm/amd/amdgpu/ |
H A D | amdgpu_hmm.c | 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() 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() 148 bo->notifier.mm = NULL; in amdgpu_hmm_register() 162 if (!bo->notifier.mm) in amdgpu_hmm_unregister() 164 mmu_interval_notifier_remove(&bo->notifier); in amdgpu_hmm_unregister() 165 bo->notifier.mm = NULL; in amdgpu_hmm_unregister() 190 hmm_range->notifier = notifier; in amdgpu_hmm_range_get_pages() 211 hmm_range->notifier_seq = mmu_interval_read_begin(notifier); in amdgpu_hmm_range_get_pages() [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() 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() 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() 97 v4l2_async_nf_cleanup(&imxmd->notifier); in imx_media_probe() 116 v4l2_async_nf_unregister(&imxmd->notifier); in imx_media_remove() 118 v4l2_async_nf_cleanup(&imxmd->notifier); in imx_media_remove()
|
/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() 41 struct rzg2l_cru_dev *cru = notifier_to_cru(notifier); in rzg2l_cru_group_notify_complete() 97 struct rzg2l_cru_dev *cru = notifier_to_cru(notifier); in rzg2l_cru_group_notify_unbind() 115 struct rzg2l_cru_dev *cru = notifier_to_cru(notifier); in rzg2l_cru_group_notify_bound() 185 v4l2_async_nf_init(&cru->notifier, &cru->v4l2_dev); in rzg2l_cru_mc_parse_of_graph() 191 cru->notifier.ops = &rzg2l_cru_async_ops; in rzg2l_cru_mc_parse_of_graph() 193 if (list_empty(&cru->notifier.waiting_list)) in rzg2l_cru_mc_parse_of_graph() 196 ret = v4l2_async_nf_register(&cru->notifier); in rzg2l_cru_mc_parse_of_graph() 199 v4l2_async_nf_cleanup(&cru->notifier); in rzg2l_cru_mc_parse_of_graph() 306 v4l2_async_nf_unregister(&cru->notifier); in rzg2l_cru_remove() [all …]
|
/linux/drivers/staging/media/sunxi/sun6i-isp/ |
H A D | sun6i_isp_proc.c | 404 container_of(notifier, struct sun6i_isp_device, proc.notifier); in sun6i_isp_proc_notifier_bound() 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 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() 561 v4l2_async_nf_cleanup(notifier); in sun6i_isp_proc_setup() 573 struct v4l2_async_notifier *notifier = &isp_dev->proc.notifier; in sun6i_isp_proc_cleanup() local 576 v4l2_async_nf_unregister(notifier); in sun6i_isp_proc_cleanup() [all …]
|
/linux/drivers/gpu/drm/radeon/ |
H A D | radeon_mn.c | 53 struct radeon_bo *bo = container_of(mn, struct radeon_bo, notifier); in radeon_mn_invalidate() 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() 124 if (!bo->notifier.mm) in radeon_mn_unregister() 126 mmu_interval_notifier_remove(&bo->notifier); in radeon_mn_unregister() 127 bo->notifier.mm = NULL; in radeon_mn_unregister()
|
/linux/drivers/gpu/drm/nouveau/ |
H A D | nouveau_svm.c | 598 ret = mmu_interval_notifier_insert(¬ifier->notifier, mm, in nouveau_atomic_range_fault() 610 notifier_seq = mmu_interval_read_begin(¬ifier->notifier); in nouveau_atomic_range_fault() 621 if (!mmu_interval_read_retry(¬ifier->notifier, in nouveau_atomic_range_fault() 644 mmu_interval_notifier_remove(¬ifier->notifier); in nouveau_atomic_range_fault() 659 .notifier = ¬ifier->notifier, in nouveau_range_fault() 667 ret = mmu_interval_notifier_insert(¬ifier->notifier, mm, in nouveau_range_fault() 673 range.start = notifier->notifier.interval_tree.start; in nouveau_range_fault() 674 range.end = notifier->notifier.interval_tree.last + 1; in nouveau_range_fault() 707 mmu_interval_notifier_remove(¬ifier->notifier); in nouveau_range_fault() 833 ¬ifier); in nouveau_svm_fault() [all …]
|
/linux/drivers/gpu/drm/xe/ |
H A D | xe_hmm.c | 184 mmap_assert_locked(userptr->notifier.mm); in xe_hmm_userptr_populate_range() 189 notifier_seq = mmu_interval_read_begin(&userptr->notifier); in xe_hmm_userptr_populate_range() 204 if (!mmget_not_zero(userptr->notifier.mm)) { in xe_hmm_userptr_populate_range() 211 hmm_range.notifier = &userptr->notifier; in xe_hmm_userptr_populate_range() 217 hmm_range.notifier_seq = mmu_interval_read_begin(&userptr->notifier); in xe_hmm_userptr_populate_range() 220 mmap_read_lock(userptr->notifier.mm); in xe_hmm_userptr_populate_range() 225 mmap_read_unlock(userptr->notifier.mm); in xe_hmm_userptr_populate_range() 236 mmput(userptr->notifier.mm); in xe_hmm_userptr_populate_range()
|
/linux/drivers/md/dm-vdo/ |
H A D | vdo.c | 1055 notifier->state = NOTIFIED; in vdo_enable_read_only_entry() 1091 spin_lock(¬ifier->lock); in vdo_wait_until_not_entering_read_only_mode() 1093 notifier->waiter = parent; in vdo_wait_until_not_entering_read_only_mode() 1096 spin_unlock(¬ifier->lock); in vdo_wait_until_not_entering_read_only_mode() 1130 spin_lock(¬ifier->lock); in finish_entering_read_only_mode() 1131 notifier->state = NOTIFIED; in finish_entering_read_only_mode() 1132 spin_unlock(¬ifier->lock); in finish_entering_read_only_mode() 1134 if (notifier->waiter != NULL) in finish_entering_read_only_mode() 1219 spin_lock(¬ifier->lock); in vdo_allow_read_only_mode_entry() 1225 notifier->waiter = parent; in vdo_allow_read_only_mode_entry() [all …]
|
/linux/drivers/media/platform/sunxi/sun4i-csi/ |
H A D | sun4i_csi.c | 42 static int sun4i_csi_notify_bound(struct v4l2_async_notifier *notifier, in sun4i_csi_notify_bound() argument 46 struct sun4i_csi *csi = container_of(notifier, struct sun4i_csi, in sun4i_csi_notify_bound() 47 notifier); in sun4i_csi_notify_bound() 65 struct sun4i_csi *csi = container_of(notifier, struct sun4i_csi, in sun4i_csi_notify_complete() 66 notifier); in sun4i_csi_notify_complete() 124 v4l2_async_nf_init(&csi->notifier, &csi->v4l); in sun4i_csi_notifier_init() 137 asd = v4l2_async_nf_add_fwnode_remote(&csi->notifier, ep, in sun4i_csi_notifier_init() 144 csi->notifier.ops = &sun4i_csi_notify_ops; in sun4i_csi_notifier_init() 243 ret = v4l2_async_nf_register(&csi->notifier); in sun4i_csi_probe() 268 v4l2_async_nf_unregister(&csi->notifier); in sun4i_csi_remove() [all …]
|
/linux/include/linux/ |
H A D | preempt.h | 338 void (*sched_in)(struct preempt_notifier *notifier, int cpu); 339 void (*sched_out)(struct preempt_notifier *notifier, 357 void preempt_notifier_register(struct preempt_notifier *notifier); 358 void preempt_notifier_unregister(struct preempt_notifier *notifier); 360 static inline void preempt_notifier_init(struct preempt_notifier *notifier, in preempt_notifier_init() argument 364 notifier->link.next = NULL; in preempt_notifier_init() 365 notifier->link.pprev = NULL; in preempt_notifier_init() 366 notifier->ops = ops; in preempt_notifier_init()
|
/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() 293 container_of(notifier, struct xvip_composite_device, notifier); in xvip_graph_notify_complete() 382 v4l2_async_nf_cleanup(&xdev->notifier); in xvip_graph_parse_one() 407 v4l2_async_nf_cleanup(&xdev->notifier); in xvip_graph_parse() 484 v4l2_async_nf_unregister(&xdev->notifier); in xvip_graph_cleanup() 485 v4l2_async_nf_cleanup(&xdev->notifier); in xvip_graph_cleanup() 504 v4l2_async_nf_init(&xdev->notifier, &xdev->v4l2_dev); in xvip_graph_init() 513 if (list_empty(&xdev->notifier.waiting_list)) { in xvip_graph_init() 520 xdev->notifier.ops = &xvip_graph_notify_ops; in xvip_graph_init() [all …]
|
/linux/drivers/media/platform/sunxi/sun6i-mipi-csi2/ |
H A D | sun6i_mipi_csi2.c | 415 struct v4l2_subdev *subdev = notifier->sd; 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 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() 546 ret = v4l2_async_nf_register(notifier); in sun6i_mipi_csi2_bridge_setup() 563 v4l2_async_nf_unregister(notifier); in sun6i_mipi_csi2_bridge_setup() 566 v4l2_async_nf_cleanup(notifier); in sun6i_mipi_csi2_bridge_setup() 577 struct v4l2_async_notifier *notifier = &csi2_dev->bridge.notifier; in sun6i_mipi_csi2_bridge_cleanup() local 580 v4l2_async_nf_unregister(notifier); in sun6i_mipi_csi2_bridge_cleanup() [all …]
|
/linux/drivers/media/platform/renesas/ |
H A D | rcar-isp.c | 122 struct v4l2_async_notifier notifier; member 137 return container_of(n, struct rcar_isp, notifier); in notifier_to_isp() 331 struct rcar_isp *isp = notifier_to_isp(notifier); in risp_notify_bound() 355 struct rcar_isp *isp = notifier_to_isp(notifier); in risp_notify_unbind() 396 isp->notifier.ops = &risp_notify_ops; in risp_parse_dt() 404 ret = v4l2_async_nf_register(&isp->notifier); in risp_parse_dt() 406 v4l2_async_nf_cleanup(&isp->notifier); in risp_parse_dt() 494 v4l2_async_nf_unregister(&isp->notifier); in risp_probe() 495 v4l2_async_nf_cleanup(&isp->notifier); in risp_probe() 508 v4l2_async_nf_unregister(&isp->notifier); in risp_remove() [all …]
|
/linux/drivers/media/platform/sunxi/sun6i-csi/ |
H A D | sun6i_csi_bridge.c | 652 bridge.notifier); in sun6i_csi_bridge_notifier_bound() 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 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() 829 v4l2_async_nf_init(notifier, v4l2_dev); in sun6i_csi_bridge_setup() 838 ret = v4l2_async_nf_register(notifier); in sun6i_csi_bridge_setup() 848 v4l2_async_nf_cleanup(notifier); in sun6i_csi_bridge_setup() 864 struct v4l2_async_notifier *notifier = &csi_dev->bridge.notifier; in sun6i_csi_bridge_cleanup() local 866 v4l2_async_nf_unregister(notifier); in sun6i_csi_bridge_cleanup() [all …]
|
/linux/drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/ |
H A D | sun8i_a83t_mipi_csi2.c | 452 struct v4l2_subdev *subdev = notifier->sd; in sun8i_a83t_mipi_csi2_notifier_bound() 455 bridge.notifier); in sun8i_a83t_mipi_csi2_notifier_bound() 502 struct v4l2_async_notifier *notifier = &csi2_dev->bridge.notifier; in sun8i_a83t_mipi_csi2_bridge_source_setup() local 537 struct v4l2_async_notifier *notifier = &bridge->notifier; in sun8i_a83t_mipi_csi2_bridge_setup() local 575 v4l2_async_subdev_nf_init(notifier, subdev); in sun8i_a83t_mipi_csi2_bridge_setup() 584 ret = v4l2_async_nf_register(notifier); in sun8i_a83t_mipi_csi2_bridge_setup() 601 v4l2_async_nf_unregister(notifier); in sun8i_a83t_mipi_csi2_bridge_setup() 604 v4l2_async_nf_cleanup(notifier); in sun8i_a83t_mipi_csi2_bridge_setup() 615 struct v4l2_async_notifier *notifier = &csi2_dev->bridge.notifier; in sun8i_a83t_mipi_csi2_bridge_cleanup() local 618 v4l2_async_nf_unregister(notifier); in sun8i_a83t_mipi_csi2_bridge_cleanup() [all …]
|
/linux/drivers/media/platform/st/stm32/stm32-dcmipp/ |
H A D | dcmipp-core.c | 57 struct v4l2_async_notifier notifier; member 63 return container_of(n, struct dcmipp_device, notifier); in notifier_to_dcmipp() 259 struct dcmipp_device *dcmipp = notifier_to_dcmipp(notifier); in dcmipp_graph_notify_bound() 335 struct dcmipp_device *dcmipp = notifier_to_dcmipp(notifier); in dcmipp_graph_notify_unbind() 342 struct dcmipp_device *dcmipp = notifier_to_dcmipp(notifier); in dcmipp_graph_notify_complete() 387 v4l2_async_nf_init(&dcmipp->notifier, &dcmipp->v4l2_dev); in dcmipp_graph_init() 399 dcmipp->notifier.ops = &dcmipp_graph_notify_ops; in dcmipp_graph_init() 401 ret = v4l2_async_nf_register(&dcmipp->notifier); in dcmipp_graph_init() 404 v4l2_async_nf_cleanup(&dcmipp->notifier); in dcmipp_graph_init() 524 v4l2_async_nf_unregister(&dcmipp->notifier); in dcmipp_remove() [all …]
|
/linux/drivers/pwm/ |
H A D | pwm-iqs620a.c | 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() 220 iqs620_pwm->notifier.notifier_call = iqs620_pwm_notifier; in iqs620_pwm_probe() 222 &iqs620_pwm->notifier); in iqs620_pwm_probe()
|
/linux/drivers/edac/ |
H A D | sifive_edac.c | 18 struct notifier_block notifier; member 33 p = container_of(this, struct sifive_edac_priv, notifier); in ecc_err_event() 51 p->notifier.notifier_call = ecc_err_event; in ecc_register() 69 register_sifive_ccache_error_notifier(&p->notifier); in ecc_register() 83 unregister_sifive_ccache_error_notifier(&p->notifier); in ecc_unregister()
|
H A D | octeon_edac-pc.c | 29 struct notifier_block notifier; member 42 notifier); in co_cache_error_event() 91 p->notifier.notifier_call = co_cache_error_event; in co_cache_error_probe() 112 register_co_cache_error_notifier(&p->notifier); in co_cache_error_probe() 126 unregister_co_cache_error_notifier(&p->notifier); in co_cache_error_remove()
|
/linux/drivers/media/platform/ |
H A D | video-mux.c | 25 struct v4l2_async_notifier notifier; member 42 return container_of(n, struct video_mux, notifier); in notifier_to_video_mux() 322 struct video_mux *vmux = notifier_to_video_mux(notifier); in video_mux_notify_bound() 337 v4l2_async_subdev_nf_init(&vmux->notifier, &vmux->subdev); in video_mux_async_register() 357 asd = v4l2_async_nf_add_fwnode_remote(&vmux->notifier, ep, in video_mux_async_register() 370 vmux->notifier.ops = &video_mux_notify_ops; in video_mux_async_register() 372 ret = v4l2_async_nf_register(&vmux->notifier); in video_mux_async_register() 383 v4l2_async_nf_unregister(&vmux->notifier); in video_mux_async_register() 385 v4l2_async_nf_cleanup(&vmux->notifier); in video_mux_async_register() 474 v4l2_async_nf_unregister(&vmux->notifier); in video_mux_remove() [all …]
|
/linux/drivers/media/platform/nxp/imx8-isi/ |
H A D | imx8-isi-core.c | 46 return container_of(n, struct mxc_isi_dev, notifier); in notifier_to_mxc_isi_dev() 49 static int mxc_isi_async_notifier_bound(struct v4l2_async_notifier *notifier, in mxc_isi_async_notifier_bound() argument 55 struct mxc_isi_dev *isi = notifier_to_mxc_isi_dev(notifier); in mxc_isi_async_notifier_bound() 80 struct mxc_isi_dev *isi = notifier_to_mxc_isi_dev(notifier); in mxc_isi_async_notifier_complete() 178 v4l2_async_nf_init(&isi->notifier, v4l2_dev); in mxc_isi_v4l2_init() 179 isi->notifier.ops = &mxc_isi_async_notifier_ops; in mxc_isi_v4l2_init() 191 masd = v4l2_async_nf_add_fwnode_remote(&isi->notifier, ep, in mxc_isi_v4l2_init() 203 ret = v4l2_async_nf_register(&isi->notifier); in mxc_isi_v4l2_init() 214 v4l2_async_nf_cleanup(&isi->notifier); in mxc_isi_v4l2_init() 226 v4l2_async_nf_unregister(&isi->notifier); in mxc_isi_v4l2_cleanup() [all …]
|