Message ID | 20200515104758.6934-12-Sergey.Semin@baikalelectronics.ru (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | spi: dw: Add generic DW DMA controller support | expand |
On Fri, May 15, 2020 at 01:47:50PM +0300, Serge Semin wrote: > This field is used only for the DW SPI DMA code initialization, that's > why there were no problems with it being uninitialized in Dw SPI MMIO > driver. Since in a further patch we are going to introduce the DW SPI DMA > support in the MMIO version of the driver, lets set the field with the > physical address of the DW SPI controller registers region. Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> > > Co-developed-by: Georgy Vlasov <Georgy.Vlasov@baikalelectronics.ru> > Signed-off-by: Georgy Vlasov <Georgy.Vlasov@baikalelectronics.ru> > Co-developed-by: Ramil Zaripov <Ramil.Zaripov@baikalelectronics.ru> > Signed-off-by: Ramil Zaripov <Ramil.Zaripov@baikalelectronics.ru> > Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru> > Cc: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru> > Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de> > Cc: Paul Burton <paulburton@kernel.org> > Cc: Ralf Baechle <ralf@linux-mips.org> > Cc: Arnd Bergmann <arnd@arndb.de> > Cc: Allison Randal <allison@lohutok.net> > Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com> > Cc: Gareth Williams <gareth.williams.jx@renesas.com> > Cc: Rob Herring <robh+dt@kernel.org> > Cc: linux-mips@vger.kernel.org > Cc: devicetree@vger.kernel.org > --- > drivers/spi/spi-dw-mmio.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/spi/spi-dw-mmio.c b/drivers/spi/spi-dw-mmio.c > index 398f7926cf92..0894b4c09496 100644 > --- a/drivers/spi/spi-dw-mmio.c > +++ b/drivers/spi/spi-dw-mmio.c > @@ -184,6 +184,7 @@ static int dw_spi_mmio_probe(struct platform_device *pdev) > int (*init_func)(struct platform_device *pdev, > struct dw_spi_mmio *dwsmmio); > struct dw_spi_mmio *dwsmmio; > + struct resource *mem; > struct dw_spi *dws; > int ret; > int num_cs; > @@ -196,10 +197,12 @@ static int dw_spi_mmio_probe(struct platform_device *pdev) > dws = &dwsmmio->dws; > > /* Get basic io resource and map it */ > - dws->regs = devm_platform_ioremap_resource(pdev, 0); > + dws->regs = devm_platform_get_and_ioremap_resource(pdev, 0, &mem); > if (IS_ERR(dws->regs)) > return PTR_ERR(dws->regs); > > + dws->paddr = mem->start; > + > dws->irq = platform_get_irq(pdev, 0); > if (dws->irq < 0) > return dws->irq; /* -ENXIO */ > -- > 2.25.1 >
diff --git a/drivers/spi/spi-dw-mmio.c b/drivers/spi/spi-dw-mmio.c index 398f7926cf92..0894b4c09496 100644 --- a/drivers/spi/spi-dw-mmio.c +++ b/drivers/spi/spi-dw-mmio.c @@ -184,6 +184,7 @@ static int dw_spi_mmio_probe(struct platform_device *pdev) int (*init_func)(struct platform_device *pdev, struct dw_spi_mmio *dwsmmio); struct dw_spi_mmio *dwsmmio; + struct resource *mem; struct dw_spi *dws; int ret; int num_cs; @@ -196,10 +197,12 @@ static int dw_spi_mmio_probe(struct platform_device *pdev) dws = &dwsmmio->dws; /* Get basic io resource and map it */ - dws->regs = devm_platform_ioremap_resource(pdev, 0); + dws->regs = devm_platform_get_and_ioremap_resource(pdev, 0, &mem); if (IS_ERR(dws->regs)) return PTR_ERR(dws->regs); + dws->paddr = mem->start; + dws->irq = platform_get_irq(pdev, 0); if (dws->irq < 0) return dws->irq; /* -ENXIO */