Re: [RESEND PATCH v8 0/3] Add Intel ComboPhy driver

From: Dilip Kota
Date: Mon May 18 2020 - 23:56:47 EST



On 5/18/2020 9:49 PM, Kishon Vijay Abraham I wrote:
Dilip,

On 5/15/2020 1:43 PM, Dilip Kota wrote:
This patch series adds Intel ComboPhy driver, respective yaml schemas

Changes on v8:
As per PHY Maintainer's request add description in comments for doing
register access through register map framework.

Changes on v7:
As per System control driver maintainer's inputs remove
fwnode_to_regmap() definition and use device_node_get_regmap()
Can you fix this warning and resend the patch?
drivers/phy/intel/phy-intel-combo.c:229:6: warning: âcb_modeâ may be used
uninitialized in this function [-Wmaybe-uninitialized]
ret = regmap_write(cbphy->hsiocfg, REG_COMBO_MODE(cbphy->bid), cb_mode);
~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/phy/intel/phy-intel-combo.c:204:24: note: âcb_modeâ was declared here
enum intel_combo_mode cb_mode;
^~~~~~~
I noticed this warning while preparing the patch.
It sounds like false warning because:
1.) "cb_mode" is initialized in the switch case based on the "mode = cbphy->phy_mode;"
2.) cbphy->phy_mode is initialized during the probe in "intel_cbphy_fwnode_parse()" with one of the 3 values.
PHY_PCIE_MODE, PHY_SATA_MODE, PHY_XPCS_MODE.
3.) There is no chance of "cbphy->phy_mode" having different value.
4.) And "cb_mode" will be initialized according to the "mode = cbphy->phy_mode;"
5.) Hence, there is no chance of "cb_mode" getting accessed uninitialized.

Regards,
Dilip
Thanks
Kishon
Changes on v6:
Rebase patches on the latest maintainer's branch
https://git.kernel.org/pub/scm/linux/kernel/git/kishon/linux-phy.git/?h=phy-for-5.7
Dilip Kota (3):
dt-bindings: phy: Add PHY_TYPE_XPCS definition
dt-bindings: phy: Add YAML schemas for Intel ComboPhy
phy: intel: Add driver support for ComboPhy

.../devicetree/bindings/phy/intel,combo-phy.yaml | 101 ++++
drivers/phy/intel/Kconfig | 14 +
drivers/phy/intel/Makefile | 1 +
drivers/phy/intel/phy-intel-combo.c | 632 +++++++++++++++++++++
include/dt-bindings/phy/phy.h | 1 +
5 files changed, 749 insertions(+)
create mode 100644 Documentation/devicetree/bindings/phy/intel,combo-phy.yaml
create mode 100644 drivers/phy/intel/phy-intel-combo.c