char: xillybus: remove direct dependency on DT functions
authorRob Herring <robh@kernel.org>
Thu, 4 Jan 2018 22:45:39 +0000 (16:45 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 9 Jan 2018 16:59:49 +0000 (17:59 +0100)
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>
Signed-off-by: Rob Herring <robh@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/char/xillybus/Kconfig
drivers/char/xillybus/xillybus_of.c

index b302684d86c14c065f3d4cb9a415f19e9b3c81c9..a1f16df08d323ceba85270d8a7e135c5cc6ace75 100644 (file)
@@ -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
index 78a492f5acfb3ddc53e24dbf3d9a56a8ca4dbd01..4d6625ccb48f2f75c838919e34986b402acd8ef1 100644 (file)
 #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);