drivers: provide devm_platform_ioremap_resource()
There are currently 1200+ instances of using platform_get_resource() and devm_ioremap_resource() together in the kernel tree. This patch wraps these two calls in a single helper. Thanks to that we don't have to declare a local variable for struct resource * and can omit the redundant argument for resource type. We also have one function call less. Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
parent
3dda927fdb
commit
7945f929f1
|
@ -79,6 +79,24 @@ struct resource *platform_get_resource(struct platform_device *dev,
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(platform_get_resource);
|
EXPORT_SYMBOL_GPL(platform_get_resource);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* devm_platform_ioremap_resource - call devm_ioremap_resource() for a platform
|
||||||
|
* device
|
||||||
|
*
|
||||||
|
* @pdev: platform device to use both for memory resource lookup as well as
|
||||||
|
* resource managemend
|
||||||
|
* @index: resource index
|
||||||
|
*/
|
||||||
|
void __iomem *devm_platform_ioremap_resource(struct platform_device *pdev,
|
||||||
|
unsigned int index)
|
||||||
|
{
|
||||||
|
struct resource *res;
|
||||||
|
|
||||||
|
res = platform_get_resource(pdev, IORESOURCE_MEM, index);
|
||||||
|
return devm_ioremap_resource(&pdev->dev, res);
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(devm_platform_ioremap_resource);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* platform_get_irq - get an IRQ for a device
|
* platform_get_irq - get an IRQ for a device
|
||||||
* @dev: platform device
|
* @dev: platform device
|
||||||
|
|
|
@ -52,6 +52,9 @@ extern struct device platform_bus;
|
||||||
extern void arch_setup_pdev_archdata(struct platform_device *);
|
extern void arch_setup_pdev_archdata(struct platform_device *);
|
||||||
extern struct resource *platform_get_resource(struct platform_device *,
|
extern struct resource *platform_get_resource(struct platform_device *,
|
||||||
unsigned int, unsigned int);
|
unsigned int, unsigned int);
|
||||||
|
extern void __iomem *
|
||||||
|
devm_platform_ioremap_resource(struct platform_device *pdev,
|
||||||
|
unsigned int index);
|
||||||
extern int platform_get_irq(struct platform_device *, unsigned int);
|
extern int platform_get_irq(struct platform_device *, unsigned int);
|
||||||
extern int platform_irq_count(struct platform_device *);
|
extern int platform_irq_count(struct platform_device *);
|
||||||
extern struct resource *platform_get_resource_byname(struct platform_device *,
|
extern struct resource *platform_get_resource_byname(struct platform_device *,
|
||||||
|
|
Loading…
Reference in New Issue