diff options
Diffstat (limited to 'drivers/gpio/gpio-orion.c')
-rw-r--r-- | drivers/gpio/gpio-orion.c | 8 |
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; |