On Wed, Dec 4, 2019 at 7:46 PM Thomas Zimmermann <tzimmermann@xxxxxxx> wrote: > > The load/unload callbacks in struct drm_driver are deprecated. Remove > them and call functions explicitly. > > Signed-off-by: Thomas Zimmermann <tzimmermann@xxxxxxx> Acked-by: Patrik Jakobsson <patrik.r.jakobsson@xxxxxxxxx> Thanks for the patch. -Patrik > --- > drivers/gpu/drm/gma500/psb_drv.c | 43 +++++++++++++++++++++++++++----- > 1 file changed, 37 insertions(+), 6 deletions(-) > > diff --git a/drivers/gpu/drm/gma500/psb_drv.c b/drivers/gpu/drm/gma500/psb_drv.c > index 192a39e52617..52591416f8fe 100644 > --- a/drivers/gpu/drm/gma500/psb_drv.c > +++ b/drivers/gpu/drm/gma500/psb_drv.c > @@ -23,7 +23,6 @@ > #include <drm/drm_file.h> > #include <drm/drm_ioctl.h> > #include <drm/drm_irq.h> > -#include <drm/drm_pci.h> > #include <drm/drm_pciids.h> > #include <drm/drm_vblank.h> > > @@ -427,14 +426,48 @@ static long psb_unlocked_ioctl(struct file *filp, unsigned int cmd, > > static int psb_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) > { > - return drm_get_pci_dev(pdev, ent, &driver); > -} > + struct drm_device *dev; > + int ret; > + > + ret = pci_enable_device(pdev); > + if (ret) > + return ret; > + > + dev = drm_dev_alloc(&driver, &pdev->dev); > + if (IS_ERR(dev)) { > + ret = PTR_ERR(dev); > + goto err_pci_disable_device; > + } > + > + dev->pdev = pdev; > + pci_set_drvdata(pdev, dev); > + > + ret = psb_driver_load(dev, ent->driver_data); > + if (ret) > + goto err_drm_dev_put; > > + ret = drm_dev_register(dev, ent->driver_data); > + if (ret) > + goto err_psb_driver_unload; > + > + return 0; > + > +err_psb_driver_unload: > + psb_driver_unload(dev); > +err_drm_dev_put: > + drm_dev_put(dev); > +err_pci_disable_device: > + pci_disable_device(pdev); > + return ret; > +} > > static void psb_pci_remove(struct pci_dev *pdev) > { > struct drm_device *dev = pci_get_drvdata(pdev); > - drm_put_dev(dev); > + > + drm_dev_unregister(dev); > + psb_driver_unload(dev); > + drm_dev_put(dev); > } > > static const struct dev_pm_ops psb_pm_ops = { > @@ -467,8 +500,6 @@ static const struct file_operations psb_gem_fops = { > > static struct drm_driver driver = { > .driver_features = DRIVER_MODESET | DRIVER_GEM, > - .load = psb_driver_load, > - .unload = psb_driver_unload, > .lastclose = drm_fb_helper_lastclose, > > .num_ioctls = ARRAY_SIZE(psb_ioctls), > -- > 2.23.0 > _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel