On Fri, Aug 28, 2020 at 2:03 PM Peter Ujfalusi <peter.ujfalusi@xxxxxx> wrote: > > New drivers should use dma_request_chan() instead > dma_request_slave_channel() > > dma_request_slave_channel() is a simple wrapper for dma_request_chan() > eating up the error code for channel request failure and makes deferred > probing impossible. > > Move the dma_request_slave_channel() into the header as inline function, > mark it as deprecated. Reviewed-by: Andy Shevchenko <andy.shevchenko@xxxxxxxxx> Thanks for this vector of cleaning! > Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> > --- > drivers/dma/dmaengine.c | 18 ------------------ > include/linux/dmaengine.h | 15 +++++++++------ > 2 files changed, 9 insertions(+), 24 deletions(-) > > diff --git a/drivers/dma/dmaengine.c b/drivers/dma/dmaengine.c > index a53e71d2bbd4..ac8ef6cf7626 100644 > --- a/drivers/dma/dmaengine.c > +++ b/drivers/dma/dmaengine.c > @@ -871,24 +871,6 @@ struct dma_chan *dma_request_chan(struct device *dev, const char *name) > } > EXPORT_SYMBOL_GPL(dma_request_chan); > > -/** > - * dma_request_slave_channel - try to allocate an exclusive slave channel > - * @dev: pointer to client device structure > - * @name: slave channel name > - * > - * Returns pointer to appropriate DMA channel on success or NULL. > - */ > -struct dma_chan *dma_request_slave_channel(struct device *dev, > - const char *name) > -{ > - struct dma_chan *ch = dma_request_chan(dev, name); > - if (IS_ERR(ch)) > - return NULL; > - > - return ch; > -} > -EXPORT_SYMBOL_GPL(dma_request_slave_channel); > - > /** > * dma_request_chan_by_mask - allocate a channel satisfying certain capabilities > * @mask: capabilities that the channel must satisfy > diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h > index 011371b7f081..dd357a747780 100644 > --- a/include/linux/dmaengine.h > +++ b/include/linux/dmaengine.h > @@ -1472,7 +1472,6 @@ void dma_issue_pending_all(void); > struct dma_chan *__dma_request_channel(const dma_cap_mask_t *mask, > dma_filter_fn fn, void *fn_param, > struct device_node *np); > -struct dma_chan *dma_request_slave_channel(struct device *dev, const char *name); > > struct dma_chan *dma_request_chan(struct device *dev, const char *name); > struct dma_chan *dma_request_chan_by_mask(const dma_cap_mask_t *mask); > @@ -1502,11 +1501,6 @@ static inline struct dma_chan *__dma_request_channel(const dma_cap_mask_t *mask, > { > return NULL; > } > -static inline struct dma_chan *dma_request_slave_channel(struct device *dev, > - const char *name) > -{ > - return NULL; > -} > static inline struct dma_chan *dma_request_chan(struct device *dev, > const char *name) > { > @@ -1575,6 +1569,15 @@ void dma_run_dependencies(struct dma_async_tx_descriptor *tx); > #define dma_request_channel(mask, x, y) \ > __dma_request_channel(&(mask), x, y, NULL) > > +/* Deprecated, please use dma_request_chan() directly */ > +static inline struct dma_chan * __deprecated > +dma_request_slave_channel(struct device *dev, const char *name) > +{ > + struct dma_chan *ch = dma_request_chan(dev, name); > + > + return IS_ERR(ch) ? NULL : ch; > +} > + > static inline struct dma_chan > *dma_request_slave_channel_compat(const dma_cap_mask_t mask, > dma_filter_fn fn, void *fn_param, > -- > Peter > > Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. > Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki > -- With Best Regards, Andy Shevchenko