On Fri, 23 Dec 2022 15:35:58 +0300 Dmitry Osipenko <digetx@xxxxxxxxx> wrote: > 28.11.2022 18:23, Luca Ceresoli пишет: ... > > +static const struct tegra_vip_ops tegra20_vip_ops = { > > + .vip_start_streaming = tegra20_vip_start_streaming, > > +}; > > + > > +const struct tegra_vip_soc tegra20_vip_soc = { > > + .ops = &tegra20_vip_ops, > > +}; > > Shouldn't this be placed in vip.c? Indeed. Which means tegra210_csi_soc can be moved as well, so I'm adding a small patch to the series to do that. > Also looks like patch #20 won't link > because tegra20_vip_soc is defined in patch #21. You're right, we have a chicken-egg problem here. One solution would be leaving tegra_vip_of_id_table empty in patch 20 and fill it only in patch 21, but that would not be bisectable as patch 20 would introduce code that nobody uses until patch 21. So I think it's better to squash together patches 20+21. -- Luca Ceresoli, Bootlin Embedded Linux and Kernel engineering https://bootlin.com