Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 80633f05 authored by Lee Jones's avatar Lee Jones Committed by Samuel Ortiz
Browse files

mfd: ab8500: Make ab8500_irq_get_virq() static



MFD core now takes care of  HWIRQ <-> VIRQ mapping, so the helper
ab8500_irq_get_virq() is no longer used by ab8500 subordinate devices
to obtain a Linux wide Virtual IRQ. The AB8500 IRQ controller still
uses it internally though, so we'll just hide it from the rest of the
world by making it static instead.

Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Signed-off-by: default avatarSamuel Ortiz <sameo@linux.intel.com>
parent 4f600ada
Loading
Loading
Loading
Loading
+16 −17
Original line number Diff line number Diff line
@@ -472,6 +472,22 @@ static irqreturn_t ab8500_hierarchical_irq(int irq, void *dev)
	return IRQ_HANDLED;
}

/**
 * ab8500_irq_get_virq(): Map an interrupt on a chip to a virtual IRQ
 *
 * @ab8500: ab8500_irq controller to operate on.
 * @irq: index of the interrupt requested in the chip IRQs
 *
 * Useful for drivers to request their own IRQs.
 */
static int ab8500_irq_get_virq(struct ab8500 *ab8500, int irq)
{
	if (!ab8500)
		return -EINVAL;

	return irq_create_mapping(ab8500->domain, irq);
}

static irqreturn_t ab8500_irq(int irq, void *dev)
{
	struct ab8500 *ab8500 = dev;
@@ -511,23 +527,6 @@ static irqreturn_t ab8500_irq(int irq, void *dev)
	return IRQ_HANDLED;
}

/**
 * ab8500_irq_get_virq(): Map an interrupt on a chip to a virtual IRQ
 *
 * @ab8500: ab8500_irq controller to operate on.
 * @irq: index of the interrupt requested in the chip IRQs
 *
 * Useful for drivers to request their own IRQs.
 */
int ab8500_irq_get_virq(struct ab8500 *ab8500, int irq)
{
	if (!ab8500)
		return -EINVAL;

	return irq_create_mapping(ab8500->domain, irq);
}
EXPORT_SYMBOL_GPL(ab8500_irq_get_virq);

static int ab8500_irq_map(struct irq_domain *d, unsigned int virq,
				irq_hw_number_t hwirq)
{
+0 −2
Original line number Diff line number Diff line
@@ -341,6 +341,4 @@ static inline int is_ab8500_2p0(struct ab8500 *ab)
	return (is_ab8500(ab) && (ab->chip_id == AB8500_CUT2P0));
}

int ab8500_irq_get_virq(struct ab8500 *ab8500, int irq);

#endif /* MFD_AB8500_H */