2018-01-04 22:45:45

by Rob Herring (Arm)

[permalink] [raw]
Subject: [PATCH] char: xillybus: remove direct dependency on DT functions

Drivers generally should not need to depend directly on OF_ADDRESS or
OF_IRQ. Convert xillybus to use the preferred platform_get_resource() and
platform_get_irq() functions to remove this dependency.

Cc: Eli Billauer <[email protected]>
Cc: Greg Kroah-Hartman <[email protected]>
Signed-off-by: Rob Herring <[email protected]>
---
drivers/char/xillybus/Kconfig | 4 ++--
drivers/char/xillybus/xillybus_of.c | 12 ++++--------
2 files changed, 6 insertions(+), 10 deletions(-)

diff --git a/drivers/char/xillybus/Kconfig b/drivers/char/xillybus/Kconfig
index b302684d86c1..a1f16df08d32 100644
--- a/drivers/char/xillybus/Kconfig
+++ b/drivers/char/xillybus/Kconfig
@@ -4,7 +4,7 @@

config XILLYBUS
tristate "Xillybus generic FPGA interface"
- depends on PCI || (OF_ADDRESS && OF_IRQ)
+ depends on PCI || OF
select CRC32
help
Xillybus is a generic interface for peripherals designed on
@@ -24,7 +24,7 @@ config XILLYBUS_PCIE

config XILLYBUS_OF
tristate "Xillybus over Device Tree"
- depends on OF_ADDRESS && OF_IRQ && HAS_DMA
+ depends on OF && HAS_DMA
help
Set to M if you want Xillybus to find its resources from the
Open Firmware Flattened Device Tree. If the target is an embedded
diff --git a/drivers/char/xillybus/xillybus_of.c b/drivers/char/xillybus/xillybus_of.c
index 78a492f5acfb..4d6625ccb48f 100644
--- a/drivers/char/xillybus/xillybus_of.c
+++ b/drivers/char/xillybus/xillybus_of.c
@@ -15,10 +15,6 @@
#include <linux/slab.h>
#include <linux/platform_device.h>
#include <linux/of.h>
-#include <linux/of_irq.h>
-#include <linux/of_address.h>
-#include <linux/of_device.h>
-#include <linux/of_platform.h>
#include <linux/err.h>
#include "xillybus.h"

@@ -123,7 +119,7 @@ static int xilly_drv_probe(struct platform_device *op)
struct xilly_endpoint *endpoint;
int rc;
int irq;
- struct resource res;
+ struct resource *res;
struct xilly_endpoint_hardware *ephw = &of_hw;

if (of_property_read_bool(dev->of_node, "dma-coherent"))
@@ -136,13 +132,13 @@ static int xilly_drv_probe(struct platform_device *op)

dev_set_drvdata(dev, endpoint);

- rc = of_address_to_resource(dev->of_node, 0, &res);
- endpoint->registers = devm_ioremap_resource(dev, &res);
+ res = platform_get_resource(op, IORESOURCE_MEM, 0);
+ endpoint->registers = devm_ioremap_resource(dev, res);

if (IS_ERR(endpoint->registers))
return PTR_ERR(endpoint->registers);

- irq = irq_of_parse_and_map(dev->of_node, 0);
+ irq = platform_get_irq(op, 0);

rc = devm_request_irq(dev, irq, xillybus_isr, 0, xillyname, endpoint);

--
2.14.1


2018-01-09 18:55:32

by Eli Billauer

[permalink] [raw]
Subject: Re: [PATCH] char: xillybus: remove direct dependency on DT functions

Hello Rob,

I've had issues with my Gmail account recently, so I saw the patch only
today. I was on my way to Ack it, when I got the mail announcing it has
been applied.

So thanks, and sorry for not responding earlier.

Regards,
Eli

On 05/01/18 00:45, Rob Herring wrote:
> Drivers generally should not need to depend directly on OF_ADDRESS or
> OF_IRQ. Convert xillybus to use the preferred platform_get_resource() and
> platform_get_irq() functions to remove this dependency.
>
> Cc: Eli Billauer<[email protected]>
> Cc: Greg Kroah-Hartman<[email protected]>
> Signed-off-by: Rob Herring<[email protected]>
> ---
> drivers/char/xillybus/Kconfig | 4 ++--
> drivers/char/xillybus/xillybus_of.c | 12 ++++--------
> 2 files changed, 6 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/char/xillybus/Kconfig b/drivers/char/xillybus/Kconfig
> index b302684d86c1..a1f16df08d32 100644
> --- a/drivers/char/xillybus/Kconfig
> +++ b/drivers/char/xillybus/Kconfig
> @@ -4,7 +4,7 @@
>
> config XILLYBUS
> tristate "Xillybus generic FPGA interface"
> - depends on PCI || (OF_ADDRESS&& OF_IRQ)
> + depends on PCI || OF
> select CRC32
> help
> Xillybus is a generic interface for peripherals designed on
> @@ -24,7 +24,7 @@ config XILLYBUS_PCIE
>
> config XILLYBUS_OF
> tristate "Xillybus over Device Tree"
> - depends on OF_ADDRESS&& OF_IRQ&& HAS_DMA
> + depends on OF&& HAS_DMA
> help
> Set to M if you want Xillybus to find its resources from the
> Open Firmware Flattened Device Tree. If the target is an embedded
> diff --git a/drivers/char/xillybus/xillybus_of.c b/drivers/char/xillybus/xillybus_of.c
> index 78a492f5acfb..4d6625ccb48f 100644
> --- a/drivers/char/xillybus/xillybus_of.c
> +++ b/drivers/char/xillybus/xillybus_of.c
> @@ -15,10 +15,6 @@
> #include<linux/slab.h>
> #include<linux/platform_device.h>
> #include<linux/of.h>
> -#include<linux/of_irq.h>
> -#include<linux/of_address.h>
> -#include<linux/of_device.h>
> -#include<linux/of_platform.h>
> #include<linux/err.h>
> #include "xillybus.h"
>
> @@ -123,7 +119,7 @@ static int xilly_drv_probe(struct platform_device *op)
> struct xilly_endpoint *endpoint;
> int rc;
> int irq;
> - struct resource res;
> + struct resource *res;
> struct xilly_endpoint_hardware *ephw =&of_hw;
>
> if (of_property_read_bool(dev->of_node, "dma-coherent"))
> @@ -136,13 +132,13 @@ static int xilly_drv_probe(struct platform_device *op)
>
> dev_set_drvdata(dev, endpoint);
>
> - rc = of_address_to_resource(dev->of_node, 0,&res);
> - endpoint->registers = devm_ioremap_resource(dev,&res);
> + res = platform_get_resource(op, IORESOURCE_MEM, 0);
> + endpoint->registers = devm_ioremap_resource(dev, res);
>
> if (IS_ERR(endpoint->registers))
> return PTR_ERR(endpoint->registers);
>
> - irq = irq_of_parse_and_map(dev->of_node, 0);
> + irq = platform_get_irq(op, 0);
>
> rc = devm_request_irq(dev, irq, xillybus_isr, 0, xillyname, endpoint);
>
> --
> 2.14.1
>
>