On Fri, Nov 01, 2024 at 04:40:50PM +0100, Krzysztof Kozlowski wrote: > On 31/10/2024 18:24, Jan Petrous wrote: > > On Thu, Oct 31, 2024 at 06:16:46PM +0100, Jan Petrous wrote: > >> On Thu, Oct 31, 2024 at 04:44:45PM +0100, Krzysztof Kozlowski wrote: > >>> On 31/10/2024 15:43, Jan Petrous wrote: > >>>> On Tue, Oct 29, 2024 at 08:13:40AM +0100, Krzysztof Kozlowski wrote: > >>>>> On Mon, Oct 28, 2024 at 09:24:56PM +0100, Jan Petrous (OSS) wrote: > >>>>>> + plat->init = s32_gmac_init; > >>>>>> + plat->exit = s32_gmac_exit; > >>>>>> + plat->fix_mac_speed = s32_fix_mac_speed; > >>>>>> + > >>>>>> + plat->bsp_priv = gmac; > >>>>>> + > >>>>>> + return stmmac_pltfr_probe(pdev, plat, &res); > >>>>>> +} > >>>>>> + > >>>>>> +static const struct of_device_id s32_dwmac_match[] = { > >>>>>> + { .compatible = "nxp,s32g2-dwmac" }, > >>>>>> + { .compatible = "nxp,s32g3-dwmac" }, > >>>>>> + { .compatible = "nxp,s32r-dwmac" }, > >>>>> > >>>>> Why do you need three same entries? > >>>>> > >>>> > >>>> We have three different SoCs and in v3 review you told me > >>>> to return all back: > >>>> https://patchwork.kernel.org/comment/26067257/ > >>> > >>> It was about binding, not driver. > >>> > >>> I also asked there: use proper fallback and compatibility. Both comments > >>> of course affect your driver, but why choosing only first part? > >>> > >> > >> Does it mean I should remove first two (G2/G3) members from match array > >> and use "nxp,s32r-dwmac" as fallback for G2/G3? And similarly change > >> the bindings to: > >> > >> compatible: > >> oneOf: > >> - const: nxp,s32r-dwmac > >> - items: > >> - enum: > >> - nxp,s32g2-dwmac > >> - nxp,s32g3-dwmac > >> - const: nxp,s32r-dwmac > >> > >> And add here, into the driver, those members back when some device > >> specific feature will be needed? Am I understand your hints right? > >> > > > > Sorry, it's not correct. This way I'm not able to detect S32R which is > > the only one with higher speed. > > > > Then I could use the G2 as fallback I think, Ie.: > > > > compatible: > > oneOf: > > - const: nxp,s32g2-dwmac > > - items: > > - enum: > > - nxp,s32g3-dwmac > > - nxp,s32r-dwmac > > - const: nxp,s32g2-dwmac > > I don't understand. In both cases you can 'detect r', if by this you > meant match and bind. I don't care which one is the fallback, but if one > does not work it points to different issues with your code. > I see. I will use the last variant (with s32g2 as fallback) in v5. BR. /Jan