Re: [PATCH 2/3] phy: aspeed: Add ASPEED PCIe PHY driver
From: kernel test robot
Date: Fri Oct 09 2026 - 03:00:49 EST
Hi Jacky,
kernel test robot noticed the following build errors:
[auto build test ERROR on ea01f446f0682a5e7bd7a275889a890b7e0c6e02]
url: https://github.com/intel-lab-lkp/linux/commits/Jacky-Chou/dt-bindings-phy-aspeed-Add-ASPEED-PCIe-PHY/20261008-192819
base: ea01f446f0682a5e7bd7a275889a890b7e0c6e02
patch link: https://lore.kernel.org/r/20261008-aspeed_pcie_phy-v1-2-96764937aef0%40aspeedtech.com
patch subject: [PATCH 2/3] phy: aspeed: Add ASPEED PCIe PHY driver
config: s390-allmodconfig (https://download.01.org/0day-ci/archive/20261009/202610091411.PPpH2lr3-lkp@xxxxxxxxx/config)
compiler: clang version 24.0.0git (https://github.com/llvm/llvm-project 242243a5814307de825db3428662d67b064e2cbc)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20261009/202610091411.PPpH2lr3-lkp@xxxxxxxxx/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202610091411.PPpH2lr3-lkp@xxxxxxxxx/
All errors (new ones prefixed by >>):
>> drivers/phy/aspeed/phy-aspeed-pcie.c:73:2: error: call to undeclared function 'writel'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
73 | writel(PCIE_UNLOCK, pcie_phy->reg + PEHR_LOCK);
| ^
drivers/phy/aspeed/phy-aspeed-pcie.c:94:3: error: call to undeclared function 'writel'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
94 | writel(AST2600_PORT_TYPE(0x3), pcie_phy->reg + PEHR_GLOBAL);
| ^
drivers/phy/aspeed/phy-aspeed-pcie.c:94:10: error: call to undeclared function 'FIELD_PREP'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
94 | writel(AST2600_PORT_TYPE(0x3), pcie_phy->reg + PEHR_GLOBAL);
| ^
drivers/phy/aspeed/phy-aspeed-pcie.c:16:32: note: expanded from macro 'AST2600_PORT_TYPE'
16 | #define AST2600_PORT_TYPE(x) FIELD_PREP(AST2600_PORT_TYPE_MASK, x)
| ^
drivers/phy/aspeed/phy-aspeed-pcie.c:135:3: error: call to undeclared function 'writel'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
135 | writel(0, pcie_phy->reg + PEHR_MISC_278);
| ^
drivers/phy/aspeed/phy-aspeed-pcie.c:137:10: error: call to undeclared function 'FIELD_PREP'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
137 | writel(POSTED_DATA_CREDITS(0xc0) | POSTED_HEADER_CREDITS(0xa),
| ^
drivers/phy/aspeed/phy-aspeed-pcie.c:29:34: note: expanded from macro 'POSTED_DATA_CREDITS'
29 | #define POSTED_DATA_CREDITS(x) FIELD_PREP(GENMASK(15, 0), x)
| ^
>> drivers/phy/aspeed/phy-aspeed-pcie.c:143:13: error: call to undeclared function 'readl'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
143 | cfg_val = readl(pcie_phy->reg + PEHR_MISC_60);
| ^
drivers/phy/aspeed/phy-aspeed-pcie.c:144:3: error: call to undeclared function 'FIELD_MODIFY'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
144 | FIELD_MODIFY(AST2700_PORT_TYPE_MASK, &cfg_val,
| ^
7 errors generated.
vim +/writel +73 drivers/phy/aspeed/phy-aspeed-pcie.c
63
64 static int ast2600_phy_init(struct phy *phy)
65 {
66 struct aspeed_pcie_phy *pcie_phy = phy_get_drvdata(phy);
67 int ret;
68
69 ret = clk_prepare_enable(pcie_phy->clk);
70 if (ret)
71 return ret;
72
> 73 writel(PCIE_UNLOCK, pcie_phy->reg + PEHR_LOCK);
74
75 return 0;
76 }
77
78 static int ast2600_phy_exit(struct phy *phy)
79 {
80 struct aspeed_pcie_phy *pcie_phy = phy_get_drvdata(phy);
81
82 clk_disable_unprepare(pcie_phy->clk);
83
84 return 0;
85 }
86
87 static int ast2600_phy_set_mode(struct phy *phy, enum phy_mode mode,
88 int submode)
89 {
90 struct aspeed_pcie_phy *pcie_phy = phy_get_drvdata(phy);
91
92 switch (submode) {
93 case PHY_MODE_PCIE_RC:
94 writel(AST2600_PORT_TYPE(0x3), pcie_phy->reg + PEHR_GLOBAL);
95 break;
96 default:
97 dev_err(&phy->dev, "Unsupported submode %d\n", submode);
98 return -EINVAL;
99 }
100
101 return 0;
102 }
103
104 static const struct phy_ops ast2600_phy_ops = {
105 .init = ast2600_phy_init,
106 .exit = ast2600_phy_exit,
107 .set_mode = ast2600_phy_set_mode,
108 .owner = THIS_MODULE,
109 };
110
111 static int ast2700_phy_init(struct phy *phy)
112 {
113 struct aspeed_pcie_phy *pcie_phy = phy_get_drvdata(phy);
114
115 return clk_prepare_enable(pcie_phy->clk);
116 }
117
118 static int ast2700_phy_exit(struct phy *phy)
119 {
120 struct aspeed_pcie_phy *pcie_phy = phy_get_drvdata(phy);
121
122 clk_disable_unprepare(pcie_phy->clk);
123
124 return 0;
125 }
126
127 static int ast2700_phy_set_mode(struct phy *phy, enum phy_mode mode,
128 int submode)
129 {
130 struct aspeed_pcie_phy *pcie_phy = phy_get_drvdata(phy);
131 u32 cfg_val;
132
133 switch (submode) {
134 case PHY_MODE_PCIE_RC:
135 writel(0, pcie_phy->reg + PEHR_MISC_278);
136 writel(SEL_INTERNAL_RESET, pcie_phy->reg + PEHR_MISC_280);
137 writel(POSTED_DATA_CREDITS(0xc0) | POSTED_HEADER_CREDITS(0xa),
138 pcie_phy->reg + PEHR_MISC_70);
139 writel(COMPLETION_DATA_CREDITS(0x30) | COMPLETION_HEADER_CREDITS(0x8),
140 pcie_phy->reg + PEHR_MISC_78);
141 writel(LOCAL_SCALE_SUP, pcie_phy->reg + PEHR_MISC_58);
142 writel(CONFIG_RC_DEVICE, pcie_phy->reg + PEHR_MISC_5C);
> 143 cfg_val = readl(pcie_phy->reg + PEHR_MISC_60);
144 FIELD_MODIFY(AST2700_PORT_TYPE_MASK, &cfg_val,
145 PORT_TYPE_ROOT);
146 writel(cfg_val, pcie_phy->reg + PEHR_MISC_60);
147 writel(ASSERT_INTERNAL_RESET | SET_TO_DOWNSTREAM,
148 pcie_phy->reg + PEHR_MISC_278);
149 break;
150 default:
151 dev_err(&phy->dev, "Unsupported submode %d\n", submode);
152 return -EINVAL;
153 }
154
155 return 0;
156 }
157
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki