On Wed, Mar 21, 2018 at 04:28:46PM +0000, Nipun Gupta wrote: > > > > -----Original Message----- > > From: Greg KH [mailto:gregkh@xxxxxxxxxxxxxxxxxxx] > > Sent: Wednesday, March 21, 2018 15:05 > > To: Nipun Gupta <nipun.gupta@xxxxxxx> > > Cc: robin.murphy@xxxxxxx; hch@xxxxxx; linux@xxxxxxxxxxxxxxx; > > m.szyprowski@xxxxxxxxxxx; bhelgaas@xxxxxxxxxx; zajec5@xxxxxxxxx; > > andy.gross@xxxxxxxxxx; david.brown@xxxxxxxxxx; dan.j.williams@xxxxxxxxx; > > vinod.koul@xxxxxxxxx; thierry.reding@xxxxxxxxx; robh+dt@xxxxxxxxxx; > > frowand.list@xxxxxxxxx; jarkko.sakkinen@xxxxxxxxxxxxxxx; > > rafael.j.wysocki@xxxxxxxxx; dmitry.torokhov@xxxxxxxxx; johan@xxxxxxxxxx; > > msuchanek@xxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; iommu@lists.linux- > > foundation.org; linux-wireless@xxxxxxxxxxxxxxx; linux-arm- > > msm@xxxxxxxxxxxxxxx; linux-soc@xxxxxxxxxxxxxxx; dmaengine@xxxxxxxxxxxxxxx; > > dri-devel@xxxxxxxxxxxxxxxxxxxxx; linux-tegra@xxxxxxxxxxxxxxx; > > devicetree@xxxxxxxxxxxxxxx; linux-pci@xxxxxxxxxxxxxxx; Bharat Bhushan > > <bharat.bhushan@xxxxxxx>; Leo Li <leoyang.li@xxxxxxx> > > Subject: Re: [PATCH v2 2/2] drivers: remove force dma flag from buses > > > > On Wed, Mar 21, 2018 at 12:25:23PM +0530, Nipun Gupta wrote: > > > With each bus implementing its own DMA configuration callback, > > > there is no need for bus to explicitly have force_dma in its > > > global structure. This patch modifies of_dma_configure API to > > > accept an input parameter which specifies if implicit DMA > > > configuration is required even when it is not described by the > > > firmware. > > > > Having to "remember" what that bool variable means on the end of the > > function call is a royal pain over time, right? > > > > Why not just create a new function: > > dma_common_configure_force(dma) > > that always does this? Leave "dma_common_configure()" alone, and then > > wrap the old code with these two helper functions that call the 'core' > > code with the bool set properly? > > > > That way you do not have to "know" what that parameter is, the function > > name just documents it automatically, so when you see it in the > > bus-specific code, no need to go and have to hunt for anything. And if > > you are reading the dma core code, it's obvious what is happening as the > > functions are all right there. > > How about we do not pass any flag in 'dma_common_configure()', and inside this > API we pass "true" to 'of_dma_configure()'? I am saying this because currently > both the busses (platform and AMBA) which uses 'dma_common_configure()' passes > "true" value. If we create additional 'dma_common_configure_force()', then > 'dma_common_configure()' will not be used anytime and will become redundant. > > If someday new busses come and they needs to use similar functionality which > 'dma_common_configure()' provides, but with passing "false" to 'of_dma_configure()', > then what you suggests of having two separate such API's will be more reasonable > and can be implemented? If that makes things "simple", yes, sounds good. greg k-h