Message ID | 20200828110507.22407-1-peter.ujfalusi@ti.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | dmaengine: Mark dma_request_slave_channel() deprecated | expand |
On Fri, Aug 28, 2020 at 2:03 PM Peter Ujfalusi <peter.ujfalusi@ti.com> 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@gmail.com> Thanks for this vector of cleaning! > Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> > --- > 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 >
On 28-08-20, 14:05, Peter Ujfalusi 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. Applied, thanks
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,
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. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> --- drivers/dma/dmaengine.c | 18 ------------------ include/linux/dmaengine.h | 15 +++++++++------ 2 files changed, 9 insertions(+), 24 deletions(-)