Hi Andy, Thank you for the patch. On Mon, Aug 17, 2020 at 07:07:30PM +0300, Andy Shevchenko wrote: > It's unclear why driver repeats the code from PCI core. > Drop it for good. You may want to mention that pci_set_master() is already called by the cio2_pci_probe(). Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> > --- > v2: new patch > drivers/media/pci/intel/ipu3/ipu3-cio2.c | 26 +++++------------------- > 1 file changed, 5 insertions(+), 21 deletions(-) > > diff --git a/drivers/media/pci/intel/ipu3/ipu3-cio2.c b/drivers/media/pci/intel/ipu3/ipu3-cio2.c > index 7bcde3ba8f6e..57310d7874ce 100644 > --- a/drivers/media/pci/intel/ipu3/ipu3-cio2.c > +++ b/drivers/media/pci/intel/ipu3/ipu3-cio2.c > @@ -1711,24 +1711,6 @@ static void cio2_queues_exit(struct cio2_device *cio2) > > /**************** PCI interface ****************/ > > -static int cio2_pci_config_setup(struct pci_dev *dev) > -{ > - u16 pci_command; > - int r = pci_enable_msi(dev); > - > - if (r) { > - dev_err(&dev->dev, "failed to enable MSI (%d)\n", r); > - return r; > - } > - > - pci_read_config_word(dev, PCI_COMMAND, &pci_command); > - pci_command |= PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER | > - PCI_COMMAND_INTX_DISABLE; > - pci_write_config_word(dev, PCI_COMMAND, pci_command); > - > - return 0; > -} > - > static int cio2_pci_probe(struct pci_dev *pci_dev, > const struct pci_device_id *id) > { > @@ -1774,9 +1756,11 @@ static int cio2_pci_probe(struct pci_dev *pci_dev, > return -ENODEV; > } > > - r = cio2_pci_config_setup(pci_dev); > - if (r) > - return -ENODEV; > + r = pci_enable_msi(pci_dev); > + if (r) { > + dev_err(&pci_dev->dev, "failed to enable MSI (%d)\n", r); > + return r; > + } > > r = cio2_fbpt_init_dummy(cio2); > if (r) -- Regards, Laurent Pinchart