mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-23 07:01:23 +00:00
driver-core: platform: Add platform_irq_count()
A recent patch added calls to of_irq_count() in the qcom pinctrl drivers and that caused module build failures because of_irq_count() is not an exported symbol. We shouldn't export of_irq_count() to modules because it's an internal OF API that shouldn't be used by drivers. Platform drivers should use platform device APIs instead. Therefore, add a platform_irq_count() API that mirrors the of_irq_count() API so that platform drivers can stay DT agnostic. Cc: Andy Gross <andy.gross@linaro.org> Acked-by: Rob Herring <robh@kernel.org> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
parent
c9f294ff65
commit
4b83555d50
2 changed files with 21 additions and 0 deletions
|
@ -116,6 +116,26 @@ int platform_get_irq(struct platform_device *dev, unsigned int num)
|
|||
}
|
||||
EXPORT_SYMBOL_GPL(platform_get_irq);
|
||||
|
||||
/**
|
||||
* platform_irq_count - Count the number of IRQs a platform device uses
|
||||
* @dev: platform device
|
||||
*
|
||||
* Return: Number of IRQs a platform device uses or EPROBE_DEFER
|
||||
*/
|
||||
int platform_irq_count(struct platform_device *dev)
|
||||
{
|
||||
int ret, nr = 0;
|
||||
|
||||
while ((ret = platform_get_irq(dev, nr)) >= 0)
|
||||
nr++;
|
||||
|
||||
if (ret == -EPROBE_DEFER)
|
||||
return ret;
|
||||
|
||||
return nr;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(platform_irq_count);
|
||||
|
||||
/**
|
||||
* platform_get_resource_byname - get a resource for a device by name
|
||||
* @dev: platform device
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue