Commit dad75a52 authored by Daniel Vetter's avatar Daniel Vetter
Browse files

drm/armada: Don't use drm_device->dev_private



Upcasting using a container_of macro is more typesafe, faster and
easier for the compiler to optimize.

Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
Reviewed-by: default avatarDave Airlie <airlied@redhat.com>
Cc: Russell King <linux@armlinux.org.uk>
Link: https://patchwork.freedesktop.org/patch/msgid/20200904143941.110665-3-daniel.vetter@ffwll.ch
parent 90ad200b
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -757,7 +757,7 @@ static int armada_drm_crtc_cursor_move(struct drm_crtc *crtc, int x, int y)
static void armada_drm_crtc_destroy(struct drm_crtc *crtc)
{
	struct armada_crtc *dcrtc = drm_to_armada_crtc(crtc);
	struct armada_private *priv = crtc->dev->dev_private;
	struct armada_private *priv = drm_to_armada_dev(crtc->dev);

	if (dcrtc->cursor_obj)
		drm_gem_object_put(&dcrtc->cursor_obj->obj);
@@ -901,7 +901,7 @@ static int armada_drm_crtc_create(struct drm_device *drm, struct device *dev,
	struct resource *res, int irq, const struct armada_variant *variant,
	struct device_node *port)
{
	struct armada_private *priv = drm->dev_private;
	struct armada_private *priv = drm_to_armada_dev(drm);
	struct armada_crtc *dcrtc;
	struct drm_plane *primary;
	void __iomem *base;
+1 −1
Original line number Diff line number Diff line
@@ -19,7 +19,7 @@ static int armada_debugfs_gem_linear_show(struct seq_file *m, void *data)
{
	struct drm_info_node *node = m->private;
	struct drm_device *dev = node->minor->dev;
	struct armada_private *priv = dev->dev_private;
	struct armada_private *priv = drm_to_armada_dev(dev);
	struct drm_printer p = drm_seq_file_printer(m);

	mutex_lock(&priv->linear_lock);
+2 −0
Original line number Diff line number Diff line
@@ -73,6 +73,8 @@ struct armada_private {
#endif
};

#define drm_to_armada_dev(dev) container_of(dev, struct armada_private, drm)

int armada_fbdev_init(struct drm_device *);
void armada_fbdev_fini(struct drm_device *);

+1 −3
Original line number Diff line number Diff line
@@ -106,8 +106,6 @@ static int armada_drm_bind(struct device *dev)
		return ret;
	}

	priv->drm.dev_private = priv;

	dev_set_drvdata(dev, &priv->drm);

	/* Mode setting support */
@@ -169,7 +167,7 @@ static int armada_drm_bind(struct device *dev)
static void armada_drm_unbind(struct device *dev)
{
	struct drm_device *drm = dev_get_drvdata(dev);
	struct armada_private *priv = drm->dev_private;
	struct armada_private *priv = drm_to_armada_dev(drm);

	drm_kms_helper_poll_fini(&priv->drm);
	armada_fbdev_fini(&priv->drm);
+2 −2
Original line number Diff line number Diff line
@@ -117,7 +117,7 @@ static const struct drm_fb_helper_funcs armada_fb_helper_funcs = {

int armada_fbdev_init(struct drm_device *dev)
{
	struct armada_private *priv = dev->dev_private;
	struct armada_private *priv = drm_to_armada_dev(dev);
	struct drm_fb_helper *fbh;
	int ret;

@@ -151,7 +151,7 @@ int armada_fbdev_init(struct drm_device *dev)

void armada_fbdev_fini(struct drm_device *dev)
{
	struct armada_private *priv = dev->dev_private;
	struct armada_private *priv = drm_to_armada_dev(dev);
	struct drm_fb_helper *fbh = priv->fbdev;

	if (fbh) {
Loading