Commit 759273c3 authored by Henning Schild's avatar Henning Schild Committed by Lee Jones

leds: simatic-ipc-leds: Convert to use P2SB accessor

Since we have a common P2SB accessor in tree we may use it instead of
open coded variants.

Replace custom code by p2sb_bar() call.
Signed-off-by: default avatarHenning Schild <henning.schild@siemens.com>
Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: default avatarLee Jones <lee@kernel.org>
parent e38da7d3
...@@ -3,6 +3,7 @@ config LEDS_SIEMENS_SIMATIC_IPC ...@@ -3,6 +3,7 @@ config LEDS_SIEMENS_SIMATIC_IPC
tristate "LED driver for Siemens Simatic IPCs" tristate "LED driver for Siemens Simatic IPCs"
depends on LEDS_CLASS depends on LEDS_CLASS
depends on SIEMENS_SIMATIC_IPC depends on SIEMENS_SIMATIC_IPC
select P2SB
help help
This option enables support for the LEDs of several Industrial PCs This option enables support for the LEDs of several Industrial PCs
from Siemens. from Siemens.
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
#include <linux/leds.h> #include <linux/leds.h>
#include <linux/module.h> #include <linux/module.h>
#include <linux/pci.h> #include <linux/pci.h>
#include <linux/platform_data/x86/p2sb.h>
#include <linux/platform_data/x86/simatic-ipc-base.h> #include <linux/platform_data/x86/simatic-ipc-base.h>
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <linux/sizes.h> #include <linux/sizes.h>
...@@ -38,8 +39,8 @@ static struct simatic_ipc_led simatic_ipc_leds_io[] = { ...@@ -38,8 +39,8 @@ static struct simatic_ipc_led simatic_ipc_leds_io[] = {
{ } { }
}; };
/* the actual start will be discovered with PCI, 0 is a placeholder */ /* the actual start will be discovered with p2sb, 0 is a placeholder */
static struct resource simatic_ipc_led_mem_res = DEFINE_RES_MEM_NAMED(0, SZ_4K, KBUILD_MODNAME); static struct resource simatic_ipc_led_mem_res = DEFINE_RES_MEM_NAMED(0, 0, KBUILD_MODNAME);
static void __iomem *simatic_ipc_led_memory; static void __iomem *simatic_ipc_led_memory;
...@@ -145,14 +146,13 @@ static int simatic_ipc_leds_probe(struct platform_device *pdev) ...@@ -145,14 +146,13 @@ static int simatic_ipc_leds_probe(struct platform_device *pdev)
ipcled = simatic_ipc_leds_mem; ipcled = simatic_ipc_leds_mem;
type = IORESOURCE_MEM; type = IORESOURCE_MEM;
/* get GPIO base from PCI */ err = p2sb_bar(NULL, 0, res);
res->start = simatic_ipc_get_membase0(PCI_DEVFN(13, 0)); if (err)
if (res->start == 0) return err;
return -ENODEV;
/* do the final address calculation */ /* do the final address calculation */
res->start = res->start + (0xC5 << 16); res->start = res->start + (0xC5 << 16);
res->end += res->start; res->end = res->start + SZ_4K - 1;
simatic_ipc_led_memory = devm_ioremap_resource(dev, res); simatic_ipc_led_memory = devm_ioremap_resource(dev, res);
if (IS_ERR(simatic_ipc_led_memory)) if (IS_ERR(simatic_ipc_led_memory))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment