All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/3] spi: dw: fixes, and manages resources migration
@ 2013-12-30 18:30 Baruch Siach
       [not found] ` <cover.1388427564.git.baruch-NswTu9S1W3P6gbPvEgmw2w@public.gmane.org>
  0 siblings, 1 reply; 8+ messages in thread
From: Baruch Siach @ 2013-12-30 18:30 UTC (permalink / raw)
  To: Mark Brown
  Cc: linux-spi-u79uwXL29TY76Z2rM5mHXA, Feng Tang,
	Jean-Hugues Deschenes, Baruch Siach

This series migration the spi-dw driver and its mmio wrapper to manges
resources, and adds a few small fixes. I have a few more patches in the queue
for adding device tree support, gpio chip selects, and generic spi queue, but
I'm waiting with time until I get a chance to test them properly.

v2:
    Address the comments of Mark Brown as detailed in the patches

    Drop the last v1 series patch as it has already been applied

Baruch Siach (3):
  spi: dw: use managed resources
  spi: dw-mmio: prepare the clock before enabling
  spi: dw: fix memory leak on error path

 drivers/spi/spi-dw-mmio.c | 74 ++++++++++++++---------------------------------
 drivers/spi/spi-dw-pci.c  | 40 +++++++------------------
 drivers/spi/spi-dw.c      | 25 ++++++----------
 drivers/spi/spi-dw.h      |  4 +--
 4 files changed, 42 insertions(+), 101 deletions(-)

-- 
1.8.5.2

--
To unsubscribe from this list: send the line "unsubscribe linux-spi" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH v2 1/3] spi: dw: use managed resources
       [not found] ` <cover.1388427564.git.baruch-NswTu9S1W3P6gbPvEgmw2w@public.gmane.org>
@ 2013-12-30 18:30   ` Baruch Siach
       [not found]     ` <9fca9e7e34cd6bd0ec14d28952d422014d94763b.1388427564.git.baruch-NswTu9S1W3P6gbPvEgmw2w@public.gmane.org>
  2013-12-30 18:30   ` [PATCH v2 2/3] spi: dw-mmio: prepare the clock before enabling Baruch Siach
                     ` (2 subsequent siblings)
  3 siblings, 1 reply; 8+ messages in thread
From: Baruch Siach @ 2013-12-30 18:30 UTC (permalink / raw)
  To: Mark Brown
  Cc: linux-spi-u79uwXL29TY76Z2rM5mHXA, Feng Tang,
	Jean-Hugues Deschenes, Baruch Siach

Migrate mmio code and core driver to managed resources to reduce boilerplate
error handling code. Also, handle clk_enable() failure while at it, and drop
unused dw_spi iolen field.

Cc: Feng Tang <feng.tang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Cc: Jean-Hugues Deschenes <jean-hugues.deschenes-YGVykHU+fedBDgjK7y7TUQ@public.gmane.org>
Signed-off-by: Baruch Siach <baruch-NswTu9S1W3P6gbPvEgmw2w@public.gmane.org>
---
v2:
    Convert also the PCI code

    Drop the iolen and parent_dev fields
---
 drivers/spi/spi-dw-mmio.c | 70 ++++++++++++++---------------------------------
 drivers/spi/spi-dw-pci.c  | 40 +++++++--------------------
 drivers/spi/spi-dw.c      | 20 ++++----------
 drivers/spi/spi-dw.h      |  4 +--
 4 files changed, 37 insertions(+), 97 deletions(-)

diff --git a/drivers/spi/spi-dw-mmio.c b/drivers/spi/spi-dw-mmio.c
index 168c620..569adf8 100644
--- a/drivers/spi/spi-dw-mmio.c
+++ b/drivers/spi/spi-dw-mmio.c
@@ -30,14 +30,13 @@ static int dw_spi_mmio_probe(struct platform_device *pdev)
 {
 	struct dw_spi_mmio *dwsmmio;
 	struct dw_spi *dws;
-	struct resource *mem, *ioarea;
+	struct resource *mem;
 	int ret;
 
-	dwsmmio = kzalloc(sizeof(struct dw_spi_mmio), GFP_KERNEL);
-	if (!dwsmmio) {
-		ret = -ENOMEM;
-		goto err_end;
-	}
+	dwsmmio = devm_kzalloc(&pdev->dev, sizeof(struct dw_spi_mmio),
+			GFP_KERNEL);
+	if (!dwsmmio)
+		return -ENOMEM;
 
 	dws = &dwsmmio->dws;
 
@@ -45,80 +44,51 @@ static int dw_spi_mmio_probe(struct platform_device *pdev)
 	mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	if (!mem) {
 		dev_err(&pdev->dev, "no mem resource?\n");
-		ret = -EINVAL;
-		goto err_kfree;
+		return -EINVAL;
 	}
 
-	ioarea = request_mem_region(mem->start, resource_size(mem),
-			pdev->name);
-	if (!ioarea) {
-		dev_err(&pdev->dev, "SPI region already claimed\n");
-		ret = -EBUSY;
-		goto err_kfree;
-	}
-
-	dws->regs = ioremap_nocache(mem->start, resource_size(mem));
-	if (!dws->regs) {
-		dev_err(&pdev->dev, "SPI region already mapped\n");
-		ret = -ENOMEM;
-		goto err_release_reg;
+	dws->regs = devm_ioremap_resource(&pdev->dev, mem);
+	if (IS_ERR(dws->regs)) {
+		dev_err(&pdev->dev, "SPI region map failed\n");
+		return PTR_ERR(dws->regs);
 	}
 
 	dws->irq = platform_get_irq(pdev, 0);
 	if (dws->irq < 0) {
 		dev_err(&pdev->dev, "no irq resource?\n");
-		ret = dws->irq; /* -ENXIO */
-		goto err_unmap;
+		return dws->irq; /* -ENXIO */
 	}
 
-	dwsmmio->clk = clk_get(&pdev->dev, NULL);
-	if (IS_ERR(dwsmmio->clk)) {
-		ret = PTR_ERR(dwsmmio->clk);
-		goto err_unmap;
-	}
-	clk_enable(dwsmmio->clk);
+	dwsmmio->clk = devm_clk_get(&pdev->dev, NULL);
+	if (IS_ERR(dwsmmio->clk))
+		return PTR_ERR(dwsmmio->clk);
+	ret = clk_enable(dwsmmio->clk);
+	if (ret)
+		return ret;
 
-	dws->parent_dev = &pdev->dev;
 	dws->bus_num = 0;
 	dws->num_cs = 4;
 	dws->max_freq = clk_get_rate(dwsmmio->clk);
 
-	ret = dw_spi_add_host(dws);
+	ret = dw_spi_add_host(&pdev->dev, dws);
 	if (ret)
-		goto err_clk;
+		goto out;
 
 	platform_set_drvdata(pdev, dwsmmio);
 	return 0;
 
-err_clk:
+out:
 	clk_disable(dwsmmio->clk);
-	clk_put(dwsmmio->clk);
-	dwsmmio->clk = NULL;
-err_unmap:
-	iounmap(dws->regs);
-err_release_reg:
-	release_mem_region(mem->start, resource_size(mem));
-err_kfree:
-	kfree(dwsmmio);
-err_end:
 	return ret;
 }
 
 static int dw_spi_mmio_remove(struct platform_device *pdev)
 {
 	struct dw_spi_mmio *dwsmmio = platform_get_drvdata(pdev);
-	struct resource *mem;
 
 	clk_disable(dwsmmio->clk);
-	clk_put(dwsmmio->clk);
-	dwsmmio->clk = NULL;
-
 	dw_spi_remove_host(&dwsmmio->dws);
-	iounmap(dwsmmio->dws.regs);
-	kfree(dwsmmio);
 
-	mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	release_mem_region(mem->start, resource_size(mem));
 	return 0;
 }
 
diff --git a/drivers/spi/spi-dw-pci.c b/drivers/spi/spi-dw-pci.c
index 66fa995..760dc00 100644
--- a/drivers/spi/spi-dw-pci.c
+++ b/drivers/spi/spi-dw-pci.c
@@ -43,35 +43,24 @@ static int spi_pci_probe(struct pci_dev *pdev,
 	dev_info(&pdev->dev, "found PCI SPI controller(ID: %04x:%04x)\n",
 		pdev->vendor, pdev->device);
 
-	ret = pci_enable_device(pdev);
+	ret = pcim_enable_device(pdev);
 	if (ret)
 		return ret;
 
-	dwpci = kzalloc(sizeof(struct dw_spi_pci), GFP_KERNEL);
-	if (!dwpci) {
-		ret = -ENOMEM;
-		goto err_disable;
-	}
+	dwpci = devm_kzalloc(&pdev-dev, sizeof(struct dw_spi_pci), GFP_KERNEL);
+	if (!dwpci)
+		return -ENOMEM;
 
 	dwpci->pdev = pdev;
 	dws = &dwpci->dws;
 
 	/* Get basic io resource and map it */
 	dws->paddr = pci_resource_start(pdev, pci_bar);
-	dws->iolen = pci_resource_len(pdev, pci_bar);
 
-	ret = pci_request_region(pdev, pci_bar, dev_name(&pdev->dev));
+	ret = pcim_iomap_regions(pdev, 1, dev_name(&pdev->dev));
 	if (ret)
-		goto err_kfree;
-
-	dws->regs = ioremap_nocache((unsigned long)dws->paddr,
-				pci_resource_len(pdev, pci_bar));
-	if (!dws->regs) {
-		ret = -ENOMEM;
-		goto err_release_reg;
-	}
+		return ret;
 
-	dws->parent_dev = &pdev->dev;
 	dws->bus_num = 0;
 	dws->num_cs = 4;
 	dws->irq = pdev->irq;
@@ -83,26 +72,17 @@ static int spi_pci_probe(struct pci_dev *pdev,
 	if (pdev->device == 0x0800) {
 		ret = dw_spi_mid_init(dws);
 		if (ret)
-			goto err_unmap;
+			return ret;
 	}
 
-	ret = dw_spi_add_host(dws);
+	ret = dw_spi_add_host(&pdev->dev, dws);
 	if (ret)
-		goto err_unmap;
+		return ret;
 
 	/* PCI hook and SPI hook use the same drv data */
 	pci_set_drvdata(pdev, dwpci);
-	return 0;
 
-err_unmap:
-	iounmap(dws->regs);
-err_release_reg:
-	pci_release_region(pdev, pci_bar);
-err_kfree:
-	kfree(dwpci);
-err_disable:
-	pci_disable_device(pdev);
-	return ret;
+	return 0;
 }
 
 static void spi_pci_remove(struct pci_dev *pdev)
diff --git a/drivers/spi/spi-dw.c b/drivers/spi/spi-dw.c
index abf4fd5..48ec161 100644
--- a/drivers/spi/spi-dw.c
+++ b/drivers/spi/spi-dw.c
@@ -775,18 +775,16 @@ static void spi_hw_init(struct dw_spi *dws)
 	}
 }
 
-int dw_spi_add_host(struct dw_spi *dws)
+int dw_spi_add_host(struct device *dev, struct dw_spi *dws)
 {
 	struct spi_master *master;
 	int ret;
 
 	BUG_ON(dws == NULL);
 
-	master = spi_alloc_master(dws->parent_dev, 0);
-	if (!master) {
-		ret = -ENOMEM;
-		goto exit;
-	}
+	master = spi_alloc_master(dev, 0);
+	if (!master)
+		return -ENOMEM;
 
 	dws->master = master;
 	dws->type = SSI_MOTO_SPI;
@@ -796,7 +794,7 @@ int dw_spi_add_host(struct dw_spi *dws)
 	snprintf(dws->name, sizeof(dws->name), "dw_spi%d",
 			dws->bus_num);
 
-	ret = request_irq(dws->irq, dw_spi_irq, IRQF_SHARED,
+	ret = devm_request_irq(dev, dws->irq, dw_spi_irq, IRQF_SHARED,
 			dws->name, dws);
 	if (ret < 0) {
 		dev_err(&master->dev, "can not get IRQ\n");
@@ -835,7 +833,7 @@ int dw_spi_add_host(struct dw_spi *dws)
 	}
 
 	spi_master_set_devdata(master, dws);
-	ret = spi_register_master(master);
+	ret = devm_spi_register_master(dev, master);
 	if (ret) {
 		dev_err(&master->dev, "problem registering spi master\n");
 		goto err_queue_alloc;
@@ -850,10 +848,8 @@ err_queue_alloc:
 		dws->dma_ops->dma_exit(dws);
 err_diable_hw:
 	spi_enable_chip(dws, 0);
-	free_irq(dws->irq, dws);
 err_free_master:
 	spi_master_put(master);
-exit:
 	return ret;
 }
 EXPORT_SYMBOL_GPL(dw_spi_add_host);
@@ -877,10 +873,6 @@ void dw_spi_remove_host(struct dw_spi *dws)
 	spi_enable_chip(dws, 0);
 	/* Disable clk */
 	spi_set_clk(dws, 0);
-	free_irq(dws->irq, dws);
-
-	/* Disconnect from the SPI framework */
-	spi_unregister_master(dws->master);
 }
 EXPORT_SYMBOL_GPL(dw_spi_remove_host);
 
diff --git a/drivers/spi/spi-dw.h b/drivers/spi/spi-dw.h
index 5a5cd02..587643d 100644
--- a/drivers/spi/spi-dw.h
+++ b/drivers/spi/spi-dw.h
@@ -92,13 +92,11 @@ struct dw_spi_dma_ops {
 struct dw_spi {
 	struct spi_master	*master;
 	struct spi_device	*cur_dev;
-	struct device		*parent_dev;
 	enum dw_ssi_type	type;
 	char			name[16];
 
 	void __iomem		*regs;
 	unsigned long		paddr;
-	u32			iolen;
 	int			irq;
 	u32			fifo_len;	/* depth of the FIFO buffer */
 	u32			max_freq;	/* max bus freq supported */
@@ -230,7 +228,7 @@ struct dw_spi_chip {
 	void (*cs_control)(u32 command);
 };
 
-extern int dw_spi_add_host(struct dw_spi *dws);
+extern int dw_spi_add_host(struct device *dev, struct dw_spi *dws);
 extern void dw_spi_remove_host(struct dw_spi *dws);
 extern int dw_spi_suspend_host(struct dw_spi *dws);
 extern int dw_spi_resume_host(struct dw_spi *dws);
-- 
1.8.5.2

--
To unsubscribe from this list: send the line "unsubscribe linux-spi" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v2 2/3] spi: dw-mmio: prepare the clock before enabling
       [not found] ` <cover.1388427564.git.baruch-NswTu9S1W3P6gbPvEgmw2w@public.gmane.org>
  2013-12-30 18:30   ` [PATCH v2 1/3] spi: dw: use managed resources Baruch Siach
@ 2013-12-30 18:30   ` Baruch Siach
  2013-12-30 18:30   ` [PATCH v2 3/3] spi: dw: fix memory leak on error path Baruch Siach
  2014-01-01 16:25   ` [PATCH v2 0/3] spi: dw: fixes, and manages resources migration Feng Tang
  3 siblings, 0 replies; 8+ messages in thread
From: Baruch Siach @ 2013-12-30 18:30 UTC (permalink / raw)
  To: Mark Brown
  Cc: linux-spi-u79uwXL29TY76Z2rM5mHXA, Feng Tang,
	Jean-Hugues Deschenes, Baruch Siach

This is required for common clock support.

Cc: Jean-Hugues Deschenes <jean-hugues.deschenes-YGVykHU+fedBDgjK7y7TUQ@public.gmane.org>
Signed-off-by: Baruch Siach <baruch-NswTu9S1W3P6gbPvEgmw2w@public.gmane.org>
---
 drivers/spi/spi-dw-mmio.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/spi/spi-dw-mmio.c b/drivers/spi/spi-dw-mmio.c
index 569adf8..9af56cd 100644
--- a/drivers/spi/spi-dw-mmio.c
+++ b/drivers/spi/spi-dw-mmio.c
@@ -62,7 +62,7 @@ static int dw_spi_mmio_probe(struct platform_device *pdev)
 	dwsmmio->clk = devm_clk_get(&pdev->dev, NULL);
 	if (IS_ERR(dwsmmio->clk))
 		return PTR_ERR(dwsmmio->clk);
-	ret = clk_enable(dwsmmio->clk);
+	ret = clk_prepare_enable(dwsmmio->clk);
 	if (ret)
 		return ret;
 
@@ -78,7 +78,7 @@ static int dw_spi_mmio_probe(struct platform_device *pdev)
 	return 0;
 
 out:
-	clk_disable(dwsmmio->clk);
+	clk_disable_unprepare(dwsmmio->clk);
 	return ret;
 }
 
@@ -86,7 +86,7 @@ static int dw_spi_mmio_remove(struct platform_device *pdev)
 {
 	struct dw_spi_mmio *dwsmmio = platform_get_drvdata(pdev);
 
-	clk_disable(dwsmmio->clk);
+	clk_disable_unprepare(dwsmmio->clk);
 	dw_spi_remove_host(&dwsmmio->dws);
 
 	return 0;
-- 
1.8.5.2

--
To unsubscribe from this list: send the line "unsubscribe linux-spi" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v2 3/3] spi: dw: fix memory leak on error path
       [not found] ` <cover.1388427564.git.baruch-NswTu9S1W3P6gbPvEgmw2w@public.gmane.org>
  2013-12-30 18:30   ` [PATCH v2 1/3] spi: dw: use managed resources Baruch Siach
  2013-12-30 18:30   ` [PATCH v2 2/3] spi: dw-mmio: prepare the clock before enabling Baruch Siach
@ 2013-12-30 18:30   ` Baruch Siach
  2014-01-01 16:25   ` [PATCH v2 0/3] spi: dw: fixes, and manages resources migration Feng Tang
  3 siblings, 0 replies; 8+ messages in thread
From: Baruch Siach @ 2013-12-30 18:30 UTC (permalink / raw)
  To: Mark Brown
  Cc: linux-spi-u79uwXL29TY76Z2rM5mHXA, Feng Tang,
	Jean-Hugues Deschenes, Baruch Siach

Cc: Feng Tang <feng.tang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Signed-off-by: Baruch Siach <baruch-NswTu9S1W3P6gbPvEgmw2w@public.gmane.org>
---
v2:
    Use managed resources to fix the leak
---
 drivers/spi/spi-dw.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/spi/spi-dw.c b/drivers/spi/spi-dw.c
index 48ec161..bf98d63 100644
--- a/drivers/spi/spi-dw.c
+++ b/drivers/spi/spi-dw.c
@@ -619,9 +619,11 @@ static int dw_spi_setup(struct spi_device *spi)
 	/* Only alloc on first setup */
 	chip = spi_get_ctldata(spi);
 	if (!chip) {
-		chip = kzalloc(sizeof(struct chip_data), GFP_KERNEL);
+		chip = devm_kzalloc(&spi->dev, sizeof(struct chip_data),
+				GFP_KERNEL);
 		if (!chip)
 			return -ENOMEM;
+		spi_set_ctldata(spi, chip);
 	}
 
 	/*
@@ -666,7 +668,6 @@ static int dw_spi_setup(struct spi_device *spi)
 			| (spi->mode  << SPI_MODE_OFFSET)
 			| (chip->tmode << SPI_TMOD_OFFSET);
 
-	spi_set_ctldata(spi, chip);
 	return 0;
 }
 
-- 
1.8.5.2

--
To unsubscribe from this list: send the line "unsubscribe linux-spi" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH v2 1/3] spi: dw: use managed resources
       [not found]     ` <9fca9e7e34cd6bd0ec14d28952d422014d94763b.1388427564.git.baruch-NswTu9S1W3P6gbPvEgmw2w@public.gmane.org>
@ 2013-12-31 12:30       ` Mark Brown
  0 siblings, 0 replies; 8+ messages in thread
From: Mark Brown @ 2013-12-31 12:30 UTC (permalink / raw)
  To: Baruch Siach
  Cc: linux-spi-u79uwXL29TY76Z2rM5mHXA, Feng Tang, Jean-Hugues Deschenes

[-- Attachment #1: Type: text/plain, Size: 271 bytes --]

On Mon, Dec 30, 2013 at 08:30:44PM +0200, Baruch Siach wrote:
> Migrate mmio code and core driver to managed resources to reduce boilerplate
> error handling code. Also, handle clk_enable() failure while at it, and drop
> unused dw_spi iolen field.

Applied all, thanks.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v2 0/3] spi: dw: fixes, and manages resources migration
       [not found] ` <cover.1388427564.git.baruch-NswTu9S1W3P6gbPvEgmw2w@public.gmane.org>
                     ` (2 preceding siblings ...)
  2013-12-30 18:30   ` [PATCH v2 3/3] spi: dw: fix memory leak on error path Baruch Siach
@ 2014-01-01 16:25   ` Feng Tang
  2014-01-01 16:47     ` Baruch Siach
  3 siblings, 1 reply; 8+ messages in thread
From: Feng Tang @ 2014-01-01 16:25 UTC (permalink / raw)
  To: Baruch Siach
  Cc: Mark Brown, linux-spi-u79uwXL29TY76Z2rM5mHXA, Jean-Hugues Deschenes

On Mon, 30 Dec 2013 20:30:43 +0200
Baruch Siach <baruch-NswTu9S1W3P6gbPvEgmw2w@public.gmane.org> wrote:

> This series migration the spi-dw driver and its mmio wrapper to manges
> resources, and adds a few small fixes. I have a few more patches in the queue
> for adding device tree support, gpio chip selects, and generic spi queue, but
> I'm waiting with time until I get a chance to test them properly.

Looks good to me, thanks!

- Feng
--
To unsubscribe from this list: send the line "unsubscribe linux-spi" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v2 0/3] spi: dw: fixes, and manages resources migration
  2014-01-01 16:25   ` [PATCH v2 0/3] spi: dw: fixes, and manages resources migration Feng Tang
@ 2014-01-01 16:47     ` Baruch Siach
  2014-01-02  2:09       ` Feng Tang
  0 siblings, 1 reply; 8+ messages in thread
From: Baruch Siach @ 2014-01-01 16:47 UTC (permalink / raw)
  To: Feng Tang
  Cc: Mark Brown, linux-spi-u79uwXL29TY76Z2rM5mHXA, Jean-Hugues Deschenes

Hi Feng,

On Thu, Jan 02, 2014 at 12:25:13AM +0800, Feng Tang wrote:
> On Mon, 30 Dec 2013 20:30:43 +0200
> Baruch Siach <baruch-NswTu9S1W3P6gbPvEgmw2w@public.gmane.org> wrote:
> > This series migration the spi-dw driver and its mmio wrapper to manges
> > resources, and adds a few small fixes. I have a few more patches in the queue
> > for adding device tree support, gpio chip selects, and generic spi queue, but
> > I'm waiting with time until I get a chance to test them properly.
> 
> Looks good to me, thanks!

Have you tested this or real hardware? I don't have access to a Moorestone 
with PCI, so it would be nice to verify that this series doesn't break 
anything.

baruch

-- 
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch-NswTu9S1W3P6gbPvEgmw2w@public.gmane.org - tel: +972.2.679.5364, http://www.tkos.co.il -
--
To unsubscribe from this list: send the line "unsubscribe linux-spi" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v2 0/3] spi: dw: fixes, and manages resources migration
  2014-01-01 16:47     ` Baruch Siach
@ 2014-01-02  2:09       ` Feng Tang
  0 siblings, 0 replies; 8+ messages in thread
From: Feng Tang @ 2014-01-02  2:09 UTC (permalink / raw)
  To: Baruch Siach
  Cc: Mark Brown, linux-spi-u79uwXL29TY76Z2rM5mHXA, Jean-Hugues Deschenes

Hi Baruch,

On Wed, 1 Jan 2014 18:47:07 +0200
Baruch Siach <baruch-NswTu9S1W3P6gbPvEgmw2w@public.gmane.org> wrote:

> Hi Feng,
> 
> On Thu, Jan 02, 2014 at 12:25:13AM +0800, Feng Tang wrote:
> > On Mon, 30 Dec 2013 20:30:43 +0200
> > Baruch Siach <baruch-NswTu9S1W3P6gbPvEgmw2w@public.gmane.org> wrote:
> > > This series migration the spi-dw driver and its mmio wrapper to manges
> > > resources, and adds a few small fixes. I have a few more patches in the queue
> > > for adding device tree support, gpio chip selects, and generic spi queue, but
> > > I'm waiting with time until I get a chance to test them properly.
> > 
> > Looks good to me, thanks!
> 
> Have you tested this or real hardware? I don't have access to a Moorestone 
> with PCI, so it would be nice to verify that this series doesn't break 
> anything.

Aha, it's interesting that you don't have the HW. I thought you have
tested them.

Since these patches are mostly straight-forward patch, I simply did a
 pure "code review" :) (Also the spi-dw-mmio was developed by Jean-Hugues
 Deschenes, and I have no "mmio" device at hand)

Thanks,
Feng


--
To unsubscribe from this list: send the line "unsubscribe linux-spi" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2014-01-02  2:09 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-12-30 18:30 [PATCH v2 0/3] spi: dw: fixes, and manages resources migration Baruch Siach
     [not found] ` <cover.1388427564.git.baruch-NswTu9S1W3P6gbPvEgmw2w@public.gmane.org>
2013-12-30 18:30   ` [PATCH v2 1/3] spi: dw: use managed resources Baruch Siach
     [not found]     ` <9fca9e7e34cd6bd0ec14d28952d422014d94763b.1388427564.git.baruch-NswTu9S1W3P6gbPvEgmw2w@public.gmane.org>
2013-12-31 12:30       ` Mark Brown
2013-12-30 18:30   ` [PATCH v2 2/3] spi: dw-mmio: prepare the clock before enabling Baruch Siach
2013-12-30 18:30   ` [PATCH v2 3/3] spi: dw: fix memory leak on error path Baruch Siach
2014-01-01 16:25   ` [PATCH v2 0/3] spi: dw: fixes, and manages resources migration Feng Tang
2014-01-01 16:47     ` Baruch Siach
2014-01-02  2:09       ` Feng Tang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.