Re: [PATCH v3 05/10] dmaengine: Introduce DMA-device device_caps callback

From: Serge Semin
Date: Thu May 28 2020 - 11:19:13 EST


On Thu, May 28, 2020 at 05:42:57PM +0300, Andy Shevchenko wrote:
> On Wed, May 27, 2020 at 01:50:16AM +0300, Serge Semin wrote:
> > There are DMA devices (like ours version of Synopsys DW DMAC) which have
> > DMA capabilities non-uniformly redistributed amongst the device channels.
> > In order to provide a way of exposing the channel-specific parameters to
> > the DMA engine consumers, we introduce a new DMA-device callback. In case
> > if provided it gets called from the dma_get_slave_caps() method and is
> > able to override the generic DMA-device capabilities.
>
> > + if (device->device_caps)
> > + device->device_caps(chan, caps);
> > +
> > return 0;
>
> I dunno why this returns int, but either we get rid of this returned value
> (perhaps in the future, b/c it's not directly related to this series), or
> something like
>
> if (device->device_caps)
> return device->device_caps(chan, caps);

It returns int because dma_get_slave_caps() check parameters and some other
stuff.

Regarding device_caps() callback having a return value. IMO it's redundant.
The only thing what the callback should do is to update the caps and device
is supposed to know it' capabilities, otherwise who else should know? So I
don't see why device_caps would be needed.

-Sergey

>
> --
> With Best Regards,
> Andy Shevchenko
>
>