/* unset GIRQn interrupt source callback by device handle  */
int mchp_ecia_unset_callback_by_dev(const struct device *dev_girq, int src)
/* unset GIRQn interrupt source callback by device handle  */
int mchp_ecia_unset_callback_by_dev(const struct device *dev_girq, int src)
{
	if ((dev_girq == NULL) || (src < 0) || (src > 31)) {
		return -EINVAL;
	}
	const struct xec_girq_config *const cfg = DEV_GIRQ_CFG(dev_girq);
	struct xec_girq_src_data *girq_data = DEV_GIRQ_DATA(dev_girq);
	if (!(cfg->sources[src] & BIT(7))) {
		return -EINVAL;
	}
	int idx = (int)(cfg->sources[src] & ~BIT(7));
	girq_data[idx].cb = NULL;
	girq_data[idx].data = NULL;
	return 0;
}