Hi, On Thu, 2023-07-27 at 15:15 +0800, bingbu.cao@xxxxxxxxx wrote: > From: Bingbu Cao <bingbu.cao@xxxxxxxxx> > > Input system driver do basic isys hardware setup and irq handling > and work with fwnode and v4l2 to register the ISYS v4l2 devices. > + media_device_pci_init(&isys->media_dev, > + pdev, IPU6_MEDIA_DEV_MODEL_NAME); > + > + strscpy(isys->v4l2_dev.name, isys->media_dev.model, > + sizeof(isys->v4l2_dev.name)); > + > + ret = media_device_register(&isys->media_dev); > + if (ret < 0) > + goto out_media_device_unregister; ... > +out_media_device_unregister: > + media_device_unregister(&isys->media_dev); > + media_device_cleanup(&isys->media_dev); You should only call media_device_cleanup() if media_device_register() fails. > +static const struct pci_device_id isys_pci_tbl[] = { > + { PCI_VDEVICE(INTEL, IPU6_PCI_ID) }, > + { PCI_VDEVICE(INTEL, IPU6SE_PCI_ID) }, > + { PCI_VDEVICE(INTEL, IPU6EP_ADL_P_PCI_ID) }, > + { PCI_VDEVICE(INTEL, IPU6EP_ADL_N_PCI_ID) }, > + { PCI_VDEVICE(INTEL, IPU6EP_RPL_P_PCI_ID) }, > + { PCI_VDEVICE(INTEL, IPU6EP_MTL_PCI_ID) }, > + { } > +}; Unused > +static const struct auxiliary_device_id ipu6_isys_id_table[] = { > + { > + .name = "intel_ipu6.isys", > + .driver_data = > (kernel_ulong_t)&ipu6_isys_auxdrv_data, > + }, > +}; Missing sentinel {}. Best regards, Andreas