From nobody Fri Apr 3 12:26:36 2026 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.13]) (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 E716F389E08; Tue, 17 Mar 2026 20:30:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.13 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773779428; cv=none; b=P63dQlHA+ShN+JjrPSuhACNRUUN5Ca71LphON/zxzj6UssgulslJAHBrFwZ0twKcBk7vq3iVNEdcLNxtil7hPMnN34aFfTtwNm5JU4zJkmED4iiY8cyS408IHBUZ2MQli+Fq37QZ6frQTVi/gRcEF0h0ZvMxOY97dXvs6pbkUXc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773779428; c=relaxed/simple; bh=lNwToLZvGLue8q3lhdy0+QwIrdVuQNDe6ZwtKnIqxrY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ENjqi+ma6/L7vy+lOPLfTL65PHELJkc0HSer1BM9DBEUDqo298U1SGAsfFxtXqIKG+P1Z6VdzYSkrbVKqb1xgQSf8/PR31d91v0UI+kA7KAFJ3DS2z9B93l6Ne3uuvy1nChKsbNG2LLUxAfg0C0DzxcYqCmx9IoWnGLUseNgSJk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=pass smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=nZ8fSkPX; arc=none smtp.client-ip=192.198.163.13 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="nZ8fSkPX" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1773779427; x=1805315427; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=lNwToLZvGLue8q3lhdy0+QwIrdVuQNDe6ZwtKnIqxrY=; b=nZ8fSkPXrnziN9QM4nlOd/llasECJlOQ/Ygyh7qjtYzRtx8Opd3jcDX+ LIvz39hoCqI7qIPM/2H9hfLMNTqohBAa6pmXUG8ZL5WxlFNpx9FLUmgbl iO6rsx62L+rXNlret8p3N/9MLikIYAfaLfWNNsKuH6IAbbOOIVCG+M+xZ uvZPjuynDaLl60bZjQzVUi8H1pUNq7MPy2PQdDbX0OF+kaFyHDhdX5jh0 2DC4WhghhLUWaPXr2kTcWrur3IbLIX4vU1Q4EvGdvWMe3TfkopD1AGwSm HAfL+icMipTOBb3VUlwjJG7d3jnQxAgf9NlqF/fwO1fr93UWUcm5M8l07 Q==; X-CSE-ConnectionGUID: s8UxJvlpTNWK0gkeDYvdqg== X-CSE-MsgGUID: 8Nt/hmUSSb+m1a8PDh0wog== X-IronPort-AV: E=McAfee;i="6800,10657,11732"; a="77433965" X-IronPort-AV: E=Sophos;i="6.23,126,1770624000"; d="scan'208";a="77433965" Received: from orviesa008.jf.intel.com ([10.64.159.148]) by fmvoesa107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Mar 2026 13:30:24 -0700 X-CSE-ConnectionGUID: hGu+BYrHQIObg31iB5dGog== X-CSE-MsgGUID: LSp8lOVzRw2rYHNNGwI0kQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.23,126,1770624000"; d="scan'208";a="222434441" Received: from black.igk.intel.com ([10.91.253.5]) by orviesa008.jf.intel.com with ESMTP; 17 Mar 2026 13:30:22 -0700 Received: by black.igk.intel.com (Postfix, from userid 1003) id 0D51C9B; Tue, 17 Mar 2026 21:30:20 +0100 (CET) From: Andy Shevchenko To: linux-can@vger.kernel.org, linux-phy@lists.infradead.org, linux-kernel@vger.kernel.org Cc: Marc Kleine-Budde , Vincent Mailhol , Vinod Koul , Neil Armstrong , Josua Mayer , Ulf Hansson , Andy Shevchenko Subject: [PATCH v2 3/4] phy: phy-can-transceiver: Don't check for specific errors when parsing properties Date: Tue, 17 Mar 2026 21:27:29 +0100 Message-ID: <20260317203001.2108568-4-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20260317203001.2108568-1-andriy.shevchenko@linux.intel.com> References: <20260317203001.2108568-1-andriy.shevchenko@linux.intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Instead of checking for the specific error codes (that can be considered a layering violation to some extent) check for the property existence first and then either parse it, or apply a default value. With that, return an error when parsing of the existing property fails. Signed-off-by: Andy Shevchenko --- drivers/phy/phy-can-transceiver.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/drivers/phy/phy-can-transceiver.c b/drivers/phy/phy-can-transc= eiver.c index aaed8d08fcf0..21b0406d1a09 100644 --- a/drivers/phy/phy-can-transceiver.c +++ b/drivers/phy/phy-can-transceiver.c @@ -128,8 +128,9 @@ static int can_transceiver_phy_probe(struct platform_de= vice *pdev) struct gpio_desc *standby_gpio; struct gpio_desc *enable_gpio; struct mux_state *mux_state; - u32 max_bitrate =3D 0; int err, i, num_ch =3D 1; + const char *propname; + u32 max_bitrate; =20 drvdata =3D device_get_match_data(dev); if (drvdata->flags & CAN_TRANSCEIVER_DUAL_CH) @@ -148,8 +149,15 @@ static int can_transceiver_phy_probe(struct platform_d= evice *pdev) =20 priv->mux_state =3D mux_state; =20 - err =3D device_property_read_u32(dev, "max-bitrate", &max_bitrate); - if ((err !=3D -EINVAL) && !max_bitrate) + propname =3D "max-bitrate"; + if (device_property_present(dev, propname)) { + err =3D device_property_read_u32(dev, propname, &max_bitrate); + if (err) + return dev_err_probe(dev, err, "failed to parse %s\n", propname); + } else { + max_bitrate =3D 0; + } + if (max_bitrate =3D=3D 0) dev_warn(dev, "Invalid value for transceiver max bitrate. Ignoring bitra= te limit\n"); =20 for (i =3D 0; i < num_ch; i++) { --=20 2.50.1