On Wed, 7 Feb 2024 at 01:34, Abel Vesa <abel.vesa@xxxxxxxxxx> wrote: > > Some newer SPMI controllers support multiple bus masters. > Such a master can control multiple slave devices. The generic > framework needs to be able to pass on the master id to the > controller-specific driver. So do that. The framework will > check if the devicetree child nodes are actually bus masters > and will register the devices for each master. The legacy > approach will still be supported for backwards compatibility. Please remind me, are those two actual bus musters driving a single bus in parallel or two SPMI buses being handled by a single device? In the latter case this implementation is incorrect. There should be multiple spmi_controller instances, one for each bus. Allocate them in a loop and set ctrl->dev.of_node after allocating. > > Signed-off-by: Abel Vesa <abel.vesa@xxxxxxxxxx> > --- > drivers/spmi/spmi-mtk-pmif.c | 6 ++-- > drivers/spmi/spmi-pmic-arb.c | 10 +++--- > drivers/spmi/spmi.c | 76 ++++++++++++++++++++++++++++++-------------- > include/linux/spmi.h | 10 +++--- > 4 files changed, 67 insertions(+), 35 deletions(-) -- With best wishes Dmitry