Re: [PATCH] spi: spi-rspi: fix build error for the latest shdma driver

2012-10-05 Thread Mark Brown
On Thu, Aug 02, 2012 at 05:17:33PM +0900, Shimoda, Yoshihiro wrote:
 Because the latest shdma driver changed, it caused build error in
 the spi-rspi driver. This patch fixed the build error.

Applied, thanks.  This should really have been done as part of the shdma
update...

--
Don't let slow site performance ruin your business. Deploy New Relic APM
Deploy New Relic app performance management and know exactly
what is happening inside your Ruby, Python, PHP, Java, and .NET app
Try New Relic at no cost today and get our sweet Data Nerd shirt too!
http://p.sf.net/sfu/newrelic-dev2dev
___
spi-devel-general mailing list
spi-devel-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/spi-devel-general


Re: [PATCH] spi: spi-rspi: fix build error for the latest shdma driver

2012-08-27 Thread Shimoda, Yoshihiro
2012/08/27 17:28, Simon Horman wrote:
 
 could you let me know what the merge-status of this patch is?
 

Hi Simon-san,

The patch needs Grant's review. So, the patch is not merged to
his repository yet.

Best regards,
Yoshihiro Shimoda


--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
spi-devel-general mailing list
spi-devel-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/spi-devel-general


[PATCH] spi: spi-rspi: fix build error for the latest shdma driver

2012-08-02 Thread Shimoda, Yoshihiro
Because the latest shdma driver changed, it caused build error in
the spi-rspi driver. This patch fixed the build error.

Signed-off-by: Yoshihiro Shimoda yoshihiro.shimoda...@renesas.com
---
 drivers/spi/spi-rspi.c |   56 +--
 1 files changed, 34 insertions(+), 22 deletions(-)

diff --git a/drivers/spi/spi-rspi.c b/drivers/spi/spi-rspi.c
index 4894bde..30faf6d 100644
--- a/drivers/spi/spi-rspi.c
+++ b/drivers/spi/spi-rspi.c
@@ -147,8 +147,6 @@ struct rspi_data {
unsigned char spsr;

/* for dmaengine */
-   struct sh_dmae_slave dma_tx;
-   struct sh_dmae_slave dma_rx;
struct dma_chan *chan_tx;
struct dma_chan *chan_rx;
int irq;
@@ -663,20 +661,16 @@ static irqreturn_t rspi_irq(int irq, void *_sr)
return ret;
 }

-static bool rspi_filter(struct dma_chan *chan, void *filter_param)
-{
-   chan-private = filter_param;
-   return true;
-}
-
-static void __devinit rspi_request_dma(struct rspi_data *rspi,
-  struct platform_device *pdev)
+static int __devinit rspi_request_dma(struct rspi_data *rspi,
+ struct platform_device *pdev)
 {
struct rspi_plat_data *rspi_pd = pdev-dev.platform_data;
dma_cap_mask_t mask;
+   struct dma_slave_config cfg;
+   int ret;

if (!rspi_pd)
-   return;
+   return 0;   /* The driver assumes no error. */

rspi-dma_width_16bit = rspi_pd-dma_width_16bit;

@@ -684,21 +678,35 @@ static void __devinit rspi_request_dma(struct rspi_data 
*rspi,
if (rspi_pd-dma_rx_id  rspi_pd-dma_tx_id) {
dma_cap_zero(mask);
dma_cap_set(DMA_SLAVE, mask);
-   rspi-dma_rx.slave_id = rspi_pd-dma_rx_id;
-   rspi-chan_rx = dma_request_channel(mask, rspi_filter,
-   rspi-dma_rx);
-   if (rspi-chan_rx)
-   dev_info(pdev-dev, Use DMA when rx.\n);
+   rspi-chan_rx = dma_request_channel(mask, shdma_chan_filter,
+   (void *)rspi_pd-dma_rx_id);
+   if (rspi-chan_rx) {
+   cfg.slave_id = rspi_pd-dma_rx_id;
+   cfg.direction = DMA_DEV_TO_MEM;
+   ret = dmaengine_slave_config(rspi-chan_rx, cfg);
+   if (!ret)
+   dev_info(pdev-dev, Use DMA when rx.\n);
+   else
+   return ret;
+   }
}
if (rspi_pd-dma_tx_id) {
dma_cap_zero(mask);
dma_cap_set(DMA_SLAVE, mask);
-   rspi-dma_tx.slave_id = rspi_pd-dma_tx_id;
-   rspi-chan_tx = dma_request_channel(mask, rspi_filter,
-   rspi-dma_tx);
-   if (rspi-chan_tx)
-   dev_info(pdev-dev, Use DMA when tx\n);
+   rspi-chan_tx = dma_request_channel(mask, shdma_chan_filter,
+   (void *)rspi_pd-dma_tx_id);
+   if (rspi-chan_tx) {
+   cfg.slave_id = rspi_pd-dma_tx_id;
+   cfg.direction = DMA_MEM_TO_DEV;
+   ret = dmaengine_slave_config(rspi-chan_tx, cfg);
+   if (!ret)
+   dev_info(pdev-dev, Use DMA when tx\n);
+   else
+   return ret;
+   }
}
+
+   return 0;
 }

 static void __devexit rspi_release_dma(struct rspi_data *rspi)
@@ -788,7 +796,11 @@ static int __devinit rspi_probe(struct platform_device 
*pdev)
}

rspi-irq = irq;
-   rspi_request_dma(rspi, pdev);
+   ret = rspi_request_dma(rspi, pdev);
+   if (ret  0) {
+   dev_err(pdev-dev, rspi_request_dma failed.\n);
+   goto error4;
+   }

ret = spi_register_master(master);
if (ret  0) {
-- 
1.7.1

--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
spi-devel-general mailing list
spi-devel-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/spi-devel-general