Hi Laurent, On Thu, Apr 20, 2023 at 06:39:47PM +0300, Laurent Pinchart wrote: > > +struct ipu6_bus_device { > > + struct device dev; > > + struct list_head list; > > + void *pdata; > > + struct ipu6_bus_driver *adrv; > > + struct ipu6_mmu *mmu; > > + struct ipu6_device *isp; > > + struct ipu6_subsystem_trace_config *trace_cfg; > > + struct ipu6_buttress_ctrl *ctrl; > > + u64 dma_mask; > > + > > + const struct firmware *fw; > > Is there a firmware per device ? I may have understood things wrong, but > I thought the whole point of this architecture was to have a base PCI > device running a firmware, exposing multiple functions (ISYS and PSYS), > and implementing separate drivers for those functions. Ah, no. There's one for ISYS and another for PSYS. Because why would you have just one when you can have two? :-) -- Sakari Ailus