Lines Matching +full:c900 +full:- +full:aclint +full:- +full:sswi
1 // SPDX-License-Identifier: GPL-2.0
6 #define pr_fmt(fmt) "thead-c900-aclint-sswi: " fmt
82 pr_err("%pfwP: no ACLINT SSWI context available\n", fwnode); in thead_aclint_sswi_parse_irq()
83 return -EINVAL; in thead_aclint_sswi_parse_irq()
96 return -ENOTSUPP; in thead_aclint_sswi_parse_irq()
114 /* If it is T-HEAD CPU, check whether SSWI is enabled */ in thead_aclint_sswi_probe()
117 return -ENOTSUPP; in thead_aclint_sswi_probe()
120 return -EINVAL; in thead_aclint_sswi_probe()
124 return -ENOMEM; in thead_aclint_sswi_probe()
126 /* Parse SSWI setting */ in thead_aclint_sswi_probe()
131 /* If mulitple SSWI devices are present, do not register irq again */ in thead_aclint_sswi_probe()
139 return -ENOENT; in thead_aclint_sswi_probe()
144 pr_err("unable to create ACLINT SSWI IRQ mapping\n"); in thead_aclint_sswi_probe()
145 return -ENOMEM; in thead_aclint_sswi_probe()
148 /* Register SSWI irq and handler */ in thead_aclint_sswi_probe()
153 return virq < 0 ? virq : -ENOMEM; in thead_aclint_sswi_probe()
159 "irqchip/thead-aclint-sswi:starting", in thead_aclint_sswi_probe()
165 /* Announce that SSWI is providing IPIs */ in thead_aclint_sswi_probe()
166 pr_info("providing IPIs using THEAD ACLINT SSWI\n"); in thead_aclint_sswi_probe()
174 return thead_aclint_sswi_probe(&node->fwnode); in thead_aclint_sswi_early_probe()
176 IRQCHIP_DECLARE(thead_aclint_sswi, "thead,c900-aclint-sswi", thead_aclint_sswi_early_probe);