/linux/drivers/infiniband/hw/hfi1/ |
H A D | mmu_rb.c | 45 struct mmu_rb_handler **handler) in hfi1_mmu_rb_register() argument 74 *handler = h; in hfi1_mmu_rb_register() 78 void hfi1_mmu_rb_unregister(struct mmu_rb_handler *handler) in hfi1_mmu_rb_unregister() argument 86 mmgrab(handler->mn.mm); in hfi1_mmu_rb_unregister() 89 mmu_notifier_unregister(&handler->mn, handler->mn.mm); in hfi1_mmu_rb_unregister() 92 * Make sure the wq delete handler is finished running. It will not in hfi1_mmu_rb_unregister() 95 flush_work(&handler->del_work); in hfi1_mmu_rb_unregister() 99 spin_lock_irqsave(&handler->lock, flags); in hfi1_mmu_rb_unregister() 100 while ((node = rb_first_cached(&handler->root))) { in hfi1_mmu_rb_unregister() 102 rb_erase_cached(node, &handler->root); in hfi1_mmu_rb_unregister() [all …]
|
/linux/drivers/acpi/acpica/ |
H A D | evxface.c | 37 * handler_type - The type of handler: 38 * ACPI_SYSTEM_NOTIFY: System Handler (00-7F) 39 * ACPI_DEVICE_NOTIFY: Device Handler (80-FF) 41 * handler - Address of the handler 42 * context - Value passed to the handler on each GPE 46 * DESCRIPTION: Install a handler for notifications on an ACPI Device, 49 * NOTES: The Root namespace object may have only one handler for each 51 * may have one device notify handler, and multiple system notify 59 acpi_notify_handler handler, void *context) in acpi_install_notify_handler() argument 72 if ((!device) || (!handler) || (!handler_type) || in acpi_install_notify_handler() [all …]
|
H A D | evhandler.c | 65 * We install the default PCI config space handler at the root so that in acpi_ev_install_region_handlers() 72 * NOTE: We ignore AE_ALREADY_EXISTS because this means that a handler in acpi_ev_install_region_handlers() 110 * RETURN: TRUE if default handler is installed, FALSE otherwise 112 * DESCRIPTION: Check if the default handler is installed for the requested 128 handler_obj = obj_desc->common_notify.handler; in acpi_ev_has_default_handler() 153 * DESCRIPTION: This routine installs an address handler into objects that are 156 * If the Object is a Device, and the device has a handler of 159 * This is because the existing handler is closer in proximity 214 /* Check if this Device already has a handler for this address space */ in acpi_ev_install_handler() 220 handler); in acpi_ev_install_handler() [all …]
|
H A D | evxfregn.c | 27 * handler - Address of the handler 29 * context - Value passed to the handler on each access 34 * DESCRIPTION: Install a handler for all op_regions of a given space_id. 48 acpi_adr_space_handler handler, in acpi_install_address_space_handler_internal() argument 76 /* Install the handler for all Regions for this Space ID */ in acpi_install_address_space_handler_internal() 79 acpi_ev_install_space_handler(node, space_id, handler, setup, in acpi_install_address_space_handler_internal() 100 acpi_adr_space_handler handler, in acpi_install_address_space_handler() argument 104 handler, setup, in acpi_install_address_space_handler() 112 acpi_adr_space_handler handler, in ACPI_EXPORT_SYMBOL() 117 handler, setup, in ACPI_EXPORT_SYMBOL() [all …]
|
H A D | evregion.c | 40 * an installed default region handler. 60 * Make sure the installed handler is the DEFAULT handler. If not the in acpi_ev_initialize_op_regions() 62 * handler was installed) in acpi_ev_initialize_op_regions() 93 * a previously installed handler. 110 acpi_adr_space_handler handler; in acpi_ev_address_space_dispatch() local 127 /* Ensure that there is a handler associated with this region */ in acpi_ev_address_space_dispatch() 129 handler_desc = region_obj->region.handler; in acpi_ev_address_space_dispatch() 132 "No handler for Region [%4.4s] (%p) [%s]", in acpi_ev_address_space_dispatch() 217 * the handler for this particular region in acpi_ev_address_space_dispatch() 226 /* We have everything we need, we can invoke the address space handler */ in acpi_ev_address_space_dispatch() [all …]
|
/linux/net/ipv4/ |
H A D | tunnel4.c | 31 int xfrm4_tunnel_register(struct xfrm_tunnel *handler, unsigned short family) in xfrm4_tunnel_register() argument 37 int priority = handler->priority; in xfrm4_tunnel_register() 51 handler->next = *pprev; in xfrm4_tunnel_register() 52 rcu_assign_pointer(*pprev, handler); in xfrm4_tunnel_register() 63 int xfrm4_tunnel_deregister(struct xfrm_tunnel *handler, unsigned short family) in xfrm4_tunnel_deregister() argument 75 if (t == handler) { in xfrm4_tunnel_deregister() 76 *pprev = handler->next; in xfrm4_tunnel_deregister() 90 #define for_each_tunnel_rcu(head, handler) \ argument 91 for (handler = rcu_dereference(head); \ 92 handler != NULL; \ [all …]
|
H A D | xfrm4_protocol.c | 40 #define for_each_protocol_rcu(head, handler) \ argument 41 for (handler = rcu_dereference(head); \ 42 handler != NULL; \ 43 handler = rcu_dereference(handler->next)) \ 48 struct xfrm4_protocol *handler; in xfrm4_rcv_cb() local 54 for_each_protocol_rcu(*head, handler) in xfrm4_rcv_cb() 55 if ((ret = handler->cb_handler(skb, err)) <= 0) in xfrm4_rcv_cb() 65 struct xfrm4_protocol *handler; in xfrm4_rcv_encap() local 83 for_each_protocol_rcu(*head, handler) in xfrm4_rcv_encap() 84 if ((ret = handler->input_handler(skb, nexthdr, spi, encap_type)) != -EINVAL) in xfrm4_rcv_encap() [all …]
|
/linux/net/ipv6/ |
H A D | xfrm6_protocol.c | 41 #define for_each_protocol_rcu(head, handler) \ argument 42 for (handler = rcu_dereference(head); \ 43 handler != NULL; \ 44 handler = rcu_dereference(handler->next)) \ 49 struct xfrm6_protocol *handler; in xfrm6_rcv_cb() local 55 for_each_protocol_rcu(*proto_handlers(protocol), handler) in xfrm6_rcv_cb() 56 if ((ret = handler->cb_handler(skb, err)) <= 0) in xfrm6_rcv_cb() 66 struct xfrm6_protocol *handler; in xfrm6_rcv_encap() local 96 for_each_protocol_rcu(*head, handler) in xfrm6_rcv_encap() 97 if ((ret = handler->input_handler(skb, nexthdr, spi, encap_type)) != -EINVAL) in xfrm6_rcv_encap() [all …]
|
H A D | tunnel6.c | 32 int xfrm6_tunnel_register(struct xfrm6_tunnel *handler, unsigned short family) in xfrm6_tunnel_register() argument 37 int priority = handler->priority; in xfrm6_tunnel_register() 64 handler->next = *pprev; in xfrm6_tunnel_register() 65 rcu_assign_pointer(*pprev, handler); in xfrm6_tunnel_register() 76 int xfrm6_tunnel_deregister(struct xfrm6_tunnel *handler, unsigned short family) in xfrm6_tunnel_deregister() argument 101 if (t == handler) { in xfrm6_tunnel_deregister() 102 *pprev = handler->next; in xfrm6_tunnel_deregister() 117 #define for_each_tunnel_rcu(head, handler) \ argument 118 for (handler = rcu_dereference(head); \ 119 handler != NULL; \ [all …]
|
/linux/kernel/ |
H A D | reboot.c | 166 * @nb: Info about handler function to be called 167 * @nb->priority: Handler priority. Handlers should follow the 169 * 0: Restart handler of last resort, 171 * 128: Default restart handler; use if no other 172 * restart handler is expected to be available, 175 * 255: Highest priority restart handler, will 186 * If more than one function is registered, the restart handler priority 192 * restart handlers may exist; for example, one restart handler might 194 * In such cases, the restart handler which only restarts part of the 209 * restart handler [all …]
|
/linux/drivers/soc/fsl/qbman/ |
H A D | qman_test_stash.c | 43 * moves it from one cpu to another. (The use of more than one handler per cpu 49 * each forwarding action. To achieve this, each handler will be assigned a 51 * received by a handler, the mixer of the expected sender is XOR'd into all 54 * the current handler. Apart from validating that the frame is taking the 57 * conditional branching. There is a "special" handler designated to act as the 65 * handlers and link-list them (but do no other handler setup). 68 * hp_cpu's 'iterator' to point to its first handler. With each loop, 69 * allocate rx/tx FQIDs and mixer values to the hp_cpu's iterator handler 71 * which connects the last handler to the first (and which is why phase 2 75 * hp_cpu's 'iterator' to point to its first handler. With each loop, [all …]
|
/linux/drivers/acpi/ |
H A D | wakeup.c | 102 * acpi_register_wakeup_handler - Register wakeup handler 104 * @wakeup: Wakeup-handler to call when the SCI has triggered a wakeup 105 * @context: Context to pass to the handler when calling it 108 * a handler which returns true when the device they are managing wants 114 struct acpi_wakeup_handler *handler; in acpi_register_wakeup_handler() local 118 * need to register the handler. in acpi_register_wakeup_handler() 123 handler = kmalloc(sizeof(*handler), GFP_KERNEL); in acpi_register_wakeup_handler() 124 if (!handler) in acpi_register_wakeup_handler() 127 handler->wakeup = wakeup; in acpi_register_wakeup_handler() 128 handler->context = context; in acpi_register_wakeup_handler() [all …]
|
/linux/drivers/scsi/ |
H A D | scsi_dh.c | 3 * SCSI device handler infrastructure. 120 * scsi_dh_handler_attach - Attach a device handler to a device 121 * @sdev - SCSI device the device handler should attach to 122 * @scsi_dh - The device handler to attach 154 sdev->handler = scsi_dh; in scsi_dh_handler_attach() 160 * scsi_dh_handler_detach - Detach a device handler from a device 161 * @sdev - SCSI device the device handler should be detached from 165 sdev->handler->detach(sdev); in scsi_dh_handler_detach() 166 sdev_printk(KERN_NOTICE, sdev, "%s: Detached\n", sdev->handler->name); in scsi_dh_handler_detach() 167 module_put(sdev->handler->module); in scsi_dh_handler_detach() [all …]
|
/linux/drivers/gpu/drm/amd/display/amdgpu_dm/ |
H A D | amdgpu_dm_irq.c | 40 * The base driver provides IRQ source registration with DRM, handler 41 * registration into the base driver's IRQ table, and a handler callback 43 * handler looks up the IRQ table, and calls the respective 54 * are all set to the DM generic handler amdgpu_dm_irq_handler(), which looks up 71 * @list: Linked list entry referencing the next/previous handler 72 * @handler: Handler function 73 * @handler_arg: Argument passed to the handler when triggered 74 * @dm: DM which this handler belongs to 75 * @irq_source: DC interrupt source that this handler is registered for 80 interrupt_handler handler; member [all …]
|
/linux/drivers/irqchip/ |
H A D | irq-sifive-plic.c | 108 static void plic_toggle(struct plic_handler *handler, int hwirq, int enable) in plic_toggle() argument 112 raw_spin_lock_irqsave(&handler->enable_lock, flags); in plic_toggle() 113 __plic_toggle(handler->enable_base, hwirq, enable); in plic_toggle() 114 raw_spin_unlock_irqrestore(&handler->enable_lock, flags); in plic_toggle() 123 struct plic_handler *handler = per_cpu_ptr(&plic_handlers, cpu); in plic_irq_toggle() local 125 plic_toggle(handler, d->hwirq, enable); in plic_irq_toggle() 156 struct plic_handler *handler = this_cpu_ptr(&plic_handlers); in plic_irq_eoi() local 159 plic_toggle(handler, d->hwirq, 1); in plic_irq_eoi() 160 writel(d->hwirq, handler->hart_base + CONTEXT_CLAIM); in plic_irq_eoi() 161 plic_toggle(handler, d->hwirq, 0); in plic_irq_eoi() [all …]
|
/linux/arch/arm/probes/uprobes/ |
H A D | actions-arm.c | 195 [PROBES_PRELOAD_IMM] = {.handler = probes_simulate_nop}, 196 [PROBES_PRELOAD_REG] = {.handler = probes_simulate_nop}, 197 [PROBES_BRANCH_IMM] = {.handler = simulate_blx1}, 198 [PROBES_MRS] = {.handler = simulate_mrs}, 199 [PROBES_BRANCH_REG] = {.handler = simulate_blx2bx}, 200 [PROBES_CLZ] = {.handler = probes_simulate_nop}, 201 [PROBES_SATURATING_ARITHMETIC] = {.handler = probes_simulate_nop}, 202 [PROBES_MUL1] = {.handler = probes_simulate_nop}, 203 [PROBES_MUL2] = {.handler = probes_simulate_nop}, 204 [PROBES_SWP] = {.handler = probes_simulate_nop}, [all …]
|
/linux/arch/xtensa/kernel/ |
H A D | vectors.S | 22 * fast handler or the default handler, if no fast handler was registered. 23 * The default handler sets up a C-stack and dispatches the exception to a 24 * registerd C handler in the second-level dispatch table. 26 * Fast handler entry condition: 41 * Note: Neither the kernel nor the user exception handler generate literals. 63 * We switch to the kernel stack and jump to the first level handler 81 l32i a0, a0, EXC_TABLE_FAST_USER # load handler 92 * jump to the first-level handler associated with the exception cause. 108 l32i a0, a0, EXC_TABLE_FAST_KERNEL # load handler address 134 * vmalloc memory, possibly requiring repair in a double exception handler. [all …]
|
/linux/drivers/s390/crypto/ |
H A D | pkey_base.c | 3 * pkey base: debug feature, pkey handler registry 30 * pkey handler registry 36 int pkey_handler_register(struct pkey_handler *handler) in pkey_handler_register() argument 40 if (!handler || in pkey_handler_register() 41 !handler->is_supported_key || in pkey_handler_register() 42 !handler->is_supported_keytype) in pkey_handler_register() 45 if (!try_module_get(handler->module)) in pkey_handler_register() 52 if (h == handler) { in pkey_handler_register() 55 module_put(handler->module); in pkey_handler_register() 61 list_add_rcu(&handler->list, &handler_list); in pkey_handler_register() [all …]
|
/linux/arch/arm/probes/kprobes/ |
H A D | actions-arm.c | 23 * setting a handler for it to run the instruction. 25 * In the execution phase by an instruction's handler: 31 * directly executed. Its handler calls the 298 [PROBES_PRELOAD_IMM] = {.handler = probes_simulate_nop}, 299 [PROBES_PRELOAD_REG] = {.handler = probes_simulate_nop}, 300 [PROBES_BRANCH_IMM] = {.handler = simulate_blx1}, 301 [PROBES_MRS] = {.handler = simulate_mrs}, 302 [PROBES_BRANCH_REG] = {.handler = simulate_blx2bx}, 303 [PROBES_CLZ] = {.handler = emulate_rd12rm0_noflags_nopc}, 305 .handler = emulate_rd12rn16rm0_rwflags_nopc}, [all …]
|
/linux/drivers/gpu/vga/ |
H A D | vga_switcheroo.c | 70 * clients. The mux is called the handler. Muxless machines also register a 71 * handler to control the power state of the discrete GPU, its ->switchto 87 * switched to it, provided that the handler supports this. Switching 99 * @id: client identifier. Determining the id requires the handler, 133 * Prerequisite is the registration of two GPUs and a handler 140 * @handler: registered handler 141 * @handler_flags: flags of registered handler 159 const struct vga_switcheroo_handler *handler; member 181 /* we're ready if we get two clients + handler */ in vga_switcheroo_ready() 183 vgasr_priv.registered_clients == 2 && vgasr_priv.handler; in vga_switcheroo_ready() [all …]
|
/linux/drivers/input/rmi4/ |
H A D | rmi_bus.c | 149 const struct rmi_function_handler *handler = to_rmi_function_handler(drv); in rmi_function_match() local 152 return fn->fd.function_number == handler->func; in rmi_function_match() 175 struct rmi_function_handler *handler) in rmi_create_function_irq() argument 192 handler->attention, IRQF_ONESHOT, in rmi_create_function_irq() 206 struct rmi_function_handler *handler = in rmi_function_probe() local 212 if (handler->probe) { in rmi_function_probe() 213 error = handler->probe(fn); in rmi_function_probe() 218 if (fn->num_of_irqs && handler->attention) { in rmi_function_probe() 219 error = rmi_create_function_irq(fn, handler); in rmi_function_probe() 230 struct rmi_function_handler *handler = in rmi_function_remove() local [all …]
|
/linux/include/media/ |
H A D | dvb_vb2.h | 73 * struct dvb_vb2_ctx - control struct for VB2 handler 137 * dvb_vb2_init - initializes VB2 handler 139 * @ctx: control struct for VB2 handler 140 * @name: name for the VB2 handler 147 * dvb_vb2_release - Releases the VB2 handler allocated resources and 149 * @ctx: control struct for VB2 handler 154 * dvb_vb2_is_streaming - checks if the VB2 handler is streaming 155 * @ctx: control struct for VB2 handler 163 * @ctx: control struct for VB2 handler 178 * @ctx: control struct for VB2 handler [all …]
|
/linux/arch/powerpc/sysdev/ |
H A D | pmi.c | 29 struct list_head handler; member 102 struct pmi_handler *handler; in pmi_notify_handlers() local 105 list_for_each_entry(handler, &data->handler, node) { in pmi_notify_handlers() 106 pr_debug("pmi: notifying handler %p\n", handler); in pmi_notify_handlers() 107 if (handler->type == data->msg.type) in pmi_notify_handlers() 108 handler->handle_pmi_message(data->msg); in pmi_notify_handlers() 138 INIT_LIST_HEAD(&data->handler); in pmi_of_probe() 178 struct pmi_handler *handler, *tmp; in pmi_of_remove() local 185 list_for_each_entry_safe(handler, tmp, &data->handler, node) in pmi_of_remove() 186 list_del(&handler->node); in pmi_of_remove() [all …]
|
/linux/Documentation/arch/arm/ |
H A D | interrupts.rst | 39 SA1111 IRQ handler, SA1111 IRQs can hold off SMC9196 IRQs indefinitely. 45 to the Neponset handler, the "parent" is GPIO25, and the "children"d 90 the hardware IRQ if possible. If not, may call the handler 104 - per-IRQ handler 107 The handler can be one of the 3 standard handlers - "level", "edge" and 108 "simple", or your own specific handler if you need to do something special. 110 The "level" handler is what we currently have - its pretty simple. 114 "simple" handler is very basic, and does not perform any hardware 131 set_irq_handler(irq,handler) 132 Set the handler for this IRQ (level, edge, simple) [all …]
|
/linux/Documentation/RCU/ |
H A D | NMI-RCU.rst | 21 The dummy_nmi_callback() function is a "dummy" NMI handler that does 23 the NMI handler to take the default machine-specific action:: 28 NMI handler:: 47 count of NMIs. It then invokes the NMI handler stored in the nmi_callback 48 function pointer. If this handler returns zero, do_nmi() invokes the 70 The set_nmi_callback() function registers an NMI handler. Note that any 73 writes, the rcu_assign_pointer() ensures that the NMI handler sees the 81 This function unregisters an NMI handler, restoring the original 82 dummy_nmi_handler(). However, there may well be an NMI handler 84 up any data structures used by the old NMI handler until execution [all …]
|