summaryrefslogtreecommitdiffstats
path: root/drivers/gpio/gpio-orion.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpio/gpio-orion.c')
-rw-r--r--drivers/gpio/gpio-orion.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/gpio/gpio-orion.c b/drivers/gpio/gpio-orion.c
index 5348395d58..63ef966edf 100644
--- a/drivers/gpio/gpio-orion.c
+++ b/drivers/gpio/gpio-orion.c
@@ -89,6 +89,7 @@ static struct gpio_ops orion_gpio_ops = {
static int orion_gpio_probe(struct device_d *dev)
{
+ struct resource *iores;
struct orion_gpio_chip *gpio;
dev->id = of_alias_get_id(dev->device_node, "gpio");
@@ -96,11 +97,12 @@ static int orion_gpio_probe(struct device_d *dev)
return dev->id;
gpio = xzalloc(sizeof(*gpio));
- gpio->regs = dev_request_mem_region(dev, 0);
- if (IS_ERR(gpio->regs)) {
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores)) {
free(gpio);
- return PTR_ERR(gpio->regs);
+ return PTR_ERR(iores);
}
+ gpio->regs = IOMEM(iores->start);
gpio->chip.dev = dev;
gpio->chip.ops = &orion_gpio_ops;
gpio->chip.base = dev->id * 32;