| From 8b8ab4a0889619598ce4ccc6ec0a22670e7237d3 Mon Sep 17 00:00:00 2001 |
| From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <uwe@kleine-koenig.org> |
| Date: Wed, 9 Oct 2019 11:37:46 +0200 |
| Subject: [PATCH] driver core: simplify definitions of platform_get_irq* |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| commit ec4e29068839e00ff99ae94ccbb46123f0a0ba9d upstream. |
| |
| platform_get_irq_optional is just a wrapper for __platform_get_irq. So |
| rename __platform_get_irq to platform_get_irq_optional and drop |
| platform_get_irq_optional's previous implementation. This way there is |
| one function and one indirection less without loss of functionality. |
| |
| Signed-off-by: Uwe Kleine-König <uwe@kleine-koenig.org> |
| Reviewed-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> |
| Link: https://lore.kernel.org/r/20191009093746.12095-1-uwe@kleine-koenig.org |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/drivers/base/platform.c b/drivers/base/platform.c |
| index ecb8d88089f5..eebe95600d1e 100644 |
| --- a/drivers/base/platform.c |
| +++ b/drivers/base/platform.c |
| @@ -100,7 +100,24 @@ void __iomem *devm_platform_ioremap_resource(struct platform_device *pdev, |
| EXPORT_SYMBOL_GPL(devm_platform_ioremap_resource); |
| #endif /* CONFIG_HAS_IOMEM */ |
| |
| -static int __platform_get_irq(struct platform_device *dev, unsigned int num) |
| +/** |
| + * platform_get_irq_optional - get an optional IRQ for a device |
| + * @dev: platform device |
| + * @num: IRQ number index |
| + * |
| + * Gets an IRQ for a platform device. Device drivers should check the return |
| + * value for errors so as to not pass a negative integer value to the |
| + * request_irq() APIs. This is the same as platform_get_irq(), except that it |
| + * does not print an error message if an IRQ can not be obtained. |
| + * |
| + * Example: |
| + * int irq = platform_get_irq_optional(pdev, 0); |
| + * if (irq < 0) |
| + * return irq; |
| + * |
| + * Return: IRQ number on success, negative error number on failure. |
| + */ |
| +int platform_get_irq_optional(struct platform_device *dev, unsigned int num) |
| { |
| #ifdef CONFIG_SPARC |
| /* sparc does not have irqs represented as IORESOURCE_IRQ resources */ |
| @@ -161,6 +178,7 @@ static int __platform_get_irq(struct platform_device *dev, unsigned int num) |
| return -ENXIO; |
| #endif |
| } |
| +EXPORT_SYMBOL_GPL(platform_get_irq_optional); |
| |
| /** |
| * platform_get_irq - get an IRQ for a device |
| @@ -182,7 +200,7 @@ int platform_get_irq(struct platform_device *dev, unsigned int num) |
| { |
| int ret; |
| |
| - ret = __platform_get_irq(dev, num); |
| + ret = platform_get_irq_optional(dev, num); |
| if (ret < 0 && ret != -EPROBE_DEFER) |
| dev_err(&dev->dev, "IRQ index %u not found\n", num); |
| |
| @@ -191,29 +209,6 @@ int platform_get_irq(struct platform_device *dev, unsigned int num) |
| EXPORT_SYMBOL_GPL(platform_get_irq); |
| |
| /** |
| - * platform_get_irq_optional - get an optional IRQ for a device |
| - * @dev: platform device |
| - * @num: IRQ number index |
| - * |
| - * Gets an IRQ for a platform device. Device drivers should check the return |
| - * value for errors so as to not pass a negative integer value to the |
| - * request_irq() APIs. This is the same as platform_get_irq(), except that it |
| - * does not print an error message if an IRQ can not be obtained. |
| - * |
| - * Example: |
| - * int irq = platform_get_irq_optional(pdev, 0); |
| - * if (irq < 0) |
| - * return irq; |
| - * |
| - * Return: IRQ number on success, negative error number on failure. |
| - */ |
| -int platform_get_irq_optional(struct platform_device *dev, unsigned int num) |
| -{ |
| - return __platform_get_irq(dev, num); |
| -} |
| -EXPORT_SYMBOL_GPL(platform_get_irq_optional); |
| - |
| -/** |
| * platform_irq_count - Count the number of IRQs a platform device uses |
| * @dev: platform device |
| * |
| @@ -223,7 +218,7 @@ int platform_irq_count(struct platform_device *dev) |
| { |
| int ret, nr = 0; |
| |
| - while ((ret = __platform_get_irq(dev, nr)) >= 0) |
| + while ((ret = platform_get_irq_optional(dev, nr)) >= 0) |
| nr++; |
| |
| if (ret == -EPROBE_DEFER) |
| -- |
| 2.7.4 |
| |