hc
2023-11-06 e3e12f52b214121840b44c91de5b3e5af5d3eb84
kernel/drivers/net/ethernet/stmicro/stmmac/hwif.c
....@@ -23,6 +23,7 @@
2323 return reg & GENMASK(7, 0);
2424 }
2525
26
+#ifdef CONFIG_STMMAC_FULL
2627 static void stmmac_dwmac_mode_quirk(struct stmmac_priv *priv)
2728 {
2829 struct mac_device_info *mac = priv->hw;
....@@ -68,6 +69,7 @@
6869 stmmac_dwmac_mode_quirk(priv);
6970 return 0;
7071 }
72
+#endif
7173
7274 static const struct stmmac_hwif_entry {
7375 bool gmac;
....@@ -78,13 +80,16 @@
7880 const void *desc;
7981 const void *dma;
8082 const void *mac;
83
+#ifdef CONFIG_STMMAC_PTP
8184 const void *hwtimestamp;
85
+#endif
8286 const void *mode;
8387 const void *tc;
8488 int (*setup)(struct stmmac_priv *priv);
8589 int (*quirks)(struct stmmac_priv *priv);
8690 } stmmac_hw[] = {
8791 /* NOTE: New HW versions shall go to the end of this table */
92
+#ifdef CONFIG_STMMAC_FULL
8893 {
8994 .gmac = false,
9095 .gmac4 = false,
....@@ -97,7 +102,9 @@
97102 .desc = NULL,
98103 .dma = &dwmac100_dma_ops,
99104 .mac = &dwmac100_ops,
105
+#ifdef CONFIG_STMMAC_PTP
100106 .hwtimestamp = &stmmac_ptp,
107
+#endif
101108 .mode = NULL,
102109 .tc = NULL,
103110 .setup = dwmac100_setup,
....@@ -114,7 +121,9 @@
114121 .desc = NULL,
115122 .dma = &dwmac1000_dma_ops,
116123 .mac = &dwmac1000_ops,
124
+#ifdef CONFIG_STMMAC_PTP
117125 .hwtimestamp = &stmmac_ptp,
126
+#endif
118127 .mode = NULL,
119128 .tc = NULL,
120129 .setup = dwmac1000_setup,
....@@ -131,7 +140,9 @@
131140 .desc = &dwmac4_desc_ops,
132141 .dma = &dwmac4_dma_ops,
133142 .mac = &dwmac4_ops,
143
+#ifdef CONFIG_STMMAC_PTP
134144 .hwtimestamp = &stmmac_ptp,
145
+#endif
135146 .mode = NULL,
136147 .tc = NULL,
137148 .setup = dwmac4_setup,
....@@ -148,12 +159,16 @@
148159 .desc = &dwmac4_desc_ops,
149160 .dma = &dwmac4_dma_ops,
150161 .mac = &dwmac410_ops,
162
+#ifdef CONFIG_STMMAC_PTP
151163 .hwtimestamp = &stmmac_ptp,
164
+#endif
152165 .mode = &dwmac4_ring_mode_ops,
153166 .tc = NULL,
154167 .setup = dwmac4_setup,
155168 .quirks = NULL,
156
- }, {
169
+ },
170
+#endif /* CONFIG_STMMAC_FULL */
171
+ {
157172 .gmac = false,
158173 .gmac4 = true,
159174 .xgmac = false,
....@@ -165,12 +180,16 @@
165180 .desc = &dwmac4_desc_ops,
166181 .dma = &dwmac410_dma_ops,
167182 .mac = &dwmac410_ops,
183
+#ifdef CONFIG_STMMAC_PTP
168184 .hwtimestamp = &stmmac_ptp,
185
+#endif
169186 .mode = &dwmac4_ring_mode_ops,
170187 .tc = NULL,
171188 .setup = dwmac4_setup,
172189 .quirks = NULL,
173
- }, {
190
+ },
191
+#ifdef CONFIG_STMMAC_FULL
192
+ {
174193 .gmac = false,
175194 .gmac4 = true,
176195 .xgmac = false,
....@@ -182,7 +201,9 @@
182201 .desc = &dwmac4_desc_ops,
183202 .dma = &dwmac410_dma_ops,
184203 .mac = &dwmac510_ops,
204
+#ifdef CONFIG_STMMAC_PTP
185205 .hwtimestamp = &stmmac_ptp,
206
+#endif
186207 .mode = &dwmac4_ring_mode_ops,
187208 .tc = &dwmac510_tc_ops,
188209 .setup = dwmac4_setup,
....@@ -199,12 +220,15 @@
199220 .desc = &dwxgmac210_desc_ops,
200221 .dma = &dwxgmac210_dma_ops,
201222 .mac = &dwxgmac210_ops,
223
+#ifdef CONFIG_STMMAC_PTP
202224 .hwtimestamp = &stmmac_ptp,
225
+#endif
203226 .mode = NULL,
204227 .tc = NULL,
205228 .setup = dwxgmac2_setup,
206229 .quirks = NULL,
207230 },
231
+#endif
208232 };
209233
210234 int stmmac_hwif_init(struct stmmac_priv *priv)
....@@ -264,7 +288,9 @@
264288 mac->desc = mac->desc ? : entry->desc;
265289 mac->dma = mac->dma ? : entry->dma;
266290 mac->mac = mac->mac ? : entry->mac;
291
+#ifdef CONFIG_STMMAC_PTP
267292 mac->ptp = mac->ptp ? : entry->hwtimestamp;
293
+#endif
268294 mac->mode = mac->mode ? : entry->mode;
269295 mac->tc = mac->tc ? : entry->tc;
270296