Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1640852 > unrolled thread

[PATCH 4/8] gpio: exar: Fix iomap request

Started byJan Kiszka <jan.kiszka@siemens.com>
First post2017-05-13 09:30 +0200
Last post2017-05-13 15:30 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [PATCH 4/8] gpio: exar: Fix iomap request Jan Kiszka <jan.kiszka@siemens.com> - 2017-05-13 09:30 +0200
    Re: [PATCH 4/8] gpio: exar: Fix iomap request Andy Shevchenko <andy.shevchenko@gmail.com> - 2017-05-13 15:30 +0200

#1640852 — [PATCH 4/8] gpio: exar: Fix iomap request

FromJan Kiszka <jan.kiszka@siemens.com>
Date2017-05-13 09:30 +0200
Subject[PATCH 4/8] gpio: exar: Fix iomap request
Message-ID<tGzF0-rm-3@gated-at.bofh.it>
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.kiszka@siemens.com>
---
 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 9138ee087c5d..d6ffb3d89b9c 100644
--- a/drivers/gpio/gpio-exar.c
+++ b/drivers/gpio/gpio-exar.c
@@ -128,14 +128,10 @@ static int gpio_exar_probe(struct platform_device *pdev)
 		return -ENODEV;
 
 	/*
-	 * 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.0

[toc] | [next] | [standalone]


#1640912

FromAndy Shevchenko <andy.shevchenko@gmail.com>
Date2017-05-13 15:30 +0200
Message-ID<tGFhn-4d4-1@gated-at.bofh.it>
In reply to#1640852
On Sat, May 13, 2017 at 10:29 AM, Jan Kiszka <jan.kiszka@siemens.com> wrote:
> The UART driver already maps the resource for us. Trying to do this here
> only fails and leaves us with a non-working device.

I hoped this had been tested previously...
FWIW:
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>

>
> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
> ---
>  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 9138ee087c5d..d6ffb3d89b9c 100644
> --- a/drivers/gpio/gpio-exar.c
> +++ b/drivers/gpio/gpio-exar.c
> @@ -128,14 +128,10 @@ static int gpio_exar_probe(struct platform_device *pdev)
>                 return -ENODEV;
>
>         /*
> -        * 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.0
>



-- 
With Best Regards,
Andy Shevchenko

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web