The UART driver already maps the resource for us. Trying to do this here
only fails and leaves us with a non-working device.

Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>
Reviewed-by: Andy Shevchenko <andy.shevche...@gmail.com>
Acked-by: Linus Walleij <linus.wall...@linaro.org>
---
 drivers/gpio/gpio-exar.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/drivers/gpio/gpio-exar.c b/drivers/gpio/gpio-exar.c
index 65126fa1e512..b29890b143ce 100644
--- a/drivers/gpio/gpio-exar.c
+++ b/drivers/gpio/gpio-exar.c
@@ -125,14 +125,10 @@ static int gpio_exar_probe(struct platform_device *pdev)
        int index, ret;
 
        /*
-        * Map the pci device to get the register addresses.
-        * We will need to read and write those registers to control
-        * the GPIO pins.
-        * Using managed functions will save us from unmaping on exit.
-        * As the device is enabled using managed functions by the
-        * UART driver we can also use managed functions here.
+        * The UART driver must have mapped region 0 prior to registering this
+        * device - use it.
         */
-       p = pcim_iomap(pcidev, 0, 0);
+       p = pcim_iomap_table(pcidev)[0];
        if (!p)
                return -ENOMEM;
 
-- 
2.12.3

Reply via email to