| /linux/kernel/ |
| H A D | notifier.c | 5 #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 …]
|
| H A D | cpu_pm.c | 12 #include <linux/notifier.h> 54 * @nb: notifier block to register 75 * @nb: notifier block to be unregistered 77 * Remove a driver from the CPU PM notifier list. 94 * cpu_pm_enter - CPU low power entry notifier 115 * cpu_pm_exit - CPU low power exit notifier 133 * cpu_cluster_pm_enter - CPU cluster low power entry notifier 155 * cpu_cluster_pm_exit - CPU cluster low power exit notifier
|
| /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/drivers/platform/x86/lenovo/ |
| H A D | wmi-events.c | 7 * notifier chain. 15 #include <linux/notifier.h> 38 * lwmi_events_register_notifier() - Add a notifier to the notifier chain. 41 * Call blocking_notifier_chain_register to register the notifier block to the 42 * lenovo-wmi-events driver blocking notifier chain. 53 * lwmi_events_unregister_notifier() - Remove a notifier from the notifier 57 * Call blocking_notifier_chain_unregister to unregister the notifier block 58 * from the lenovo-wmi-events driver blocking notifier chain. 69 * devm_lwmi_events_unregister_notifier() - Remove a notifier from the notifier 73 * Call lwmi_events_unregister_notifier to unregister the notifier block from [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/include/media/ |
| 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/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 68 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/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/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/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/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() 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/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/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/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/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/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/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/include/linux/surface_aggregator/ |
| H A D | controller.h | 742 /* -- Event notifier/callbacks. --------------------------------------------- */ 748 * enum ssam_notif_flags - Flags used in return values from SSAM notifier 757 * If this flag has not been set by any handler after the notifier chain 762 * Indicates that the notifier traversal should stop. If this flag is 763 * returned from a notifier callback, notifier chain traversal will 779 * struct ssam_notifier_block - Base notifier block for SSAM event 782 * @fn: The callback function of this notifier. This function takes the 783 * respective notifier block and event as input and should return 784 * a notifier value, which can either be obtained from the flags 788 * @priority: Priority value determining the order in which notifier callbacks [all …]
|
| /linux/drivers/platform/surface/ |
| H A D | surface_aggregator_cdev.c | 60 struct mutex notifier_lock; /* Guards notifier access for registration */ 61 struct ssam_cdev_notifier *notifier[SSH_NUM_EVENTS]; member 91 /* -- Notifier handling. ---------------------------------------------------- */ 144 /* Validate notifier target category. */ in ssam_cdev_notifier_register() 150 /* Check if the notifier has already been registered. */ in ssam_cdev_notifier_register() 151 if (client->notifier[event]) { in ssam_cdev_notifier_register() 156 /* Allocate new notifier. */ in ssam_cdev_notifier_register() 164 * Create a dummy notifier with the minimal required fields for in ssam_cdev_notifier_register() 176 /* Register notifier. */ in ssam_cdev_notifier_register() 181 client->notifier[event] = nf; in ssam_cdev_notifier_register() [all …]
|
| /linux/drivers/md/dm-vdo/ |
| H A D | vdo.c | 1178 struct read_only_notifier *notifier = &vdo->read_only_notifier; in vdo_enable_read_only_entry() local 1181 notifier->read_only_error = VDO_READ_ONLY; in vdo_enable_read_only_entry() 1182 notifier->state = NOTIFIED; in vdo_enable_read_only_entry() 1184 notifier->state = MAY_NOT_NOTIFY; in vdo_enable_read_only_entry() 1187 spin_lock_init(¬ifier->lock); in vdo_enable_read_only_entry() 1188 vdo_initialize_completion(¬ifier->completion, vdo, in vdo_enable_read_only_entry() 1209 struct read_only_notifier *notifier = &vdo->read_only_notifier; in vdo_wait_until_not_entering_read_only_mode() local 1213 if (notifier->waiter != NULL) { in vdo_wait_until_not_entering_read_only_mode() 1218 spin_lock(¬ifier->lock); in vdo_wait_until_not_entering_read_only_mode() 1219 if (notifier->state == NOTIFYING) in vdo_wait_until_not_entering_read_only_mode() [all …]
|
| /linux/drivers/media/platform/microchip/ |
| H A D | microchip-csi2dc.c | 175 * @notifier: Async notifier that is used to bound the underlying 201 struct v4l2_async_notifier notifier; member 478 static int csi2dc_async_bound(struct v4l2_async_notifier *notifier, in csi2dc_async_bound() argument 482 struct csi2dc_device *csi2dc = container_of(notifier, in csi2dc_async_bound() 483 struct csi2dc_device, notifier); in csi2dc_async_bound() 527 v4l2_async_subdev_nf_init(&csi2dc->notifier, &csi2dc->csi2dc_sd); in csi2dc_prepare_notifier() 529 asd = v4l2_async_nf_add_fwnode_remote(&csi2dc->notifier, in csi2dc_prepare_notifier() 538 "failed to add async notifier for node %pOF: %d\n", in csi2dc_prepare_notifier() 540 v4l2_async_nf_cleanup(&csi2dc->notifier); in csi2dc_prepare_notifier() 544 csi2dc->notifier.ops = &csi2dc_async_ops; in csi2dc_prepare_notifier() [all …]
|
| /linux/arch/mips/loongson64/ |
| H A D | cop2-ex.c | 15 #include <linux/notifier.h> 64 return NOTIFY_STOP; /* Don't call default notifier */ in loongson_cu2_call() 103 return NOTIFY_STOP; /* Don't call default notifier */ in loongson_cu2_call() 146 return NOTIFY_STOP; /* Don't call default notifier */ in loongson_cu2_call() 225 return NOTIFY_STOP; /* Don't call default notifier */ in loongson_cu2_call() 312 return NOTIFY_STOP; /* Don't call default notifier */ in loongson_cu2_call() 315 return NOTIFY_OK; /* Let default notifier send signals */ in loongson_cu2_call() 323 return NOTIFY_STOP; /* Don't call default notifier */ in loongson_cu2_call() 328 return NOTIFY_STOP; /* Don't call default notifier */ in loongson_cu2_call() 334 return NOTIFY_STOP; /* Don't call default notifier */ in loongson_cu2_call()
|
| /linux/drivers/input/keyboard/ |
| H A D | iqs62x-keys.c | 13 #include <linux/notifier.h> 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() 305 dev_err(&pdev->dev, "Failed to register notifier: %d\n", ret); in iqs62x_keys_probe() 316 &iqs62x_keys->notifier); in iqs62x_keys_remove() 318 dev_err(&pdev->dev, "Failed to unregister notifier: %d\n", ret); in iqs62x_keys_remove()
|