Message ID | 20180104224542.15333-1-robh@kernel.org |
---|---|
State | Accepted |
Commit | 74d83a5d747ad22f33927ffd2c77f237fda2e878 |
Headers | show |
Series | char: xillybus: remove direct dependency on DT functions | expand |
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 --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);
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