Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit aeea1808 authored by Russell King's avatar Russell King
Browse files

dmaengine: PL08x: clean up get_signal/put_signal



Try to avoid dereferencing the DMA engine's channel struct in these
platform helpers; instead, pass a pointer to the channel data into
get_signal(), and the returned signal number to put_signal().

Tested-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 48afb311
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -874,7 +874,7 @@ static int prep_phy_channel(struct pl08x_dma_chan *plchan,
	 * Can the platform allow us to use this channel?
	 * Can the platform allow us to use this channel?
	 */
	 */
	if (plchan->slave && pl08x->pd->get_signal) {
	if (plchan->slave && pl08x->pd->get_signal) {
		ret = pl08x->pd->get_signal(plchan);
		ret = pl08x->pd->get_signal(plchan->cd);
		if (ret < 0) {
		if (ret < 0) {
			dev_dbg(&pl08x->adev->dev,
			dev_dbg(&pl08x->adev->dev,
				"unable to use physical channel %d for transfer on %s due to platform restrictions\n",
				"unable to use physical channel %d for transfer on %s due to platform restrictions\n",
@@ -909,7 +909,7 @@ static void release_phy_channel(struct pl08x_dma_chan *plchan)
	struct pl08x_driver_data *pl08x = plchan->host;
	struct pl08x_driver_data *pl08x = plchan->host;


	if ((plchan->phychan->signal >= 0) && pl08x->pd->put_signal) {
	if ((plchan->phychan->signal >= 0) && pl08x->pd->put_signal) {
		pl08x->pd->put_signal(plchan);
		pl08x->pd->put_signal(plchan->cd, plchan->phychan->signal);
		plchan->phychan->signal = -1;
		plchan->phychan->signal = -1;
	}
	}
	pl08x_put_phy_channel(pl08x, plchan->phychan);
	pl08x_put_phy_channel(pl08x, plchan->phychan);
+2 −2
Original line number Original line Diff line number Diff line
@@ -225,8 +225,8 @@ struct pl08x_platform_data {
	const struct pl08x_channel_data *slave_channels;
	const struct pl08x_channel_data *slave_channels;
	unsigned int num_slave_channels;
	unsigned int num_slave_channels;
	struct pl08x_channel_data memcpy_channel;
	struct pl08x_channel_data memcpy_channel;
	int (*get_signal)(struct pl08x_dma_chan *);
	int (*get_signal)(const struct pl08x_channel_data *);
	void (*put_signal)(struct pl08x_dma_chan *);
	void (*put_signal)(const struct pl08x_channel_data *, int);
	u8 lli_buses;
	u8 lli_buses;
	u8 mem_buses;
	u8 mem_buses;
};
};