Re: [PATCH v2] drm/hisilicon: Add the shutdown for hibmc_pci_driver

From: Thomas Zimmermann
Date: Thu Jun 18 2020 - 07:37:31 EST


Hi

Am 16.04.20 um 03:02 schrieb Tian Tao:
> add the shutdown function to release the resource.

Why is this necessary for hibmc? The other PCI drivers don't require a
shutdown method.

>
> v2:
> Remove the unnecessary unmap function.
>
> Signed-off-by: Tian Tao <tiantao6@xxxxxxxxxxxxx>
> Reviewed-by: Sam Ravnborg <sam@xxxxxxxxxxxx>
> ---
> drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c | 8 +++++++-
> 1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
> index a6fd0c2..0250a10 100644
> --- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
> +++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
> @@ -337,7 +337,7 @@ static int hibmc_pci_probe(struct pci_dev *pdev,
> dev->pdev = pdev;
> pci_set_drvdata(pdev, dev);
>
> - ret = pci_enable_device(pdev);
> + ret = pcim_enable_device(pdev);

This probably makes sense.

Best regards
Thomas

> if (ret) {
> DRM_ERROR("failed to enable pci device: %d\n", ret);
> goto err_free;
> @@ -376,6 +376,11 @@ static void hibmc_pci_remove(struct pci_dev *pdev)
> drm_dev_put(dev);
> }
>
> +static void hibmc_pci_shutdown(struct pci_dev *pdev)
> +{
> + hibmc_pci_remove(pdev);
> +}
> +
> static struct pci_device_id hibmc_pci_table[] = {
> { PCI_VDEVICE(HUAWEI, 0x1711) },
> {0,}
> @@ -386,6 +391,7 @@ static struct pci_driver hibmc_pci_driver = {
> .id_table = hibmc_pci_table,
> .probe = hibmc_pci_probe,
> .remove = hibmc_pci_remove,
> + .shutdown = hibmc_pci_shutdown,
> .driver.pm = &hibmc_pm_ops,
> };
>
>

--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 NÃrnberg, Germany
(HRB 36809, AG NÃrnberg)
GeschÃftsfÃhrer: Felix ImendÃrffer

Attachment: signature.asc
Description: OpenPGP digital signature