From nobody Sat Jul 25 00:13:38 2026 Received: from mail-pg1-f171.google.com (mail-pg1-f171.google.com [209.85.215.171]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 92A25446839 for ; Tue, 21 Jul 2026 19:54:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.171 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784663667; cv=none; b=BQF27zl64RF+vJHNT8bfnUFTfCM6i4OqIvmpfN3reb3VMlQbr+E0hjX+jSODX6tzCYNOQ0qPYveCzKOKlm3QTxPq2b84pk8IRCjk1N47kbOXPSJGrJTIZLtMrx5MLosxF4NoRLyKkUTVmkYbEL+6wpCvo7ITuZOuD0ue42/ugTM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784663667; c=relaxed/simple; bh=6chWT//EiHmRzm9dvXjy2qQlZrSlVGNqk09yDsGfixg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=k6BpXID3oHVzgfonvhegT2ZfJlHI4twRb8UnJsXDaQ0SwEAvRx3QKdep4+4obP0dXpMzUBAOV/OilSD2ZUb3lubSEphWq4m99bL3vj+pykTWjpE4EIJEOppIHtQiBVw8eKP5xCjGbLQTOs8XSbgl8qbFEsogdxyMb5ByCZolea8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=IupK9N1H; arc=none smtp.client-ip=209.85.215.171 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="IupK9N1H" Received: by mail-pg1-f171.google.com with SMTP id 41be03b00d2f7-c9e30214d8fso8407917a12.3 for ; Tue, 21 Jul 2026 12:54:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784663666; x=1785268466; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=CrdCIr5mF1z8edkamNWR8sTD36Gz/H8xH912kFMyymA=; b=IupK9N1HeMcF/ULkoxeoOsZqmVkRb/jtEVuwUtfFgnUSGg2GhhpfwWlq1BiDBk0t2s BZ/aF3QPZ2gHLhYsE0/FKY97cuqjt+XLH+VZdtyyM+hWDocTMz9sTl8MnJXjbiQDQZ4P X4su27CRpxkTkp7MZEhm9Y7Kbn9JUKRSVj+RxMGG/qh3r9A2utCriE1Aeq0SZ1ALcB4x skqohcX2wU1UHs+i238hbuI2LFui5ECAIoVwG89ch/NCLmW2Vo1lzYE+7h+c3kEwmh6f CvZVgFMoNnSocQ2+VpRTDwlJExJddGiKvV7pU2PhCz7Y4idR4SAR1LSKVijpbmZVfc4z b9eA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784663666; x=1785268466; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=CrdCIr5mF1z8edkamNWR8sTD36Gz/H8xH912kFMyymA=; b=QrK+lcq/g82OMnEqtWerWlNioBC7IVky9MLRqvP1hSdbZI7OcNCgUSzwZbET/uge4P GWQiZorwseSjkD0hRrh28ELQV2dEV/ANuxmz/9Sxxgd/YSC9lkroXq3HqETOtS0Iu0Q9 zYkQXFfiq1oOgauO2OdGvuancTPSrtgQMeb2IN7CPaVl8JZnPniARe+Ckz/jB4Vf29cY yY4s6ZWdIfzl0AZbqrO1WJlbk2e5xiTx7/pmSMPxEPICQZcmFIirckfql5nEekRohuOJ gfljeHO5xucEdRY4+H9eCrwGvHazeaXlfsOS5ZOnUjhPggw9W74vrVS/gEwmc6xLRu8E evZQ== X-Forwarded-Encrypted: i=1; AHgh+RpCNfssrsbhfN2gTDmk77foprOzjpMcM8mKSGd7CPTD1qYSVS4XXKh/crgwWKy+D5o4mk3w1Ne3UmLqdc0=@vger.kernel.org X-Gm-Message-State: AOJu0YxOasBnbOQknTDDwujIzuCNiQTQM8mf7HN5k0PFD+djkp/kiK0h 0yQw+xJZJPAeOMJHcK0tJBr2Wi5xJIC3qA045dXZ5ZK5cW0O0b3ejb/j X-Gm-Gg: AR+sD10WVGzzLwrXPi55xxQinptgSmUFR1HkTn/Mw+7OpVmW/M9K4XP7COjub44y4r4 PIkJNNdymtAP6m+LcMZEAJw/iVvlpvEjrLu21c99OUxJRhfalykKUPXZBfdNIxB3UTLwWe2jFyn EgTzhb+Y8Te+/uLys5L9hyI9pFWc7D3iCIy0xG9TmuL6DHUzxI5WmbCTtE3Vdi3r0L/93xrvvT8 kgqj/HYd6umnaEOvFuG759wHXCHTACxrj+ZGKUeObfCrYuA59N4VizG91D6nuBushHsZn7ap+NX UUr7UVNHs3OYwsEAiNLJG/qSPWNEwgHEqmCq2Zu7NoX0K7WGeaxcjY9Zto4NdxWuWkZRH/CPL0L PU6lDZPfvrVbIu/r56pq6B20R4nOOw2e2VyFeJ/+1CkqMT9O68It0JChgqBDOmOF+eg2qaz6lMa qJ4YYhznZRGttxR7ZAZR9TTha+ZiIGHl8ducErIRoDG+j6KKTdhzBNPkjAMI16JJ/c1nP7T9NEi ReSJwo8B1fcpSfdQWgpAqV8QC4850+pWowBJ29rRGr441G5QViUrvI= X-Received: by 2002:a05:6a21:828c:b0:3c3:9ed1:2563 with SMTP id adf61e73a8af0-3c3ad9d5b60mr21266945637.42.1784663665912; Tue, 21 Jul 2026 12:54:25 -0700 (PDT) Received: from ryzen.lan ([2601:644:8000:7a86::e34]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-3147dc7d8fbsm1664595eec.10.2026.07.21.12.54.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 12:54:25 -0700 (PDT) From: Rosen Penev To: dmaengine@vger.kernel.org Cc: Vinod Koul , Frank Li , Xuelin Shi , Harninder Rai , linux-kernel@vger.kernel.org (open list) Subject: [PATCHv2 1/2] dmaengine: fsl_raid: pass platform_device to drvdata Date: Tue, 21 Jul 2026 12:54:21 -0700 Message-ID: <20260721195422.353794-2-rosenp@gmail.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260721195422.353794-1-rosenp@gmail.com> References: <20260721195422.353794-1-rosenp@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Simplifies code slightly and avoids having to take pointer of a platform device member. A platform device is always used. Signed-off-by: Rosen Penev Reviewed-by: Frank Li --- drivers/dma/fsl_raid.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/drivers/dma/fsl_raid.c b/drivers/dma/fsl_raid.c index da5228e121d1..2d54879cd6e1 100644 --- a/drivers/dma/fsl_raid.c +++ b/drivers/dma/fsl_raid.c @@ -219,10 +219,11 @@ static void fsl_re_dequeue(struct tasklet_struct *t) /* Per Job Ring interrupt handler */ static irqreturn_t fsl_re_isr(int irq, void *data) { + struct platform_device *pdev =3D data; struct fsl_re_chan *re_chan; u32 irqstate, status; =20 - re_chan =3D dev_get_drvdata((struct device *)data); + re_chan =3D platform_get_drvdata(pdev); =20 irqstate =3D in_be32(&re_chan->jrregs->jr_interrupt_status); if (!irqstate) @@ -649,7 +650,7 @@ static int fsl_re_chan_probe(struct platform_device *of= dev, struct platform_device *chan_ofdev; =20 dev =3D &ofdev->dev; - re_priv =3D dev_get_drvdata(dev); + re_priv =3D platform_get_drvdata(ofdev); dma_dev =3D &re_priv->dma_dev; =20 chan =3D devm_kzalloc(dev, sizeof(*chan), GFP_KERNEL); @@ -687,7 +688,7 @@ static int fsl_re_chan_probe(struct platform_device *of= dev, chandev =3D &chan_ofdev->dev; tasklet_setup(&chan->irqtask, fsl_re_dequeue); =20 - ret =3D request_irq(chan->irq, fsl_re_isr, 0, chan->name, chandev); + ret =3D request_irq(chan->irq, fsl_re_isr, 0, chan->name, chan_ofdev); if (ret) { dev_err(dev, "Unable to register interrupt for JR %d\n", q); ret =3D -EINVAL; @@ -743,7 +744,7 @@ static int fsl_re_chan_probe(struct platform_device *of= dev, out_be32(&chan->jrregs->jr_config_1, FSL_RE_CFG1_CBSI | FSL_RE_CFG1_CBS0 | status); =20 - dev_set_drvdata(chandev, chan); + platform_set_drvdata(chan_ofdev, chan); =20 /* Enable RE/CHAN */ out_be32(&chan->jrregs->jr_command, FSL_RE_ENABLE); @@ -834,7 +835,7 @@ static int fsl_re_probe(struct platform_device *ofdev) return -ENOMEM; } =20 - dev_set_drvdata(dev, re_priv); + platform_set_drvdata(ofdev, re_priv); =20 /* Parse Device tree to find out the total number of JQs present */ for_each_compatible_node_scoped(np, NULL, "fsl,raideng-v1.0-job-queue") { @@ -903,11 +904,9 @@ static void fsl_re_remove_chan(struct fsl_re_chan *cha= n) static void fsl_re_remove(struct platform_device *ofdev) { struct fsl_re_drv_private *re_priv; - struct device *dev; int i; =20 - dev =3D &ofdev->dev; - re_priv =3D dev_get_drvdata(dev); + re_priv =3D platform_get_drvdata(ofdev); =20 /* Unregister the DMA device first so no client can still hold a * channel and submit new work while the channel rings are torn --=20 2.55.0 From nobody Sat Jul 25 00:13:38 2026 Received: from mail-pl1-f177.google.com (mail-pl1-f177.google.com [209.85.214.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AD35647043A for ; Tue, 21 Jul 2026 19:54:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.177 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784663670; cv=none; b=oVxrC02NMJRY+Xr4Ts2VQs8aGkG0+ibLWXfovVmDJY2UKUbHCen+IjUIh8gLvwaOk9uQsiHxj282fcvsMTo2Sj532t2ZQTywKA7kYvoTtnWr7OWMt1pvwArzT22SjLplYobC4ClMnEj0eBwT7joZ79pUh96q/Uop29L/QKIS17M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784663670; c=relaxed/simple; bh=iQRvYkuGeznfIuqjLwJhAMRRK7Gljo9+K5pD37PTcPI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=TlOvGanHYs0Mf2DvVfSefHeMSAGvFxWeaWXOoL/VN1BQClRvzr+I9Jm82+qFcnQsQNLsB9r572ft4XoXVd8GpPrAkSD7mCyd7Lorjg+ZoMsWRQr/36Wza/Gz8xMzCMNZCca9c0MW3Bdgj9ktmxPuW/M1c8528HJawNLwET7rUFo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=n6dxF/z2; arc=none smtp.client-ip=209.85.214.177 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="n6dxF/z2" Received: by mail-pl1-f177.google.com with SMTP id d9443c01a7336-2ccdb73f0e1so78700465ad.3 for ; Tue, 21 Jul 2026 12:54:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784663668; x=1785268468; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=s3Txra/qgH/KAcr965ibAc9XFuCUYI2T81C6LAHA9wQ=; b=n6dxF/z2Sc4rVdkTcmRtFAA8vlRbfQMMN6EW1lKQcKa2s4ZvfEXsJke5KR5wiSr8Wr LVO5+wGA7pSZI4eJa08YhtzZ1Y7of/M6639J5t918r5LpEq2A9rkOBZePd5c74s0OQpO b46oE8gTR34ifTYB0Gc9Iq4fVoCNe2jLaKvk6lkcbhG/88BtG0H8624HwuFSeBHOUyWG r095NN2kB6xvqMVV0zTp4dSctFegvpliFf+MTOFYztx5TguFMXH3X6DIYddnhYSDqbZ2 SdWCthZ9lMzguFWW/NbvYryK4mDDmhO2Qf2UEs9vj7wALkqbq7UYI4gwt81Vb9ZnAm6g YCvw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784663668; x=1785268468; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=s3Txra/qgH/KAcr965ibAc9XFuCUYI2T81C6LAHA9wQ=; b=iNU+mUlWYg842fnnT9LujXeCDq/ba/2POnTTg0UtW54azGu3GtIRuiUzOdwyM1Q7UU Dd/qxg6/eEsyC6OfPWOdkMO7diqrXJv2bvz8gQ1eD3PAZyxflxkx/XztDOnn1RcSyv6N 6/InFp7tWgq9bJ/ReD2CnZ2EvmS9Lpla82FLlnXseVN/mzMoie/KVUJo0KltNY/W5bX2 usrXrVUE4xWCp4c3q6iLQBhI9fa1G46UHb0VCI/Rpy6f0VIUCUGA6x9q1jBe8I4R3Xnm w5h0hganbKYZGuhorcC/RQWdf1u/htZ/qigCPdl9n34LF5yBRXun1uOUlTF41m1+S913 +/Rw== X-Forwarded-Encrypted: i=1; AHgh+RqRzt7sIcYMOy6ybGZLyAQ0FFjTwvY/pBOQlQ7xGO8gWh0PmLq3C+a+7YiZr2TjC10Juc3D08jcvZwagdg=@vger.kernel.org X-Gm-Message-State: AOJu0Yxk0cdKyg5Gi5g4C2LUUbgtijO/BYZOCbv0nOxriryxMF+z7m+F XGaq7l4AXglmX4E0bI8C/mS60Pbz9Qs3ltBkU+9kWY1cwh9VKX85pbqn X-Gm-Gg: AR+sD13Z2bPUnVuNA+yw5B8fnQtTCnj0H2TSjiGkoYPuppQj06HBJ0dWeSv83dH7vHQ AdQj4MvDM3MBCOaz5TPA+LMvWqPML0q7qWrTPWLCNxrScDtIk15qkDWBfvifeuEqs184JeQzA/T gTZ43JC5tGwNZRUCwSyfg6WkVXsUhAiiiovxL5oE8PPXXGcVse5KZ6hxwj6EnWk5f/L50DqpMWR 93CtVqcIRTwuEt+2MnXOy9nt5U6QazTEeKWwKCTX8u5yx+QgNtI4gvUBgE06oCuREhQJzBXJ3/v SXTQMS1lbFbF6l8O3Me2EGr9JerkW8BnWEGoJN2kTFdoscAibDWZFxIRfAu4wPLn0mK01oxqVal jgbsu/xD23QaiFlRDdurSx2UZ8QyCoEitEASd7A9nmCpnKTVt2ftSIANj3ee7Eng8adHMClqIGl o08UkETC2djV9cZiR2FD3O8tQlzYiMhupcDMyKjqxRO+WX7teFarjtDo2Y/aiHwVePMe9f2aPNi gsT9WXjO6hWTmD9InfNaUg7VJEFtJBqV4HtHzUxwPZUiE5Ke2rdLKA= X-Received: by 2002:a17:903:1aa4:b0:2bf:27b2:4b80 with SMTP id d9443c01a7336-2cf34873e2dmr204348135ad.14.1784663667865; Tue, 21 Jul 2026 12:54:27 -0700 (PDT) Received: from ryzen.lan ([2601:644:8000:7a86::e34]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-3147dc7d8fbsm1664595eec.10.2026.07.21.12.54.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 12:54:26 -0700 (PDT) From: Rosen Penev To: dmaengine@vger.kernel.org Cc: Vinod Koul , Frank Li , Xuelin Shi , Harninder Rai , linux-kernel@vger.kernel.org (open list) Subject: [PATCHv2 2/2] dmaengine: fsl_raid: free resources in probe Date: Tue, 21 Jul 2026 12:54:22 -0700 Message-ID: <20260721195422.353794-3-rosenp@gmail.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260721195422.353794-1-rosenp@gmail.com> References: <20260721195422.353794-1-rosenp@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add free_irq() in the error unwind of fsl_re_chan_probe() and in fsl_re_remove_chan() so the interrupt is always released. Also add tasklet_kill(). Present in _remove but not _probe. Also add platform_device_put on failure as of_platform_device_create() increases the reference count and needs platform_device_put on failure. Requires placing the pointer in the struct for the _remove function. While at it, use platform_get/set_drvdata as there's no need for using a device pointer for that. Fixes: ad80da658bbc ("dmaengine: Driver support for FSL RaidEngine device.") Assisted-by: opencode:hy3-free Signed-off-by: Rosen Penev --- drivers/dma/fsl_raid.c | 20 ++++++++++++++------ drivers/dma/fsl_raid.h | 1 + 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/drivers/dma/fsl_raid.c b/drivers/dma/fsl_raid.c index 2d54879cd6e1..cabc79e61e85 100644 --- a/drivers/dma/fsl_raid.c +++ b/drivers/dma/fsl_raid.c @@ -661,8 +661,7 @@ static int fsl_re_chan_probe(struct platform_device *of= dev, chan_ofdev =3D of_platform_device_create(np, NULL, dev); if (!chan_ofdev) { dev_err(dev, "Not able to create ofdev for jr %d\n", q); - ret =3D -EINVAL; - goto err_free; + return -EINVAL; } =20 /* read reg property from dts */ @@ -688,17 +687,19 @@ static int fsl_re_chan_probe(struct platform_device *= ofdev, chandev =3D &chan_ofdev->dev; tasklet_setup(&chan->irqtask, fsl_re_dequeue); =20 + platform_set_drvdata(chan_ofdev, chan); ret =3D request_irq(chan->irq, fsl_re_isr, 0, chan->name, chan_ofdev); if (ret) { dev_err(dev, "Unable to register interrupt for JR %d\n", q); ret =3D -EINVAL; - goto err_free; + goto err_free_tasklet; } =20 re_priv->re_jrs[q] =3D chan; chan->chan.device =3D dma_dev; chan->chan.private =3D chan; chan->dev =3D chandev; + chan->ofdev =3D chan_ofdev; chan->re_dev =3D re_priv; =20 spin_lock_init(&chan->desc_lock); @@ -712,7 +713,7 @@ static int fsl_re_chan_probe(struct platform_device *of= dev, if (!chan->inb_ring_virt_addr) { dev_err(dev, "No dma memory for inb_ring_virt_addr\n"); ret =3D -ENOMEM; - goto err_free; + goto err_free_irq; } =20 chan->oub_ring_virt_addr =3D dma_pool_alloc(chan->re_dev->hw_desc_pool, @@ -744,8 +745,6 @@ static int fsl_re_chan_probe(struct platform_device *of= dev, out_be32(&chan->jrregs->jr_config_1, FSL_RE_CFG1_CBSI | FSL_RE_CFG1_CBS0 | status); =20 - platform_set_drvdata(chan_ofdev, chan); - /* Enable RE/CHAN */ out_be32(&chan->jrregs->jr_command, FSL_RE_ENABLE); =20 @@ -754,7 +753,12 @@ static int fsl_re_chan_probe(struct platform_device *o= fdev, err_free_1: dma_pool_free(chan->re_dev->hw_desc_pool, chan->inb_ring_virt_addr, chan->inb_phys_addr); +err_free_irq: + free_irq(chan->irq, chan_ofdev); +err_free_tasklet: + tasklet_kill(&chan->irqtask); err_free: + of_platform_device_destroy(chan_ofdev); return ret; } =20 @@ -892,6 +896,8 @@ static int fsl_re_probe(struct platform_device *ofdev) =20 static void fsl_re_remove_chan(struct fsl_re_chan *chan) { + free_irq(chan->irq, chan->ofdev); + tasklet_kill(&chan->irqtask); =20 dma_pool_free(chan->re_dev->hw_desc_pool, chan->inb_ring_virt_addr, @@ -899,6 +905,8 @@ static void fsl_re_remove_chan(struct fsl_re_chan *chan) =20 dma_pool_free(chan->re_dev->hw_desc_pool, chan->oub_ring_virt_addr, chan->oub_phys_addr); + + of_platform_device_destroy(chan->ofdev); } =20 static void fsl_re_remove(struct platform_device *ofdev) diff --git a/drivers/dma/fsl_raid.h b/drivers/dma/fsl_raid.h index adbfede330a7..34d362803610 100644 --- a/drivers/dma/fsl_raid.h +++ b/drivers/dma/fsl_raid.h @@ -270,6 +270,7 @@ struct fsl_re_chan { struct list_head active_q; /* already issued on hw, not completed */ struct list_head submit_q; struct list_head free_q; /* alloc available queue */ + struct platform_device *ofdev; struct device *dev; struct fsl_re_drv_private *re_dev; struct dma_chan chan; --=20 2.55.0