Received: by 2002:a25:1506:0:0:0:0:0 with SMTP id 6csp1899253ybv; Fri, 21 Feb 2020 05:21:53 -0800 (PST) X-Google-Smtp-Source: APXvYqxjw39T7aCgj4+XHZ2O9X+rVnh1fWSD+THpdbCxMIkgp9k4BzIz3rc6CE/Ff7cTJPcu96dL X-Received: by 2002:aca:1a06:: with SMTP id a6mr1886038oia.148.1582291313420; Fri, 21 Feb 2020 05:21:53 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1582291313; cv=none; d=google.com; s=arc-20160816; b=OfHQ1DOTuAyDvXMhPwIY3i6VrzqHMeiHRmj0vytlIc68wIYoRSP0bWXLTTzb2W1/rV Gv6wfC6ZMWnYoTyXrMOpxgNyIc31HPFCJxHkhILb30bBYirNPqhm+FmDrwg6jNwIpl0s mA3MMnUya/EUNmkeK7oaxYShCjLzSe2iqGDFiEwLDHSRc1xNr3/NSiSBLt23w+aLmAub VWjjabVw+wWAx37hnVTz6iItTXRUNrmuP/T0pBq43MG10f8VaUknhHKFZbwoAsTrq3CU Km5CWhTi6Wy0AZhHefjSQcVe+HL9qE1VH1K3kjgyK1s2A5D1A3XV4PKnll9S9lkqxP7F yG/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=nidP5ktr7elndzAXfgyLlpIIGz2R87JBTysiDvEFqnc=; b=NK8yIyuCsTw8FpLG+FN1LCVEU8dQf+Ala3oWybi7gGwchMS/4F49SfLsDmqS17AXrZ LPCnLYOtrnI/WQxKX7lH/GnhF0V2rZ7AHbPcGXuECwBf0E0cN0Wi/OTIHmLgUMdRvsTb Kkf5j3PBHLKRhuo5hbQDGLzcnS37CaN0ZDUlR+/8WG2B+/9UvJChYroGXOQ4xmEEw+zu rkwl+vLz9rVRgiIcBiDks3YO69QxHnQNRBSF+/9tmd02uXPz5Z4luq5fpGa2nrd6SXv1 ZgJ6EriSB68neYO33kQDkRPPK8oXsLUYOque/2cP42Gs/mzLs4E+C7sPA7IB5x1YFWSE aF5w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id n18si1422916otf.231.2020.02.21.05.21.40; Fri, 21 Feb 2020 05:21:53 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728653AbgBUNVb (ORCPT + 99 others); Fri, 21 Feb 2020 08:21:31 -0500 Received: from foss.arm.com ([217.140.110.172]:39206 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728605AbgBUNVb (ORCPT ); Fri, 21 Feb 2020 08:21:31 -0500 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 6CD1630E; Fri, 21 Feb 2020 05:21:30 -0800 (PST) Received: from localhost (unknown [10.37.6.21]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id D526C3F703; Fri, 21 Feb 2020 05:21:29 -0800 (PST) Date: Fri, 21 Feb 2020 13:21:28 +0000 From: Mark Brown To: Sameer Pujar Cc: perex@perex.cz, tiwai@suse.com, robh+dt@kernel.org, lgirdwood@gmail.com, thierry.reding@gmail.com, jonathanh@nvidia.com, digetx@gmail.com, alsa-devel@alsa-project.org, devicetree@vger.kernel.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org, sharadg@nvidia.com, mkumard@nvidia.com, viswanathl@nvidia.com, rlokhande@nvidia.com, dramesh@nvidia.com, atalambedu@nvidia.com Subject: Re: [PATCH v3 04/10] ASoC: tegra: add Tegra210 based I2S driver Message-ID: <20200221132128.GE5546@sirena.org.uk> References: <1582180492-25297-1-git-send-email-spujar@nvidia.com> <1582180492-25297-5-git-send-email-spujar@nvidia.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="FEz7ebHBGB6b2e8X" Content-Disposition: inline In-Reply-To: <1582180492-25297-5-git-send-email-spujar@nvidia.com> X-Cookie: Dead? No excuse for laying off work. User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --FEz7ebHBGB6b2e8X Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Thu, Feb 20, 2020 at 12:04:46PM +0530, Sameer Pujar wrote: > @@ -0,0 +1,938 @@ > +// SPDX-License-Identifier: GPL-2.0-only > +/* > + * tegra210_i2s.c - Tegra210 I2S driver > + * All C++ please. > +static void tegra210_i2s_set_data_offset(struct tegra210_i2s *i2s, > + unsigned int data_offset) > +{ > + unsigned int mask = I2S_CTRL_DATA_OFFSET_MASK; > + unsigned int shift = I2S_DATA_SHIFT; > + unsigned int reg; > + > + reg = TEGRA210_I2S_TX_CTRL; > + regmap_update_bits(i2s->regmap, reg, mask, data_offset << shift); > + > + reg = TEGRA210_I2S_RX_CTRL; > + regmap_update_bits(i2s->regmap, reg, mask, data_offset << shift); The way this is written is *weird*, especially the use of reg - it'd probably be clearer to just use the values directly rather than have these intermediate temporary values. > +static int tegra210_i2s_get_control(struct snd_kcontrol *kcontrol, > + struct snd_ctl_elem_value *ucontrol) > +{ > + struct snd_soc_component *compnt = snd_soc_kcontrol_component(kcontrol); > + struct tegra210_i2s *i2s = snd_soc_component_get_drvdata(compnt); > + long *uctl_val = &ucontrol->value.integer.value[0]; > + > + if (strstr(kcontrol->id.name, "Loopback")) > + *uctl_val = i2s->loopback; > + else if (strstr(kcontrol->id.name, "Sample Rate")) > + *uctl_val = i2s->srate_override; > + else if (strstr(kcontrol->id.name, "FSYNC Width")) > + *uctl_val = i2s->fsync_width; > + else if (strstr(kcontrol->id.name, "Playback Audio Bit Format")) > + *uctl_val = i2s->audio_fmt_override[I2S_RX_PATH]; > + else if (strstr(kcontrol->id.name, "Capture Audio Bit Format")) > + *uctl_val = i2s->audio_fmt_override[I2S_TX_PATH]; Same issue as the DMIC driver, these really shouldn't be exposed to userspace as regular controls. > + /* > + * For playback I2S RX-CIF and for capture TX-CIF is used. > + * With reference to AHUB, for I2S, SNDRV_PCM_STREAM_CAPTURE stream is > + * actually for playback. > + */ > + path = (substream->stream == SNDRV_PCM_STREAM_CAPTURE) ? > + I2S_RX_PATH : I2S_TX_PATH; Please write normal conditional statements, it makes things easier to read. --FEz7ebHBGB6b2e8X Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAABCgAdFiEEreZoqmdXGLWf4p/qJNaLcl1Uh9AFAl5P2VcACgkQJNaLcl1U h9D/awf/U2ZCR7nNWNrI95I8xTMDKuA/JDQe0xYLuDIfs3GKQSPQMpUDhki+WZMN DqFveacFKjMaU6kxGpoFWONkDSLzRjWguMjv0+SwXJPDbwYmJFsfOFNPc8AjXIDc YsgXv6n/zHWQGC9w7tU3/Goy7n87FGWsBIKsBAQF2K4ZhubTgA9zggVBKLArj7J1 WpidsKFtr0DqBk/BKpQfERYQIQqND2xScFnTkrp80A55wu0rzNW2wP4XXWcOkPbS jYoVHY81EV3ExQzN3T7FbOO6PWfXZMPwUw+UwfODLvFCbpmQJSkiMiv5x4qXJDrS wxx80JuxpcjWr6qKYltb4t/R/+AgZg== =0K47 -----END PGP SIGNATURE----- --FEz7ebHBGB6b2e8X--