diff options
author | Johannes Thumshirn <jthumshirn@suse.de> | 2017-08-02 10:58:52 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-08-28 21:51:22 +0300 |
commit | 2ce8008711e4837c11e99a94df55406085d0d098 (patch) | |
tree | 361894dfa3ace1606927188629a777e6e5debb83 /drivers/mcb | |
parent | 5aabd3b0077e0577f60a1ca6b8bdad62f23353d8 (diff) | |
download | linux-2ce8008711e4837c11e99a94df55406085d0d098.tar.xz |
mcb: introduce mcb_get_resource()
Introduce mcb_get_resource() as a common accessor to a mcb device's memory or
IRQ resources.
Signed-off-by: Johannes Thumshirn <jthumshirn@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/mcb')
-rw-r--r-- | drivers/mcb/mcb-core.c | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/drivers/mcb/mcb-core.c b/drivers/mcb/mcb-core.c index 921a5d2a802b..bb5c5692dedc 100644 --- a/drivers/mcb/mcb-core.c +++ b/drivers/mcb/mcb-core.c @@ -418,6 +418,22 @@ void mcb_bus_add_devices(const struct mcb_bus *bus) EXPORT_SYMBOL_GPL(mcb_bus_add_devices); /** + * mcb_get_resource() - get a resource for a mcb device + * @dev: the mcb device + * @type: the type of resource + */ +struct resource *mcb_get_resource(struct mcb_device *dev, unsigned int type) +{ + if (type == IORESOURCE_MEM) + return &dev->mem; + else if (type == IORESOURCE_IRQ) + return &dev->irq; + else + return NULL; +} +EXPORT_SYMBOL_GPL(mcb_get_resource); + +/** * mcb_request_mem() - Request memory * @dev: The @mcb_device the memory is for * @name: The name for the memory reference. @@ -460,7 +476,9 @@ EXPORT_SYMBOL_GPL(mcb_release_mem); static int __mcb_get_irq(struct mcb_device *dev) { - struct resource *irq = &dev->irq; + struct resource *irq; + + irq = mcb_get_resource(dev, IORESOURCE_IRQ); return irq->start; } |