20.12.2022 19:02, Sumit Gupta пишет: > static int tegra_mc_interconnect_setup(struct tegra_mc *mc) > { > + struct tegra_icc_node *tnode; > struct icc_node *node; > unsigned int i; > int err; > @@ -792,7 +794,11 @@ static int tegra_mc_interconnect_setup(struct tegra_mc *mc) > mc->provider.data = &mc->provider; > mc->provider.set = mc->soc->icc_ops->set; > mc->provider.aggregate = mc->soc->icc_ops->aggregate; > - mc->provider.xlate_extended = mc->soc->icc_ops->xlate_extended; > + mc->provider.get_bw = mc->soc->icc_ops->get_bw; > + if (mc->soc->icc_ops->xlate) > + mc->provider.xlate = mc->soc->icc_ops->xlate; > + if (mc->soc->icc_ops->xlate_extended) > + mc->provider.xlate_extended = mc->soc->icc_ops->xlate_extended; > > err = icc_provider_add(&mc->provider); > if (err) > @@ -814,6 +820,10 @@ static int tegra_mc_interconnect_setup(struct tegra_mc *mc) > goto remove_nodes; > > for (i = 0; i < mc->soc->num_clients; i++) { > + tnode = kzalloc(sizeof(*tnode), GFP_KERNEL); devm_kzalloc On the other hand, the tnode is unnecessary at all. Use struct tegra_mc_client for sw clients.