mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-23 20:53:53 +08:00
drm: Don't call drm_dev_set_unique from platform drivers
Since
commit e112e593b2
Author: Nicolas Iooss <nicolas.iooss_linux@m4x.org>
Date: Fri Dec 11 11:20:28 2015 +0100
drm: use dev_name as default unique name in drm_dev_alloc()
we're using a reasonable default which should work for everyone. Only
mtk, rcar-du and sun4i are affected, and as kms-only drivers without
any rendering support no one should ever care about the unique name
v2: Rebase on top of mediatek.
Cc: Philipp Zabel <p.zabel@pengutronix.de>
Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1466499262-18717-5-git-send-email-daniel.vetter@ffwll.ch
This commit is contained in:
parent
405e61a461
commit
a742946a1b
@ -299,10 +299,9 @@ void drm_minor_release(struct drm_minor *minor)
|
||||
* callbacks implemented by the driver. The driver then needs to initialize all
|
||||
* the various subsystems for the drm device like memory management, vblank
|
||||
* handling, modesetting support and intial output configuration plus obviously
|
||||
* initialize all the corresponding hardware bits. An important part of this is
|
||||
* also calling drm_dev_set_unique() to set the userspace-visible unique name of
|
||||
* this device instance. Finally when everything is up and running and ready for
|
||||
* userspace the device instance can be published using drm_dev_register().
|
||||
* initialize all the corresponding hardware bits. Finally when everything is up
|
||||
* and running and ready for userspace the device instance can be published
|
||||
* using drm_dev_register().
|
||||
*
|
||||
* There is also deprecated support for initalizing device instances using
|
||||
* bus-specific helpers and the ->load() callback. But due to
|
||||
@ -324,6 +323,14 @@ void drm_minor_release(struct drm_minor *minor)
|
||||
* dev_priv field of &drm_device.
|
||||
*/
|
||||
|
||||
static int drm_dev_set_unique(struct drm_device *dev, const char *name)
|
||||
{
|
||||
kfree(dev->unique);
|
||||
dev->unique = kstrdup(name, GFP_KERNEL);
|
||||
|
||||
return dev->unique ? 0 : -ENOMEM;
|
||||
}
|
||||
|
||||
/**
|
||||
* drm_put_dev - Unregister and release a DRM device
|
||||
* @dev: DRM device
|
||||
@ -742,26 +749,6 @@ void drm_dev_unregister(struct drm_device *dev)
|
||||
}
|
||||
EXPORT_SYMBOL(drm_dev_unregister);
|
||||
|
||||
/**
|
||||
* drm_dev_set_unique - Set the unique name of a DRM device
|
||||
* @dev: device of which to set the unique name
|
||||
* @name: unique name
|
||||
*
|
||||
* Sets the unique name of a DRM device using the specified string. Drivers
|
||||
* can use this at driver probe time if the unique name of the devices they
|
||||
* drive is static.
|
||||
*
|
||||
* Return: 0 on success or a negative error code on failure.
|
||||
*/
|
||||
int drm_dev_set_unique(struct drm_device *dev, const char *name)
|
||||
{
|
||||
kfree(dev->unique);
|
||||
dev->unique = kstrdup(name, GFP_KERNEL);
|
||||
|
||||
return dev->unique ? 0 : -ENOMEM;
|
||||
}
|
||||
EXPORT_SYMBOL(drm_dev_set_unique);
|
||||
|
||||
/*
|
||||
* DRM Core
|
||||
* The DRM core module initializes all global DRM objects and makes them
|
||||
|
@ -280,8 +280,6 @@ static int mtk_drm_bind(struct device *dev)
|
||||
if (!drm)
|
||||
return -ENOMEM;
|
||||
|
||||
drm_dev_set_unique(drm, dev_name(dev));
|
||||
|
||||
drm->dev_private = private;
|
||||
private->drm = drm;
|
||||
|
||||
|
@ -319,8 +319,6 @@ static int rcar_du_probe(struct platform_device *pdev)
|
||||
if (!ddev)
|
||||
return -ENOMEM;
|
||||
|
||||
drm_dev_set_unique(ddev, dev_name(&pdev->dev));
|
||||
|
||||
rcdu->ddev = ddev;
|
||||
ddev->dev_private = rcdu;
|
||||
|
||||
|
@ -135,10 +135,6 @@ static int sun4i_drv_bind(struct device *dev)
|
||||
if (!drm)
|
||||
return -ENOMEM;
|
||||
|
||||
ret = drm_dev_set_unique(drm, dev_name(drm->dev));
|
||||
if (ret)
|
||||
goto free_drm;
|
||||
|
||||
drv = devm_kzalloc(dev, sizeof(*drv), GFP_KERNEL);
|
||||
if (!drv) {
|
||||
ret = -ENOMEM;
|
||||
|
@ -1080,7 +1080,6 @@ void drm_dev_ref(struct drm_device *dev);
|
||||
void drm_dev_unref(struct drm_device *dev);
|
||||
int drm_dev_register(struct drm_device *dev, unsigned long flags);
|
||||
void drm_dev_unregister(struct drm_device *dev);
|
||||
int drm_dev_set_unique(struct drm_device *dev, const char *name);
|
||||
|
||||
struct drm_minor *drm_minor_acquire(unsigned int minor_id);
|
||||
void drm_minor_release(struct drm_minor *minor);
|
||||
|
Loading…
Reference in New Issue
Block a user