diff mbox series

char: xillybus: remove direct dependency on DT functions

Message ID 20180104224542.15333-1-robh@kernel.org
State Accepted
Commit 74d83a5d747ad22f33927ffd2c77f237fda2e878
Headers show
Series char: xillybus: remove direct dependency on DT functions | expand

Commit Message

Rob Herring (Arm) Jan. 4, 2018, 10:45 p.m. UTC
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 <eli.billauer@gmail.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Rob Herring <robh@kernel.org>

---
 drivers/char/xillybus/Kconfig       |  4 ++--
 drivers/char/xillybus/xillybus_of.c | 12 ++++--------
 2 files changed, 6 insertions(+), 10 deletions(-)

--
2.14.1

Comments

Eli Billauer Jan. 9, 2018, 6:55 p.m. UTC | #1
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<eli.billauer@gmail.com>

> Cc: Greg Kroah-Hartman<gregkh@linuxfoundation.org>

> Signed-off-by: Rob Herring<robh@kernel.org>

> ---

>   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

>

>
diff mbox series

Patch

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);