From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx07-00178001.pphosted.com (mx08-00178001.pphosted.com [91.207.212.93]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 116F98F4C for ; Mon, 13 Jan 2025 08:29:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=91.207.212.93 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736756975; cv=none; b=DVL7VVNm8snEseydO1LjAbq8aKPcrTUxcwomD6UP5GpkDiqcBIZYqpm9lHnpaBek+jschvLncunh8mkrpFMbNHIPlAdHD8ajR7fuamjk+mvDyGW3AdxfV1zOvRkiM8OSBhrwO9+SSXuXsnALnoDd1Z9A8xY5/XITTWneo2qAO+0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736756975; c=relaxed/simple; bh=tSICw0Pi9KQ4ouyOMzFBW6YIoftbZd7kwDz45cL50qI=; h=Message-ID:Date:MIME-Version:Subject:To:References:From: In-Reply-To:Content-Type; b=cGxLr1pBRTyq9Lxp3Uqj+jUzArreAaEI9DqR6C9JmxWcZjQ/a9w28BguqMnd7QWwOzAaxtFxOu3mCxD8w+Fftwehg6aqYEQJpF8Aq07BWsIeasbw5Bug6REsm6catCxNl34jeec1rLI4nCXHsWz6DGNPVIxZrc3nbT7tj42DSr4= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com; spf=pass smtp.mailfrom=foss.st.com; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b=3wawvasm; arc=none smtp.client-ip=91.207.212.93 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=foss.st.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=foss.st.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=foss.st.com header.i=@foss.st.com header.b="3wawvasm" Received: from pps.filterd (m0046661.ppops.net [127.0.0.1]) by mx07-00178001.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 50D8BNgC016373; Mon, 13 Jan 2025 09:29:12 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=selector1; bh= ST36cQk/II1GUrnWcbOlEN3GOcFrIWafpNCcf9RzvD4=; b=3wawvasmyROAJ9D5 t/72BpnoqyfhESMwNO43ncIDthtkDCfdpcbMIl+Sx0k7z8PVCH7lDzR81H4I0t26 eL5UqhJuJLrrvUKA2hLOpHxZjWYw1v07L8Tpx72JVjrlezds3YXnfmH515ynXsm2 CJ9SaWze4l/iF/f3ntRnXSWELFkJIV93MwN91cV93RTkpU7LmM14DyMkBRMru/qa rb1wQgqhJa4agsufI6muAiE/+mzZnlnLFBxtrocmy3WeFPCklgK3Jj+Ie37uugei BwvNbtp1HRHU7cmyM6zaCfidkSEe1hPhrOsb1X22tB8hBry6+3iQp1FlGNaUTixM kL7Skw== Received: from beta.dmz-ap.st.com (beta.dmz-ap.st.com [138.198.100.35]) by mx07-00178001.pphosted.com (PPS) with ESMTPS id 443hj5d3m4-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 13 Jan 2025 09:29:12 +0100 (CET) Received: from euls16034.sgp.st.com (euls16034.sgp.st.com [10.75.44.20]) by beta.dmz-ap.st.com (STMicroelectronics) with ESMTP id 3437440045; Mon, 13 Jan 2025 09:28:18 +0100 (CET) Received: from Webmail-eu.st.com (shfdag1node1.st.com [10.75.129.69]) by euls16034.sgp.st.com (STMicroelectronics) with ESMTP id 797A62303A4; Mon, 13 Jan 2025 09:27:52 +0100 (CET) Received: from [10.48.87.62] (10.48.87.62) by SHFDAG1NODE1.st.com (10.75.129.69) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.37; Mon, 13 Jan 2025 09:27:52 +0100 Message-ID: Date: Mon, 13 Jan 2025 09:27:51 +0100 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] phy: stih407-usb: Use syscon_regmap_lookup_by_phandle_args To: Krzysztof Kozlowski , Vinod Koul , Kishon Vijay Abraham I , , , References: <20250111185407.183855-1-krzysztof.kozlowski@linaro.org> Content-Language: en-US From: Patrice CHOTARD In-Reply-To: <20250111185407.183855-1-krzysztof.kozlowski@linaro.org> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-ClientProxiedBy: SHFCAS1NODE2.st.com (10.75.129.73) To SHFDAG1NODE1.st.com (10.75.129.69) X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1039,Hydra:6.0.680,FMLib:17.12.60.29 definitions=2024-09-06_09,2024-09-06_01,2024-09-02_01 On 1/11/25 19:54, Krzysztof Kozlowski wrote: > Use syscon_regmap_lookup_by_phandle_args() which is a wrapper over > syscon_regmap_lookup_by_phandle() combined with getting the syscon > argument. Except simpler code this annotates within one line that given > phandle has arguments, so grepping for code would be easier. > > There is also no real benefit in printing errors on missing syscon > argument, because this is done just too late: runtime check on > static/build-time data. Dtschema and Devicetree bindings offer the > static/build-time check for this already. > > Signed-off-by: Krzysztof Kozlowski > --- > drivers/phy/st/phy-stih407-usb.c | 24 +++++++----------------- > 1 file changed, 7 insertions(+), 17 deletions(-) > > diff --git a/drivers/phy/st/phy-stih407-usb.c b/drivers/phy/st/phy-stih407-usb.c > index a4ae2cca7f63..ebb1d0858aa3 100644 > --- a/drivers/phy/st/phy-stih407-usb.c > +++ b/drivers/phy/st/phy-stih407-usb.c > @@ -18,8 +18,8 @@ > #include > #include > > -#define PHYPARAM_REG 1 > -#define PHYCTRL_REG 2 > +#define PHYPARAM_REG 0 > +#define PHYCTRL_REG 1 > > /* Default PHY_SEL and REFCLKSEL configuration */ > #define STIH407_USB_PICOPHY_CTRL_PORT_CONF 0x6 > @@ -91,8 +91,8 @@ static int stih407_usb2_picophy_probe(struct platform_device *pdev) > struct device *dev = &pdev->dev; > struct device_node *np = dev->of_node; > struct phy_provider *phy_provider; > + unsigned int syscon_args[2]; > struct phy *phy; > - int ret; > > phy_dev = devm_kzalloc(dev, sizeof(*phy_dev), GFP_KERNEL); > if (!phy_dev) > @@ -116,25 +116,15 @@ static int stih407_usb2_picophy_probe(struct platform_device *pdev) > /* Reset port by default: only deassert it in phy init */ > reset_control_assert(phy_dev->rstport); > > - phy_dev->regmap = syscon_regmap_lookup_by_phandle(np, "st,syscfg"); > + phy_dev->regmap = syscon_regmap_lookup_by_phandle_args(np, "st,syscfg", > + 2, syscon_args); > if (IS_ERR(phy_dev->regmap)) { > dev_err(dev, "No syscfg phandle specified\n"); > return PTR_ERR(phy_dev->regmap); > } > > - ret = of_property_read_u32_index(np, "st,syscfg", PHYPARAM_REG, > - &phy_dev->param); > - if (ret) { > - dev_err(dev, "can't get phyparam offset (%d)\n", ret); > - return ret; > - } > - > - ret = of_property_read_u32_index(np, "st,syscfg", PHYCTRL_REG, > - &phy_dev->ctrl); > - if (ret) { > - dev_err(dev, "can't get phyctrl offset (%d)\n", ret); > - return ret; > - } > + phy_dev->param = syscon_args[PHYPARAM_REG]; > + phy_dev->ctrl = syscon_args[PHYCTRL_REG]; > > phy = devm_phy_create(dev, NULL, &stih407_usb2_picophy_data); > if (IS_ERR(phy)) { Reviewed-by: Patrice Chotard Thanks Patrice