OSDN Git Service

Merge branch 'drm-armada-fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-cubox into...
authorDave Airlie <airlied@redhat.com>
Thu, 6 Mar 2014 23:04:32 +0000 (09:04 +1000)
committerDave Airlie <airlied@redhat.com>
Thu, 6 Mar 2014 23:04:32 +0000 (09:04 +1000)
fix for kfifo api change.
* 'drm-armada-fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-cubox:
  DRM: armada: fix use of kfifo_put()

1  2 
drivers/gpu/drm/armada/armada_drv.c

@@@ -68,15 -68,7 +68,7 @@@ void __armada_drm_queue_unref_work(stru
  {
        struct armada_private *priv = dev->dev_private;
  
-       /*
-        * Yes, we really must jump through these hoops just to store a
-        * _pointer_ to something into the kfifo.  This is utterly insane
-        * and idiotic, because it kfifo requires the _data_ pointed to by
-        * the pointer const, not the pointer itself.  Not only that, but
-        * you have to pass a pointer _to_ the pointer you want stored.
-        */
-       const struct drm_framebuffer *silly_api_alert = fb;
-       WARN_ON(!kfifo_put(&priv->fb_unref, &silly_api_alert));
+       WARN_ON(!kfifo_put(&priv->fb_unref, fb));
        schedule_work(&priv->fb_unref_work);
  }
  
@@@ -128,7 -120,6 +120,7 @@@ static int armada_drm_load(struct drm_d
                return -ENOMEM;
        }
  
 +      platform_set_drvdata(dev->platformdev, dev);
        dev->dev_private = priv;
  
        /* Get the implementation specific driver data. */
@@@ -382,7 -373,7 +374,7 @@@ static int armada_drm_probe(struct plat
  
  static int armada_drm_remove(struct platform_device *pdev)
  {
 -      drm_platform_exit(&armada_drm_driver, pdev);
 +      drm_put_dev(platform_get_drvdata(pdev));
        return 0;
  }