mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-06 01:49:46 +00:00
usb: musb: cppi41: allow it to work again
commitb0a688ddccupstream. since commit33c300cb90("usb: musb: dsps: don't fake of_node to musb core") we have been preventing CPPI 4.1 from probing due to NULL of_node. We can't revert said commit otherwise a different regression would show up, so the fix is to look for the parent device's (glue layer's) of_node instead, since that's the thing which is actually described in DTS. Signed-off-by: Felipe Balbi <balbi@ti.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
860964cd63
commit
4cd1e73994
@@ -614,7 +614,7 @@ static int cppi41_dma_controller_start(struct cppi41_dma_controller *controller)
|
||||
{
|
||||
struct musb *musb = controller->musb;
|
||||
struct device *dev = musb->controller;
|
||||
struct device_node *np = dev->of_node;
|
||||
struct device_node *np = dev->parent->of_node;
|
||||
struct cppi41_dma_channel *cppi41_channel;
|
||||
int count;
|
||||
int i;
|
||||
@@ -664,7 +664,7 @@ static int cppi41_dma_controller_start(struct cppi41_dma_controller *controller)
|
||||
musb_dma->status = MUSB_DMA_STATUS_FREE;
|
||||
musb_dma->max_len = SZ_4M;
|
||||
|
||||
dc = dma_request_slave_channel(dev, str);
|
||||
dc = dma_request_slave_channel(dev->parent, str);
|
||||
if (!dc) {
|
||||
dev_err(dev, "Failed to request %s.\n", str);
|
||||
ret = -EPROBE_DEFER;
|
||||
@@ -694,7 +694,7 @@ struct dma_controller *dma_controller_create(struct musb *musb,
|
||||
struct cppi41_dma_controller *controller;
|
||||
int ret = 0;
|
||||
|
||||
if (!musb->controller->of_node) {
|
||||
if (!musb->controller->parent->of_node) {
|
||||
dev_err(musb->controller, "Need DT for the DMA engine.\n");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user