From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1030219AbcBQI6g (ORCPT ); Wed, 17 Feb 2016 03:58:36 -0500 Received: from bastet.se.axis.com ([195.60.68.11]:58989 "EHLO bastet.se.axis.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965115AbcBQI6e (ORCPT ); Wed, 17 Feb 2016 03:58:34 -0500 Date: Wed, 17 Feb 2016 09:58:29 +0100 From: Andreas =?iso-8859-1?Q?Irest=E5l?= To: Arnd Bergmann CC: Andreas =?iso-8859-1?Q?Irest=E5l?= , Lars-Peter Clausen , Liam Girdwood , Mark Brown , Rob Herring , Pawel Moll , Mark Rutland , Ian Campbell , Kumar Gala , , , Subject: Re: [PATCH v2 5/5] ASoC: adau17x1: Support platform data via DT Message-ID: <20160217085829.GC2137@lnxandire1.se.axis.com> References: <1455627405-18155-1-git-send-email-andire@axis.com> <1455627405-18155-6-git-send-email-andire@axis.com> <4053162.T8NAULHXMt@wuerfel> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <4053162.T8NAULHXMt@wuerfel> User-Agent: Mutt/1.5.23 (2014-03-12) X-Originating-IP: [10.0.5.55] X-ClientProxiedBy: XBOX04.axis.com (10.0.5.18) To XBOX03.axis.com (10.0.5.17) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Feb 16, 2016 at 02:42:02PM +0100, Arnd Bergmann wrote: > On Tuesday 16 February 2016 13:56:45 Andreas Irestål wrote: > > Currently, it is only possible to configure HW-specific options to the > > adau17x1 codecs by providing a platform data struct. With this patch, > > it is possible to provide the same data via DT instead. > > > > Signed-off-by: Andreas Irestål > > --- > > .../devicetree/bindings/sound/adi,adau17x1.txt | 31 +++++ > > include/dt-bindings/sound/adau17x1.h | 14 +++ > > sound/soc/codecs/adau1761.c | 127 +++++++++++++++++++++ > > sound/soc/codecs/adau1781.c | 48 ++++++++ > > 4 files changed, 220 insertions(+) > > create mode 100644 include/dt-bindings/sound/adau17x1.h > > > + of_pdata = devm_kzalloc(dev, sizeof(*of_pdata), GFP_KERNEL); > > + if (!of_pdata) > > + return -ENOMEM; > > + adau1781_pdata_from_of(dev, of_pdata); > > + dev->platform_data = of_pdata; > > and here I'd try to avoid the dynamic allocation and just add the fields to the > driver private structure. You can copy the information from the platform > data in the 'else' path. Since the driver private structure is shared between two different codecs, the platform_data struct can be of 2 different types, but I guess it should be OK to have two fields or a union in the private struct. I was thinking about this too but chose the approach above since providing platform_data is optional. However, I could add some default values and submit again. Thanks a lot for the feedback. /Andreas > > Arnd