Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\irq\manage.c Create Date:2022-07-28 10:10:20
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:__request_percpu_irq - allocate a percpu interrupt line*@irq: Interrupt line to allocate*@handler: Function to be called when the IRQ occurs

Proto:int __request_percpu_irq(unsigned int irq, irq_handler_t handler, unsigned long flags, const char *devname, void __percpu *dev_id)

Type:int

Parameter:

TypeParameterName
unsigned intirq
irq_handler_thandler
unsigned longflags
const char *devname
void __percpu *dev_id
2416  If Not dev_id Then Return -EINVAL
2419  desc = Interrupt to descriptor
2420  If Not desc || Not irq_settings_can_request(desc) || Not irq_settings_is_per_cpu_devid(desc) Then Return -EINVAL
2424  If flags && flags != Flag to mark this interrupt as timer interrupt Then Return -EINVAL
2427  action = kzalloc - allocate memory. The memory is set to zero.*@size: how many bytes of memory are required.*@flags: the type of memory to allocate (see kmalloc).
2428  If Not action Then Return -ENOMEM
2431  handler = handler
2432  flags = flags | Interrupt is per cpu | Do not disable this IRQ during suspend
2433  name = devname
2434  percpu_dev_id = dev_id
2436  retval = q_chip_pm_get - Enable power for an IRQ chip*@data: Pointer to interrupt specific data* Enable the power to the IRQ chip referenced by the interrupt data* structure.
2437  If retval < 0 Then
2438  kfree - free previously allocated memory*@objp: pointer returned by kmalloc.* If @objp is NULL, no operation is performed.* Don't free memory not originally allocated by kmalloc()* or you will run into trouble.
2439  Return retval
2442  retval = register an interrupt
2444  If retval Then
2445  q_chip_pm_put - Disable power for an IRQ chip*@data: Pointer to interrupt specific data* Disable the power to the IRQ chip referenced by the interrupt data* structure, belongs. Note that power will only be disabled, once this
2446  kfree - free previously allocated memory*@objp: pointer returned by kmalloc.* If @objp is NULL, no operation is performed.* Don't free memory not originally allocated by kmalloc()* or you will run into trouble.
2449  Return retval