| /* SPDX-License-Identifier: GPL-2.0 */ |
| /* |
| * Copyright (C) 2023 Cirrus Logic, Inc. and |
| * Cirrus Logic International Semiconductor Ltd. |
| */ |
| |
| #ifndef __SDW_IRQ_H |
| #define __SDW_IRQ_H |
| |
| #include <linux/soundwire/sdw.h> |
| #include <linux/fwnode.h> |
| |
| #if IS_ENABLED(CONFIG_IRQ_DOMAIN) |
| |
| int sdw_irq_create(struct sdw_bus *bus, |
| struct fwnode_handle *fwnode); |
| void sdw_irq_delete(struct sdw_bus *bus); |
| void sdw_irq_create_mapping(struct sdw_slave *slave); |
| void sdw_irq_dispose_mapping(struct sdw_slave *slave); |
| |
| #else /* CONFIG_IRQ_DOMAIN */ |
| |
| static inline int sdw_irq_create(struct sdw_bus *bus, |
| struct fwnode_handle *fwnode) |
| { |
| return 0; |
| } |
| |
| static inline void sdw_irq_delete(struct sdw_bus *bus) |
| { |
| } |
| |
| static inline void sdw_irq_create_mapping(struct sdw_slave *slave) |
| { |
| } |
| |
| static inline void sdw_irq_dispose_mapping(struct sdw_slave *slave) |
| { |
| } |
| |
| #endif /* CONFIG_IRQ_DOMAIN */ |
| |
| #endif /* __SDW_IRQ_H */ |