i2c: ismt: improve usage of devres API
pcim_release() will release any requested region. There is no need to duplicate this effort in the driver. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
This commit is contained in:
parent
6109dbd618
commit
600ca08023
|
@ -904,8 +904,7 @@ ismt_probe(struct pci_dev *pdev, const struct pci_device_id *id)
|
|||
priv->smba = pcim_iomap(pdev, SMBBAR, len);
|
||||
if (!priv->smba) {
|
||||
dev_err(&pdev->dev, "Unable to ioremap SMBus BAR\n");
|
||||
err = -ENODEV;
|
||||
goto fail;
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
if ((pci_set_dma_mask(pdev, DMA_BIT_MASK(64)) != 0) ||
|
||||
|
@ -915,32 +914,26 @@ ismt_probe(struct pci_dev *pdev, const struct pci_device_id *id)
|
|||
DMA_BIT_MASK(32)) != 0)) {
|
||||
dev_err(&pdev->dev, "pci_set_dma_mask fail %p\n",
|
||||
pdev);
|
||||
err = -ENODEV;
|
||||
goto fail;
|
||||
return -ENODEV;
|
||||
}
|
||||
}
|
||||
|
||||
err = ismt_dev_init(priv);
|
||||
if (err)
|
||||
goto fail;
|
||||
return err;
|
||||
|
||||
ismt_hw_init(priv);
|
||||
|
||||
err = ismt_int_init(priv);
|
||||
if (err)
|
||||
goto fail;
|
||||
return err;
|
||||
|
||||
err = i2c_add_adapter(&priv->adapter);
|
||||
if (err) {
|
||||
dev_err(&pdev->dev, "Failed to add SMBus iSMT adapter\n");
|
||||
err = -ENODEV;
|
||||
goto fail;
|
||||
return -ENODEV;
|
||||
}
|
||||
return 0;
|
||||
|
||||
fail:
|
||||
pci_release_region(pdev, SMBBAR);
|
||||
return err;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -952,7 +945,6 @@ static void ismt_remove(struct pci_dev *pdev)
|
|||
struct ismt_priv *priv = pci_get_drvdata(pdev);
|
||||
|
||||
i2c_del_adapter(&priv->adapter);
|
||||
pci_release_region(pdev, SMBBAR);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue
Block a user