From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.3 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B4DAEC48BE7 for ; Tue, 9 Jul 2019 11:47:17 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 88E53216E3 for ; Tue, 9 Jul 2019 11:47:17 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726628AbfGILrP (ORCPT ); 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