Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0+ */
0002 /*
0003  * Copyright (C) 2017-2018 Bartosz Golaszewski <brgl@bgdev.pl>
0004  * Copyright (C) 2020 Bartosz Golaszewski <bgolaszewski@baylibre.com>
0005  */
0006 
0007 #ifndef _LINUX_IRQ_SIM_H
0008 #define _LINUX_IRQ_SIM_H
0009 
0010 #include <linux/device.h>
0011 #include <linux/fwnode.h>
0012 #include <linux/irqdomain.h>
0013 
0014 /*
0015  * Provides a framework for allocating simulated interrupts which can be
0016  * requested like normal irqs and enqueued from process context.
0017  */
0018 
0019 struct irq_domain *irq_domain_create_sim(struct fwnode_handle *fwnode,
0020                      unsigned int num_irqs);
0021 struct irq_domain *devm_irq_domain_create_sim(struct device *dev,
0022                           struct fwnode_handle *fwnode,
0023                           unsigned int num_irqs);
0024 void irq_domain_remove_sim(struct irq_domain *domain);
0025 
0026 #endif /* _LINUX_IRQ_SIM_H */