> > > + rpaddr = dma_map_single(i2c->adap.dev.parent, msgs->buf, > > > + msgs->len, DMA_FROM_DEVICE); > > > > I think you shouldn't use the adapter device here and later, but the dma > > channel device. > > > In MTK SoC, each I2C controller has its own DMA, and this DMA can't be > used by other hardware. > So I tend to use DMA directly, not through DMA channel. > Even so, "i2c->adap.dev.parent" is not suitable here. I will change to > use i2c->dev here. (Reference i2c-at91.c). The better reference would be i2c-sh_mobile.c, especially commit 8cfcae9f0595bf0d145a67cfaa1051804a301d7c ("i2c: sh_mobile: use proper device for mapping DMA memory") ;) The request to use the DMA channel device came from the DMA folks, so if there is no real reason for an exception, please use the channel device.
Attachment:
signature.asc
Description: Digital signature