mirror of https://gitee.com/openkylin/linux.git
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: Daniel Vetter <daniel.vetter@intel.com> Reviewed-by: Dave 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
This commit is contained in:
parent
90ad200b4c
commit
dad75a5208
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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 *);
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -39,7 +39,7 @@ static size_t roundup_gem_size(size_t size)
|
|||
void armada_gem_free_object(struct drm_gem_object *obj)
|
||||
{
|
||||
struct armada_gem_object *dobj = drm_to_armada_gem(obj);
|
||||
struct armada_private *priv = obj->dev->dev_private;
|
||||
struct armada_private *priv = drm_to_armada_dev(obj->dev);
|
||||
|
||||
DRM_DEBUG_DRIVER("release obj %p\n", dobj);
|
||||
|
||||
|
@ -77,7 +77,7 @@ void armada_gem_free_object(struct drm_gem_object *obj)
|
|||
int
|
||||
armada_gem_linear_back(struct drm_device *dev, struct armada_gem_object *obj)
|
||||
{
|
||||
struct armada_private *priv = dev->dev_private;
|
||||
struct armada_private *priv = drm_to_armada_dev(dev);
|
||||
size_t size = obj->obj.size;
|
||||
|
||||
if (obj->page || obj->linear)
|
||||
|
|
|
@ -344,7 +344,7 @@ static int armada_overlay_set_property(struct drm_plane *plane,
|
|||
struct drm_plane_state *state, struct drm_property *property,
|
||||
uint64_t val)
|
||||
{
|
||||
struct armada_private *priv = plane->dev->dev_private;
|
||||
struct armada_private *priv = drm_to_armada_dev(plane->dev);
|
||||
|
||||
#define K2R(val) (((val) >> 0) & 0xff)
|
||||
#define K2G(val) (((val) >> 8) & 0xff)
|
||||
|
@ -412,7 +412,7 @@ static int armada_overlay_get_property(struct drm_plane *plane,
|
|||
const struct drm_plane_state *state, struct drm_property *property,
|
||||
uint64_t *val)
|
||||
{
|
||||
struct armada_private *priv = plane->dev->dev_private;
|
||||
struct armada_private *priv = drm_to_armada_dev(plane->dev);
|
||||
|
||||
#define C2K(c,s) (((c) >> (s)) & 0xff)
|
||||
#define R2BGR(r,g,b,s) (C2K(r,s) << 0 | C2K(g,s) << 8 | C2K(b,s) << 16)
|
||||
|
@ -505,7 +505,7 @@ static const struct drm_prop_enum_list armada_drm_colorkey_enum_list[] = {
|
|||
|
||||
static int armada_overlay_create_properties(struct drm_device *dev)
|
||||
{
|
||||
struct armada_private *priv = dev->dev_private;
|
||||
struct armada_private *priv = drm_to_armada_dev(dev);
|
||||
|
||||
if (priv->colorkey_prop)
|
||||
return 0;
|
||||
|
@ -539,7 +539,7 @@ static int armada_overlay_create_properties(struct drm_device *dev)
|
|||
|
||||
int armada_overlay_plane_create(struct drm_device *dev, unsigned long crtcs)
|
||||
{
|
||||
struct armada_private *priv = dev->dev_private;
|
||||
struct armada_private *priv = drm_to_armada_dev(dev);
|
||||
struct drm_mode_object *mobj;
|
||||
struct drm_plane *overlay;
|
||||
int ret;
|
||||
|
|
Loading…
Reference in New Issue