On Monday, Tuesday, July 16, 2013 8:37 AM, Joe Perches wrote: > On Tue, 2013-07-16 at 08:23 +0900, Jingoo Han wrote: > > On Monday, July 15, 2013 9:10 PM, Joe Perches wrote: > > > On Mon, 2013-07-15 at 15:11 +0900, Jingoo Han wrote: > > > [] > > > > diff --git a/drivers/spi/spi-s3c64xx.c b/drivers/spi/spi-s3c64xx.c > > > [] > > > > @@ -338,8 +338,10 @@ static int acquire_dma(struct s3c64xx_spi_driver_data *sdd) > > > [] > > > > - sdd->rx_dma.ch = (void *)sdd->ops->request(sdd->rx_dma.dmach, &req, dev, "rx"); > > > > - sdd->tx_dma.ch = (void *)sdd->ops->request(sdd->tx_dma.dmach, &req, dev, "tx"); > > > > + sdd->rx_dma.ch = (void *)sdd->ops->request(sdd->rx_dma.dmach, > > > > + &req, dev, "rx"); > > > > + sdd->tx_dma.ch = (void *)sdd->ops->request(sdd->tx_dma.dmach, > > > > + &req, dev, "tx"); > > > > > > There should be sparse errors here. > > > sdd->ops->request is unsigned int, not unsigned long. > > > Care to fix the cast of unsigned to pointer too? > > > > OK, I will fix it as below: > > > > sdd->rx_dma.ch = (unsigned long *)sdd->ops->request(sdd->rx_dma.dmach, > > &req, dev, "rx"); > > sdd->tx_dma.ch = (unsigned long *)sdd->ops->request(sdd->tx_dma.dmach, > > &req, dev, "tx"); > > Which should give you a different error. > > The canonical (Small C, not the Ubuntu company) > way to do this is to first cast to unsigned long > then cast to pointer type. > > sdd->tx_dma.ch = (unsigned long *)(unsigned long)sdd->ops->request(etc...) Oh, sorry. I will fix it as you guide, and send v4 patch, soon. I really appreciate your kind guidance. :) Best regards, Jingoo Han > > > > It seems unsigned to pointer conversions are pretty > > > rampant in this code. > > > > It seems so. > > I will look into it, later. > > No worries. Whenever you get 'round to it. -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html