Hi Krzysztof, >> + if (npins < 0) >> + return dev_err_probe(dev, -EINVAL, >> + "Failed to read 'pinmux' in node %s\n", >> + grp->data.name); > > I do not see how this change is related. Looks you are mixing cleanups > with refactoring into MFD cell. These are two different things. Yes, I also included some small refactoring changes. I didn't think they were important enough to include them in a separate commit. Would you like me to separate them in another commit? >> - if (mem_regions == 0 || mem_regions >= 10000) { >> - dev_err(&pdev->dev, "mem_regions is invalid: %u\n", mem_regions); >> - return -EINVAL; >> - } >> + /* one MSCR and one IMCR region per SIUL2 module */ > > How is this related to converion into MFD cell? We no longer parse the device tree to configure the regmaps, we instead get them from the mfd driver. This is the main point of converting this driver into an mfd cell. > > Still looks like an ABI break. > Yes, the driver no longer adheres to the nxp,s32g2-siul2-pinctrl.yaml binding. The intention is to deprecate that binding since it doesn't correctly describe the hardware. I am not sure on how to do this. I thought that changing this driver and removing the old compatible would be enough. Would it be better to add another file which would contain the old probing function(and match the old binding) so clients would be able to select the old implementation? > > Best regards, > Krzysztof > Best regards, Andrei