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

From: Peter Ujfalusi
Date: Mon Feb 03 2020 - 05:59:24 EST


Hi Andy,

On 03/02/2020 12.37, Andy Shevchenko wrote:
> On Mon, Feb 3, 2020 at 12:32 PM Peter Ujfalusi <peter.ujfalusi@xxxxxx> wrote:
>
>> dma_request_slave_channel_reason() no longer have user in mainline, it
>> can be removed.
>>
>> 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.

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

> 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.

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.
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.

- PÃter

Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki