Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751576AbbLIUIR (ORCPT ); Wed, 9 Dec 2015 15:08:17 -0500 Received: from mail.kernel.org ([198.145.29.136]:45478 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750849AbbLIUIP (ORCPT ); Wed, 9 Dec 2015 15:08:15 -0500 Date: Wed, 9 Dec 2015 14:08:10 -0600 From: Rob Herring To: Peter Ujfalusi Cc: vinod.koul@intel.com, arnd@arndb.de, tony@atomide.com, linux-arm-kernel@lists.infradead.org, linux-omap@vger.kernel.org, devicetree@vger.kernel.org, balbi@ti.com, linux-kernel@vger.kernel.org, nsekhar@ti.com Subject: Re: [PATCH for 4.4 2/2] dmaengine: edma: DT: Change reserved slot array from 16bit to 32bit type Message-ID: <20151209200810.GA28037@rob-hp-laptop> References: <1449649091-9848-1-git-send-email-peter.ujfalusi@ti.com> <1449649091-9848-3-git-send-email-peter.ujfalusi@ti.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1449649091-9848-3-git-send-email-peter.ujfalusi@ti.com> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3402 Lines: 105 On Wed, Dec 09, 2015 at 10:18:11AM +0200, Peter Ujfalusi wrote: > This change makes the DT file to be easier to read since the reserved slots > array does not need the '/bits/ 16' to be specified, which might confuse > some people. > > Signed-off-by: Peter Ujfalusi This too should have info on why you are breaking compatibility. Acked-by: Rob Herring > --- > Documentation/devicetree/bindings/dma/ti-edma.txt | 5 ++-- > drivers/dma/edma.c | 31 ++++++++++++++++++----- > 2 files changed, 27 insertions(+), 9 deletions(-) > > diff --git a/Documentation/devicetree/bindings/dma/ti-edma.txt b/Documentation/devicetree/bindings/dma/ti-edma.txt > index ae8b8f1d6e69..079b42a81d7c 100644 > --- a/Documentation/devicetree/bindings/dma/ti-edma.txt > +++ b/Documentation/devicetree/bindings/dma/ti-edma.txt > @@ -56,9 +56,8 @@ edma: edma@49000000 { > > /* Channel 20 and 21 is allocated for memcpy */ > ti,edma-memcpy-channels = <20 21>; > - /* The following PaRAM slots are reserved: 35-45 and 100-110 */ > - ti,edma-reserved-slot-ranges = /bits/ 16 <35 10>, > - /bits/ 16 <100 10>; > + /* The following PaRAM slots are reserved: 35-44 and 100-109 */ > + ti,edma-reserved-slot-ranges = <35 10>, <100 10>; > }; > > edma_tptc0: tptc@49800000 { > diff --git a/drivers/dma/edma.c b/drivers/dma/edma.c > index 89fc17f3a6ff..a0f217349c07 100644 > --- a/drivers/dma/edma.c > +++ b/drivers/dma/edma.c > @@ -2015,31 +2015,50 @@ static struct edma_soc_info *edma_setup_info_from_dt(struct device *dev, > &sz); > if (prop) { > const char pname[] = "ti,edma-reserved-slot-ranges"; > + u32 (*tmp)[2]; > s16 (*rsv_slots)[2]; > - size_t nelm = sz / sizeof(*rsv_slots); > + size_t nelm = sz / sizeof(*tmp); > struct edma_rsv_info *rsv_info; > + int i; > > if (!nelm) > return info; > > + tmp = kcalloc(nelm, sizeof(*tmp), GFP_KERNEL); > + if (!tmp) > + return ERR_PTR(-ENOMEM); > + > rsv_info = devm_kzalloc(dev, sizeof(*rsv_info), GFP_KERNEL); > - if (!rsv_info) > + if (!rsv_info) { > + kfree(tmp); > return ERR_PTR(-ENOMEM); > + } > > rsv_slots = devm_kcalloc(dev, nelm + 1, sizeof(*rsv_slots), > GFP_KERNEL); > - if (!rsv_slots) > + if (!rsv_slots) { > + kfree(tmp); > return ERR_PTR(-ENOMEM); > + } > > - ret = of_property_read_u16_array(dev->of_node, pname, > - (u16 *)rsv_slots, nelm * 2); > - if (ret) > + ret = of_property_read_u32_array(dev->of_node, pname, > + (u32 *)tmp, nelm * 2); > + if (ret) { > + kfree(tmp); > return ERR_PTR(ret); > + } > > + for (i = 0; i < nelm; i++) { > + rsv_slots[i][0] = tmp[i][0]; > + rsv_slots[i][1] = tmp[i][1]; > + } > rsv_slots[nelm][0] = -1; > rsv_slots[nelm][1] = -1; > + > info->rsv = rsv_info; > info->rsv->rsv_slots = (const s16 (*)[2])rsv_slots; > + > + kfree(tmp); > } > > return info; > -- > 2.6.3 > > -- > To unsubscribe from this list: send the line "unsubscribe devicetree" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/