| /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 …]
|
| H A D | v4l2-fwnode.c | 867 struct v4l2_async_notifier *notifier, in v4l2_fwnode_reference_parse() argument 880 asd = v4l2_async_nf_add_fwnode(notifier, args.fwnode, in v4l2_fwnode_reference_parse() 1147 struct v4l2_async_notifier *notifier, in v4l2_fwnode_reference_parse_int_props() argument 1185 asd = v4l2_async_nf_add_fwnode(notifier, fwnode, in v4l2_fwnode_reference_parse_int_props() 1221 struct v4l2_async_notifier *notifier) in v4l2_async_nf_parse_fwnode_sensor() argument 1237 notifier, in v4l2_async_nf_parse_fwnode_sensor() 1240 ret = v4l2_fwnode_reference_parse(dev, notifier, in v4l2_async_nf_parse_fwnode_sensor() 1254 struct v4l2_async_notifier *notifier; in v4l2_async_register_subdev_sensor() local 1260 notifier = kzalloc_obj(*notifier); in v4l2_async_register_subdev_sensor() 1261 if (!notifier) in v4l2_async_register_subdev_sensor() [all …]
|
| /linux/drivers/gpu/drm/ |
| H A D | drm_gpusvm.c | 305 drm_gpusvm_range_find(struct drm_gpusvm_notifier *notifier, unsigned long start, in drm_gpusvm_range_find() argument 310 itree = interval_tree_iter_first(¬ifier->root, start, end - 1); in drm_gpusvm_range_find() 336 struct drm_gpusvm_notifier *notifier = in drm_gpusvm_notifier_invalidate() local 337 container_of(mni, typeof(*notifier), notifier); in drm_gpusvm_notifier_invalidate() 338 struct drm_gpusvm *gpusvm = notifier->gpusvm; in drm_gpusvm_notifier_invalidate() 345 gpusvm->ops->invalidate(gpusvm, notifier, mmu_range); in drm_gpusvm_notifier_invalidate() 447 struct drm_gpusvm_notifier *notifier) in drm_gpusvm_notifier_insert() argument 452 interval_tree_insert(¬ifier->itree, &gpusvm->root); in drm_gpusvm_notifier_insert() 454 node = rb_prev(¬ifier->itree.rb); in drm_gpusvm_notifier_insert() 460 list_add(¬ifier->entry, head); in drm_gpusvm_notifier_insert() [all …]
|
| /linux/Documentation/fault-injection/ |
| H A D | notifier-error-inject.rst | 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 20 Possible PM notifier events to be failed are: 28 # cd /sys/kernel/debug/notifier-error-inject/pm/ [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, 173 void v4l2_async_subdev_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 196 ((type *)__v4l2_async_nf_add_fwnode(notifier, fwnode, sizeof(type))) 222 #define v4l2_async_nf_add_fwnode_remote(notifier, ep, type) \ argument [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() 168 int amdgpu_hmm_range_get_pages(struct mmu_interval_notifier *notifier, in amdgpu_hmm_range_get_pages() argument 185 hmm_range->notifier = notifier; in amdgpu_hmm_range_get_pages() [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() 588 struct svm_notifier *notifier) in nouveau_atomic_range_fault() argument 592 struct mm_struct *mm = svmm->notifier.mm; in nouveau_atomic_range_fault() 599 ret = mmu_interval_notifier_insert(¬ifier->notifier, mm, in nouveau_atomic_range_fault() [all …]
|
| /linux/drivers/md/dm-vdo/ |
| H A D | vdo.c | 1045 struct read_only_notifier *notifier = &vdo->read_only_notifier; in vdo_enable_read_only_entry() local 1048 notifier->read_only_error = VDO_READ_ONLY; in vdo_enable_read_only_entry() 1049 notifier->state = NOTIFIED; in vdo_enable_read_only_entry() 1051 notifier->state = MAY_NOT_NOTIFY; in vdo_enable_read_only_entry() 1054 spin_lock_init(¬ifier->lock); in vdo_enable_read_only_entry() 1055 vdo_initialize_completion(¬ifier->completion, vdo, in vdo_enable_read_only_entry() 1076 struct read_only_notifier *notifier = &vdo->read_only_notifier; in vdo_wait_until_not_entering_read_only_mode() local 1080 if (notifier->waiter != NULL) { in vdo_wait_until_not_entering_read_only_mode() 1085 spin_lock(¬ifier->lock); in vdo_wait_until_not_entering_read_only_mode() 1086 if (notifier->state == NOTIFYING) in vdo_wait_until_not_entering_read_only_mode() [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/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/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/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/misc/vmw_vmci/ |
| H A D | vmci_context.c | 409 struct vmci_handle_list *notifier, *tmp; in ctx_free_ctx() local 451 list_for_each_entry_safe(notifier, tmp, in ctx_free_ctx() 453 list_del(¬ifier->node); in ctx_free_ctx() 454 kfree(notifier); in ctx_free_ctx() 581 struct vmci_handle_list *notifier, *n; in vmci_ctx_add_notification() local 601 notifier = kmalloc_obj(struct vmci_handle_list); in vmci_ctx_add_notification() 602 if (!notifier) { in vmci_ctx_add_notification() 607 INIT_LIST_HEAD(¬ifier->node); in vmci_ctx_add_notification() 608 notifier->handle = vmci_make_handle(remote_cid, VMCI_EVENT_HANDLER); in vmci_ctx_add_notification() 614 if (vmci_handle_is_equal(n->handle, notifier->handle)) { in vmci_ctx_add_notification() [all …]
|
| /linux/drivers/media/platform/nxp/imx8-isi/ |
| H A D | imx8-isi-core.c | 47 return container_of(n, struct mxc_isi_dev, notifier); in notifier_to_mxc_isi_dev() 50 static int mxc_isi_async_notifier_bound(struct v4l2_async_notifier *notifier, in mxc_isi_async_notifier_bound() argument 56 struct mxc_isi_dev *isi = notifier_to_mxc_isi_dev(notifier); in mxc_isi_async_notifier_bound() 79 static int mxc_isi_async_notifier_complete(struct v4l2_async_notifier *notifier) in mxc_isi_async_notifier_complete() argument 81 struct mxc_isi_dev *isi = notifier_to_mxc_isi_dev(notifier); in mxc_isi_async_notifier_complete() 179 v4l2_async_nf_init(&isi->notifier, v4l2_dev); in mxc_isi_v4l2_init() 180 isi->notifier.ops = &mxc_isi_async_notifier_ops; in mxc_isi_v4l2_init() 192 masd = v4l2_async_nf_add_fwnode_remote(&isi->notifier, ep, in mxc_isi_v4l2_init() 204 ret = v4l2_async_nf_register(&isi->notifier); in mxc_isi_v4l2_init() 215 v4l2_async_nf_cleanup(&isi->notifier); in mxc_isi_v4l2_init() [all …]
|
| /linux/drivers/reset/ |
| H A D | reset-sunplus.c | 103 struct notifier_block notifier; member 160 struct sp_reset *reset = container_of(nb, struct sp_reset, notifier); in sp_restart() 192 reset->notifier.notifier_call = sp_restart; in sp_reset_probe() 193 reset->notifier.priority = 192; in sp_reset_probe() 195 return register_restart_handler(&reset->notifier); in sp_reset_probe()
|
| /linux/drivers/iommu/intel/ |
| H A D | svm.c | 55 struct dmar_domain *domain = container_of(mn, struct dmar_domain, notifier); in intel_arch_invalidate_secondary_tlbs() 72 struct dmar_domain *domain = container_of(mn, struct dmar_domain, notifier); in intel_mm_release() 101 struct dmar_domain *domain = container_of(mn, struct dmar_domain, notifier); in intel_mm_free_notifier() 199 mmu_notifier_put(&dmar_domain->notifier); in intel_svm_domain_free() 227 domain->notifier.ops = &intel_mmuops; in intel_svm_domain_alloc() 228 ret = mmu_notifier_register(&domain->notifier, mm); in intel_svm_domain_alloc()
|
| /linux/drivers/staging/media/atomisp/pci/ |
| H A D | atomisp_csi2_bridge.c | 450 #define notifier_to_atomisp(n) container_of(n, struct atomisp_device, notifier) 453 static int atomisp_notifier_bound(struct v4l2_async_notifier *notifier, in atomisp_notifier_bound() argument 457 struct atomisp_device *isp = notifier_to_atomisp(notifier); in atomisp_notifier_bound() 480 static void atomisp_notifier_unbind(struct v4l2_async_notifier *notifier, in atomisp_notifier_unbind() argument 484 struct atomisp_device *isp = notifier_to_atomisp(notifier); in atomisp_notifier_unbind() 491 static int atomisp_notifier_complete(struct v4l2_async_notifier *notifier) in atomisp_notifier_complete() argument 493 struct atomisp_device *isp = notifier_to_atomisp(notifier); in atomisp_notifier_complete() 508 v4l2_async_nf_init(&isp->notifier, &isp->v4l2_dev); in atomisp_csi2_bridge_parse_firmware() 509 isp->notifier.ops = &atomisp_async_ops; in atomisp_csi2_bridge_parse_firmware() 536 s_asd = v4l2_async_nf_add_fwnode_remote(&isp->notifier, ep, in atomisp_csi2_bridge_parse_firmware()
|
| /linux/drivers/gpu/drm/i915/gem/ |
| H A D | i915_gem_userptr.c | 75 return mmu_interval_notifier_insert(&obj->userptr.notifier, current->mm, in i915_gem_userptr_init__mmu_notifier() 242 if (obj->userptr.notifier.mm != current->mm) in i915_gem_object_userptr_submit_init() 245 notifier_seq = mmu_interval_read_begin(&obj->userptr.notifier); in i915_gem_object_userptr_submit_init() 283 if (mmu_interval_read_retry(&obj->userptr.notifier, in i915_gem_object_userptr_submit_init() 313 if (mmu_interval_read_retry(&obj->userptr.notifier, in i915_gem_object_userptr_submit_done() 353 if (!obj->userptr.notifier.mm) in i915_gem_userptr_release() 356 mmu_interval_notifier_remove(&obj->userptr.notifier); in i915_gem_userptr_release() 357 obj->userptr.notifier.mm = NULL; in i915_gem_userptr_release()
|
| /linux/drivers/input/keyboard/ |
| H A D | iqs62x-keys.c | 38 struct notifier_block notifier; member 184 static int iqs62x_keys_notifier(struct notifier_block *notifier, in iqs62x_keys_notifier() argument 191 iqs62x_keys = container_of(notifier, struct iqs62x_keys_private, in iqs62x_keys_notifier() 192 notifier); in iqs62x_keys_notifier() 301 iqs62x_keys->notifier.notifier_call = iqs62x_keys_notifier; in iqs62x_keys_probe() 303 &iqs62x_keys->notifier); in iqs62x_keys_probe() 316 &iqs62x_keys->notifier); in iqs62x_keys_remove()
|
| /linux/drivers/media/platform/renesas/rzg2l-cru/ |
| H A D | rzg2l-csi2.c | 120 struct v4l2_async_notifier notifier; member 264 return container_of(n, struct rzg2l_csi2, notifier); in notifier_to_csi2() 771 static int rzg2l_csi2_notify_bound(struct v4l2_async_notifier *notifier, in rzg2l_csi2_notify_bound() argument 775 struct rzg2l_csi2 *csi2 = notifier_to_csi2(notifier); in rzg2l_csi2_notify_bound() 787 static void rzg2l_csi2_notify_unbind(struct v4l2_async_notifier *notifier, in rzg2l_csi2_notify_unbind() argument 791 struct rzg2l_csi2 *csi2 = notifier_to_csi2(notifier); in rzg2l_csi2_notify_unbind() 847 v4l2_async_subdev_nf_init(&csi2->notifier, &csi2->subdev); in rzg2l_csi2_parse_dt() 848 csi2->notifier.ops = &rzg2l_csi2_notify_ops; in rzg2l_csi2_parse_dt() 850 asd = v4l2_async_nf_add_fwnode(&csi2->notifier, fwnode, in rzg2l_csi2_parse_dt() 856 ret = v4l2_async_nf_register(&csi2->notifier); in rzg2l_csi2_parse_dt() [all …]
|
| /linux/drivers/staging/nvec/ |
| H A D | nvec_power.c | 24 struct notifier_block notifier; member 88 container_of(nb, struct nvec_power, notifier); in nvec_power_notifier() 124 container_of(nb, struct nvec_power, notifier); in nvec_power_bat_notifier() 394 power->notifier.notifier_call = nvec_power_notifier; in nvec_power_probe() 403 power->notifier.notifier_call = nvec_power_bat_notifier; in nvec_power_probe() 409 nvec_register_notifier(nvec, &power->notifier, NVEC_SYS); in nvec_power_probe() 424 nvec_unregister_notifier(power->nvec, &power->notifier); in nvec_power_remove()
|
| /linux/drivers/infiniband/core/ |
| H A D | umem_odp.c | 108 ret = mmu_interval_notifier_insert(&umem_odp->notifier, in ib_init_umem_odp() 194 odp_data->notifier.ops = ops; in ib_umem_odp_alloc_child() 253 umem_odp->notifier.ops = ops; in ib_umem_odp_get() 288 mmu_interval_notifier_remove(&umem_odp->notifier); in ib_umem_odp_free() 353 range.notifier = &umem_odp->notifier; in ib_umem_odp_map_dma_and_lock() 370 mmu_interval_read_begin(&umem_odp->notifier); in ib_umem_odp_map_dma_and_lock() 385 if (mmu_interval_read_retry(&umem_odp->notifier, current_seq)) { in ib_umem_odp_map_dma_and_lock()
|