1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * Copyright (C) 2023 Cirrus Logic, Inc. and
4 * Cirrus Logic International Semiconductor Ltd.
5 */
6
7#ifndef __SDW_IRQ_H
8#define __SDW_IRQ_H
9
10#include <linux/soundwire/sdw.h>
11#include <linux/fwnode.h>
12
13#if IS_ENABLED(CONFIG_IRQ_DOMAIN)
14
15int sdw_irq_create(struct sdw_bus *bus,
16 struct fwnode_handle *fwnode);
17void sdw_irq_delete(struct sdw_bus *bus);
18void sdw_irq_create_mapping(struct sdw_slave *slave);
19void sdw_irq_dispose_mapping(struct sdw_slave *slave);
20
21#else /* CONFIG_IRQ_DOMAIN */
22
23static inline int sdw_irq_create(struct sdw_bus *bus,
24 struct fwnode_handle *fwnode)
25{
26 return 0;
27}
28
29static inline void sdw_irq_delete(struct sdw_bus *bus)
30{
31}
32
33static inline void sdw_irq_create_mapping(struct sdw_slave *slave)
34{
35}
36
37static inline void sdw_irq_dispose_mapping(struct sdw_slave *slave)
38{
39}
40
41#endif /* CONFIG_IRQ_DOMAIN */
42
43#endif /* __SDW_IRQ_H */
44

source code of linux/drivers/soundwire/irq.h