drm/exynos/ipp: remove struct exynos_drm_ipp_private
authorAndrzej Hajda <a.hajda@samsung.com>
Thu, 3 Jul 2014 13:10:28 +0000 (15:10 +0200)
committerInki Dae <daeinki@gmail.com>
Sun, 3 Aug 2014 07:52:17 +0000 (16:52 +0900)
struct exynos_drm_ipp_private contains only one pointer so all occurrences
of the struct can be replaced by the pointer itself.

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
drivers/gpu/drm/exynos/exynos_drm_drv.h
drivers/gpu/drm/exynos/exynos_drm_ipp.c
drivers/gpu/drm/exynos/exynos_drm_ipp.h

index dbb0973c8b5bb7268e2d766d53c856541b68cf8d..69a6fa397d75b604174810f71a5aa0304789ac9b 100644 (file)
@@ -237,13 +237,9 @@ struct exynos_drm_g2d_private {
        struct list_head        userptr_list;
 };
 
-struct exynos_drm_ipp_private {
-       struct device   *dev;
-};
-
 struct drm_exynos_file_private {
        struct exynos_drm_g2d_private   *g2d_priv;
-       struct exynos_drm_ipp_private   *ipp_priv;
+       struct device                   *ipp_dev;
        struct file                     *anon_filp;
 };
 
index 5fb89c0206a9b7c1c28c0ca9290573eb740cc9b6..34d185c280c060a472a6eb188267fbdd8294baae 100644 (file)
@@ -308,8 +308,7 @@ int exynos_drm_ipp_get_property(struct drm_device *drm_dev, void *data,
                struct drm_file *file)
 {
        struct drm_exynos_file_private *file_priv = file->driver_priv;
-       struct exynos_drm_ipp_private *priv = file_priv->ipp_priv;
-       struct device *dev = priv->dev;
+       struct device *dev = file_priv->ipp_dev;
        struct ipp_context *ctx = get_ipp_context(dev);
        struct drm_exynos_ipp_prop_list *prop_list = data;
        struct exynos_drm_ippdrv *ippdrv;
@@ -441,8 +440,7 @@ int exynos_drm_ipp_set_property(struct drm_device *drm_dev, void *data,
                struct drm_file *file)
 {
        struct drm_exynos_file_private *file_priv = file->driver_priv;
-       struct exynos_drm_ipp_private *priv = file_priv->ipp_priv;
-       struct device *dev = priv->dev;
+       struct device *dev = file_priv->ipp_dev;
        struct ipp_context *ctx = get_ipp_context(dev);
        struct drm_exynos_ipp_property *property = data;
        struct exynos_drm_ippdrv *ippdrv;
@@ -501,7 +499,7 @@ int exynos_drm_ipp_set_property(struct drm_device *drm_dev, void *data,
                property->prop_id, property->cmd, (int)ippdrv);
 
        /* stored property information and ippdrv in private data */
-       c_node->priv = priv;
+       c_node->dev = dev;
        c_node->property = *property;
        c_node->state = IPP_STATE_IDLE;
 
@@ -929,8 +927,7 @@ int exynos_drm_ipp_queue_buf(struct drm_device *drm_dev, void *data,
                struct drm_file *file)
 {
        struct drm_exynos_file_private *file_priv = file->driver_priv;
-       struct exynos_drm_ipp_private *priv = file_priv->ipp_priv;
-       struct device *dev = priv->dev;
+       struct device *dev = file_priv->ipp_dev;
        struct ipp_context *ctx = get_ipp_context(dev);
        struct drm_exynos_ipp_queue_buf *qbuf = data;
        struct drm_exynos_ipp_cmd_node *c_node;
@@ -1061,9 +1058,8 @@ int exynos_drm_ipp_cmd_ctrl(struct drm_device *drm_dev, void *data,
                struct drm_file *file)
 {
        struct drm_exynos_file_private *file_priv = file->driver_priv;
-       struct exynos_drm_ipp_private *priv = file_priv->ipp_priv;
        struct exynos_drm_ippdrv *ippdrv = NULL;
-       struct device *dev = priv->dev;
+       struct device *dev = file_priv->ipp_dev;
        struct ipp_context *ctx = get_ipp_context(dev);
        struct drm_exynos_ipp_cmd_ctrl *cmd_ctrl = data;
        struct drm_exynos_ipp_cmd_work *cmd_work;
@@ -1775,16 +1771,10 @@ static int ipp_subdrv_open(struct drm_device *drm_dev, struct device *dev,
                struct drm_file *file)
 {
        struct drm_exynos_file_private *file_priv = file->driver_priv;
-       struct exynos_drm_ipp_private *priv;
-
-       priv = kzalloc(sizeof(*priv), GFP_KERNEL);
-       if (!priv)
-               return -ENOMEM;
-       priv->dev = dev;
-       file_priv->ipp_priv = priv;
 
+       file_priv->ipp_dev = dev;
 
-       DRM_DEBUG_KMS("done priv[0x%x]\n", (int)priv);
+       DRM_DEBUG_KMS("done priv[0x%x]\n", (int)dev);
 
        return 0;
 }
@@ -1793,13 +1783,12 @@ static void ipp_subdrv_close(struct drm_device *drm_dev, struct device *dev,
                struct drm_file *file)
 {
        struct drm_exynos_file_private *file_priv = file->driver_priv;
-       struct exynos_drm_ipp_private *priv = file_priv->ipp_priv;
        struct exynos_drm_ippdrv *ippdrv = NULL;
        struct ipp_context *ctx = get_ipp_context(dev);
        struct drm_exynos_ipp_cmd_node *c_node, *tc_node;
        int count = 0;
 
-       DRM_DEBUG_KMS("for priv[0x%x]\n", (int)priv);
+       DRM_DEBUG_KMS("for priv[0x%x]\n", (int)file_priv->ipp_dev);
 
        list_for_each_entry(ippdrv, &exynos_drm_ippdrv_list, drv_list) {
                mutex_lock(&ippdrv->cmd_lock);
@@ -1808,7 +1797,7 @@ static void ipp_subdrv_close(struct drm_device *drm_dev, struct device *dev,
                        DRM_DEBUG_KMS("count[%d]ippdrv[0x%x]\n",
                                count++, (int)ippdrv);
 
-                       if (c_node->priv == priv) {
+                       if (c_node->dev == file_priv->ipp_dev) {
                                /*
                                 * userland goto unnormal state. process killed.
                                 * and close the file.
@@ -1830,7 +1819,6 @@ static void ipp_subdrv_close(struct drm_device *drm_dev, struct device *dev,
                mutex_unlock(&ippdrv->cmd_lock);
        }
 
-       kfree(priv);
        return;
 }
 
index 7aaeaae757c2cc0bdfa3ee6cad874ecf21630ddd..6f48d62aeb30742636bea0b88d2edc8442d3e247 100644 (file)
@@ -48,7 +48,7 @@ struct drm_exynos_ipp_cmd_work {
 /*
  * A structure of command node.
  *
- * @priv: IPP private information.
+ * @dev: IPP device.
  * @list: list head to command queue information.
  * @event_list: list head of event.
  * @mem_list: list head to source,destination memory queue information.
@@ -64,7 +64,7 @@ struct drm_exynos_ipp_cmd_work {
  * @state: state of command node.
  */
 struct drm_exynos_ipp_cmd_node {
-       struct exynos_drm_ipp_private *priv;
+       struct device           *dev;
        struct list_head        list;
        struct list_head        event_list;
        struct list_head        mem_list[EXYNOS_DRM_OPS_MAX];