Received: by 2002:a25:ad19:0:0:0:0:0 with SMTP id y25csp7812552ybi; Tue, 9 Jul 2019 04:49:04 -0700 (PDT) X-Google-Smtp-Source: APXvYqw2kypB3CTRIaT5uq0bX+6V34gPez5miCsdsqzjIamb1QiDgxl2naUFt+8IwOFlx8dLfSTa X-Received: by 2002:a63:5045:: with SMTP id q5mr29344891pgl.380.1562672944439; Tue, 09 Jul 2019 04:49:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1562672944; cv=none; d=google.com; s=arc-20160816; b=mr6KAvT8rLtpgWctCbIIqxZBx6K6LPAEdRBeXwK9Uw83ciwuuKY3wAiMzcOu3H7yga QScBbB2esVx74vS3UkSb6ShAsgCavA8QvdLVDD/TvZtzZhrbvuVHBORJfpXcxo2obM/x kQErZuwL5P/Gw+Aa33vF5wod3dYIvJ7HOnZS1YW3sJ028uqqeImMqYcp40gKBDmCwPhs Sq/djkcVjUmGUvvZ3XMLdIAa6zoa+CS3xwWlG/sQnDWT49YVdM1b1cJH2iznVhPnmKGY ijwGI/ToEjHH9GdTRnmRr27jZvg6+gzEDD/JyqaVL+hcuvP1F/1v2Q2IvJFJRqDoW11t Wgfw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject; bh=coUJhtFXZdy9wKS2ut6FxdMjrXVAH37UMX1PIwk5uNw=; b=a3zbmWWtbbVzUr/NLicrA6dz+NUNkxBDLihaaXW+3ps8M4G2aoz+Xmo7FBSuIV5VSU OVu6wz2ZfdUp7SDlgiK9lcIdJ3D2L4Iq+lGF1HMII0riLbpWoQ1UR9qGfP7+g8MlcJQb cAWIobE7U3CbC1eTOV58OvuqPr0qQj/Anii32Ei0SWIgbWjCm7efBDGeztVx4PQ35yve FvG4sICjoG973tXRqWzCXqlbN621IS8ae69bmhOX9ombYlW5Qbus378bXTAkP+afb6nZ WUOUcduldfQKrPaou9/VKr9UyuQVd+wOHStaMirU6SPIms/Uq0iywz3Kjuwsnx1liRb1 RD/w== 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=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id j36si21153602plb.77.2019.07.09.04.48.49; Tue, 09 Jul 2019 04:49:04 -0700 (PDT) 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=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726601AbfGILrP (ORCPT + 99 others); Tue, 9 Jul 2019 07:47:15 -0400 Received: from mga14.intel.com ([192.55.52.115]:63885 "EHLO mga14.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726060AbfGILrP (ORCPT ); Tue, 9 Jul 2019 07:47:15 -0400 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 09 Jul 2019 04:47:15 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.63,470,1557212400"; d="scan'208";a="167964894" Received: from crojewsk-mobl1.ger.corp.intel.com (HELO [172.28.182.92]) ([172.28.182.92]) by orsmga003.jf.intel.com with ESMTP; 09 Jul 2019 04:47:10 -0700 Subject: Re: [PATCH 1/4] ASoC: hdmi-codec: Add an op to set callback function for plug event To: Cheng-Yi Chiang Cc: linux-kernel@vger.kernel.org, Hans Verkuil , Mark Brown , Liam Girdwood , Takashi Iwai , Jaroslav Kysela , Russell King , Andrzej Hajda , Laurent Pinchart , David Airlie , Daniel Vetter , Heiko Stuebner , dianders@chromium.org, dgreid@chromium.org, tzungbi@chromium.org, alsa-devel@alsa-project.org, dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org References: <20190705042623.129541-1-cychiang@chromium.org> <20190705042623.129541-2-cychiang@chromium.org> From: Cezary Rojewski Message-ID: <3d5755cf-34e9-44f7-3b03-6bdfca84ff95@intel.com> Date: Tue, 9 Jul 2019 13:47:10 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.7.2 MIME-Version: 1.0 In-Reply-To: <20190705042623.129541-2-cychiang@chromium.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2019-07-05 06:26, Cheng-Yi Chiang wrote: > +static void hdmi_codec_jack_report(struct hdmi_codec_priv *hcp, > + unsigned int jack_status) > +{ > + if (!hcp->jack) > + return; > + > + if (jack_status != hcp->jack_status) { > + snd_soc_jack_report(hcp->jack, jack_status, SND_JACK_LINEOUT); > + hcp->jack_status = jack_status; > + } > +} Single "if" statement instead? The first "if" does not even cover all cases - if the secondary check fails, you'll "return;" too. > +/** > + * hdmi_codec_set_jack_detect - register HDMI plugged callback > + * @component: the hdmi-codec instance > + * @jack: ASoC jack to report (dis)connection events on > + */ > +int hdmi_codec_set_jack_detect(struct snd_soc_component *component, > + struct snd_soc_jack *jack) > +{ > + struct hdmi_codec_priv *hcp = snd_soc_component_get_drvdata(component); > + int ret; > + > + if (hcp->hcd.ops->hook_plugged_cb) { > + hcp->jack = jack; > + ret = hcp->hcd.ops->hook_plugged_cb(component->dev->parent, > + hcp->hcd.data, > + plugged_cb); > + if (ret) { > + hcp->jack = NULL; > + return ret; > + } > + return 0; > + } > + return -EOPNOTSUPP; > +} > +EXPORT_SYMBOL_GPL(hdmi_codec_set_jack_detect); int ret = -EOPNOTSUPP; (...) return ret; In consequence, you can reduce the number of "return(s)" and also remove the redundant parenthesis for the if-statement used to set jack to NULL. Czarek