mirror of
https://github.com/torvalds/linux.git
synced 2024-11-22 20:22:09 +00:00
driver core: platform: Introduce platform_get_mem_or_io()
There are at least few existing users of the proposed API which retrieves either MEM or IO resource from platform device. Make it common to utilize in the existing and new users. Cc: Eric Auger <eric.auger@redhat.com> Cc: Alex Williamson <alex.williamson@redhat.com> Cc: kvm@vger.kernel.org Cc: linux-usb@vger.kernel.org Cc: Peng Hao <peng.hao2@zte.com.cn> Cc: Arnd Bergmann <arnd@arndb.de> Reviewed-by: Cornelia Huck <cohuck@redhat.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Link: https://lore.kernel.org/r/20201209203642.27648-1-andriy.shevchenko@linux.intel.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
3577afb005
commit
0aec2da436
@ -63,6 +63,21 @@ struct resource *platform_get_resource(struct platform_device *dev,
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(platform_get_resource);
|
||||
|
||||
struct resource *platform_get_mem_or_io(struct platform_device *dev,
|
||||
unsigned int num)
|
||||
{
|
||||
u32 i;
|
||||
|
||||
for (i = 0; i < dev->num_resources; i++) {
|
||||
struct resource *r = &dev->resource[i];
|
||||
|
||||
if ((resource_type(r) & (IORESOURCE_MEM|IORESOURCE_IO)) && num-- == 0)
|
||||
return r;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(platform_get_mem_or_io);
|
||||
|
||||
#ifdef CONFIG_HAS_IOMEM
|
||||
/**
|
||||
* devm_platform_get_and_ioremap_resource - call devm_ioremap_resource() for a
|
||||
|
@ -52,6 +52,9 @@ extern struct device platform_bus;
|
||||
|
||||
extern struct resource *platform_get_resource(struct platform_device *,
|
||||
unsigned int, unsigned int);
|
||||
extern struct resource *platform_get_mem_or_io(struct platform_device *,
|
||||
unsigned int);
|
||||
|
||||
extern struct device *
|
||||
platform_find_device_by_driver(struct device *start,
|
||||
const struct device_driver *drv);
|
||||
|
Loading…
Reference in New Issue
Block a user