44 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2/*3 * Copyright (C) 2023 Cirrus Logic, Inc. and4 * Cirrus Logic International Semiconductor Ltd.5 */6 7#ifndef __SDW_IRQ_H8#define __SDW_IRQ_H9 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