44 lines
		
	
	
		
			922 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			922 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /* 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 */
 |