Re: [PATCH 0/3] dmaengine: Stear users towards dma_request_slave_chan()

From: Andy Shevchenko
Date: Mon Feb 03 2020 - 06:16:17 EST


On Mon, Feb 3, 2020 at 12:59 PM Peter Ujfalusi <peter.ujfalusi@xxxxxx> wrote:
> On 03/02/2020 12.37, Andy Shevchenko wrote:
> > On Mon, Feb 3, 2020 at 12:32 PM Peter Ujfalusi <peter.ujfalusi@xxxxxx> wrote:

> >> Advise users of dma_request_slave_channel() and
> >> dma_request_slave_channel_compat() to move to dma_request_slave_chan()
> >
> > How? There are legacy ARM boards you have to care / remove before.
> > DMAengine subsystem makes a p*s off decisions
>
> The dma_slave_map support is added few years back for the legacy ARM
> boards, because we do care.
> daVinci, OMAP1, pxa, s3cx4xx and even m68k/coldfire moved over.

Then why simple not to convert (start converting) those few drivers to
new API and simple remove the old one?

> Imho it is confusing to have 4+ APIs to do the same thing, but in a
> slightly different way.

It was always an excuse by authors "that too many drivers to convert..."

> > without taking care of
> > (I'm talking now about dma release callback, for example) end users.
>
> I have been converting users in the background, but the _compat() is a
> bit more problematic as I need to maintainers of those legacy platforms
> to craft the map. If they care.

Why not to remove them and don't punish users of new drivers / platforms?

> Obviously the APIs are not going to be removed if we have a single user
> and if there is clearly a need for something the _compat() was doing and
> it can not be done via the dma_slave_map, then rest assured there will
> be a clean API to achieve just that.
>
> > They will be scary for no reason.
>
> There is a reason: to clean up the API to make it non confusing for the
> users.

No, it's a reason when you first take care of existing users and
decide to obsolete an API followed by removal few releases later. But
I see no reason to keep such APIs at all, so, instead of this
*wonderful* messages perhaps somebody should do better work?

> New drivers should not use the old API i new code and developers tend to
> pick the API they use after a quick 'git grep dma_request_' and see what
> the majority is using.

Isn't it a point to do better review rather than scary end users?

--
With Best Regards,
Andy Shevchenko