diff options
Diffstat (limited to 'drivers/dma/amba-pl08x.c')
-rw-r--r-- | drivers/dma/amba-pl08x.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/dma/amba-pl08x.c b/drivers/dma/amba-pl08x.c index 3c2cad5b1165..cd8df7f5b5c8 100644 --- a/drivers/dma/amba-pl08x.c +++ b/drivers/dma/amba-pl08x.c | |||
@@ -87,6 +87,8 @@ | |||
87 | 87 | ||
88 | #define DRIVER_NAME "pl08xdmac" | 88 | #define DRIVER_NAME "pl08xdmac" |
89 | 89 | ||
90 | static struct amba_driver pl08x_amba_driver; | ||
91 | |||
90 | /** | 92 | /** |
91 | * struct vendor_data - vendor-specific config parameters for PL08x derivatives | 93 | * struct vendor_data - vendor-specific config parameters for PL08x derivatives |
92 | * @channels: the number of channels available in this variant | 94 | * @channels: the number of channels available in this variant |
@@ -1420,9 +1422,15 @@ static int pl08x_control(struct dma_chan *chan, enum dma_ctrl_cmd cmd, | |||
1420 | 1422 | ||
1421 | bool pl08x_filter_id(struct dma_chan *chan, void *chan_id) | 1423 | bool pl08x_filter_id(struct dma_chan *chan, void *chan_id) |
1422 | { | 1424 | { |
1423 | struct pl08x_dma_chan *plchan = to_pl08x_chan(chan); | 1425 | struct pl08x_dma_chan *plchan; |
1424 | char *name = chan_id; | 1426 | char *name = chan_id; |
1425 | 1427 | ||
1428 | /* Reject channels for devices not bound to this driver */ | ||
1429 | if (chan->device->dev->driver != &pl08x_amba_driver.drv) | ||
1430 | return false; | ||
1431 | |||
1432 | plchan = to_pl08x_chan(chan); | ||
1433 | |||
1426 | /* Check that the channel is not taken! */ | 1434 | /* Check that the channel is not taken! */ |
1427 | if (!strcmp(plchan->name, name)) | 1435 | if (!strcmp(plchan->name, name)) |
1428 | return true; | 1436 | return true; |