From: Sean Paul <seanp...@chromium.org>

Now that we don't have any event handlers, remove dpu_power_handle!

Changes in v2:
- None

Reviewed-by: Jeykumar Sankaran <jsa...@codeaurora.org>
Signed-off-by: Sean Paul <seanp...@chromium.org>
---
 drivers/gpu/drm/msm/Makefile                  |   1 -
 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c       |  11 --
 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h       |   3 -
 .../gpu/drm/msm/disp/dpu1/dpu_power_handle.c  | 136 ------------------
 .../gpu/drm/msm/disp/dpu1/dpu_power_handle.h  | 113 ---------------
 5 files changed, 264 deletions(-)
 delete mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_power_handle.c
 delete mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_power_handle.h

diff --git a/drivers/gpu/drm/msm/Makefile b/drivers/gpu/drm/msm/Makefile
index 19ab521d4c3a..7d02ef3655b5 100644
--- a/drivers/gpu/drm/msm/Makefile
+++ b/drivers/gpu/drm/msm/Makefile
@@ -72,7 +72,6 @@ msm-y := \
        disp/dpu1/dpu_kms.o \
        disp/dpu1/dpu_mdss.o \
        disp/dpu1/dpu_plane.o \
-       disp/dpu1/dpu_power_handle.o \
        disp/dpu1/dpu_rm.o \
        disp/dpu1/dpu_vbif.o \
        msm_atomic.o \
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c 
b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
index af666d917a0b..9f7da56bb453 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
@@ -1060,8 +1060,6 @@ static int dpu_bind(struct device *dev, struct device 
*master, void *data)
                return ret;
        }
 
-       dpu_power_resource_init(pdev, &dpu_kms->phandle);
-
        platform_set_drvdata(pdev, dpu_kms);
 
        msm_kms_init(&dpu_kms->base, &kms_funcs);
@@ -1081,7 +1079,6 @@ static void dpu_unbind(struct device *dev, struct device 
*master, void *data)
        struct dpu_kms *dpu_kms = platform_get_drvdata(pdev);
        struct dss_module_power *mp = &dpu_kms->mp;
 
-       dpu_power_resource_deinit(pdev, &dpu_kms->phandle);
        msm_dss_put_clk(mp->clk_config, mp->num_clk);
        devm_kfree(&pdev->dev, mp->clk_config);
        mp->num_clk = 0;
@@ -1120,10 +1117,6 @@ static int __maybe_unused dpu_runtime_suspend(struct 
device *dev)
                return rc;
        }
 
-       rc = dpu_power_resource_enable(&dpu_kms->phandle, false);
-       if (rc)
-               DPU_ERROR("resource disable failed: %d\n", rc);
-
        rc = msm_dss_enable_clk(mp->clk_config, mp->num_clk, false);
        if (rc)
                DPU_ERROR("clock disable failed rc:%d\n", rc);
@@ -1157,10 +1150,6 @@ static int __maybe_unused dpu_runtime_resume(struct 
device *dev)
        drm_for_each_crtc(crtc, ddev)
                dpu_crtc_runtime_resume(crtc);
 
-       rc = dpu_power_resource_enable(&dpu_kms->phandle, true);
-       if (rc)
-               DPU_ERROR("resource enable failed: %d\n", rc);
-
        return rc;
 }
 
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h 
b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h
index 4e5acacb3065..59e18e2d3c59 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h
@@ -31,7 +31,6 @@
 #include "dpu_hw_top.h"
 #include "dpu_io_util.h"
 #include "dpu_rm.h"
-#include "dpu_power_handle.h"
 #include "dpu_irq.h"
 #include "dpu_core_perf.h"
 
@@ -114,8 +113,6 @@ struct dpu_kms {
        int core_rev;
        struct dpu_mdss_cfg *catalog;
 
-       struct dpu_power_handle phandle;
-
        /* directory entry for debugfs */
        struct dentry *debugfs_root;
        struct dentry *debugfs_danger;
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_power_handle.c 
b/drivers/gpu/drm/msm/disp/dpu1/dpu_power_handle.c
deleted file mode 100644
index 8e64f0a52147..000000000000
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_power_handle.c
+++ /dev/null
@@ -1,136 +0,0 @@
-/* Copyright (c) 2014-2018, The Linux Foundation. All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 and
- * only version 2 as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- */
-
-#define pr_fmt(fmt)    "[drm:%s:%d]: " fmt, __func__, __LINE__
-
-#include <linux/kernel.h>
-#include <linux/of.h>
-#include <linux/string.h>
-#include <linux/of_address.h>
-#include <linux/slab.h>
-#include <linux/mutex.h>
-#include <linux/of_platform.h>
-
-#include "dpu_power_handle.h"
-#include "dpu_trace.h"
-
-static void dpu_power_event_trigger_locked(struct dpu_power_handle *phandle,
-               u32 event_type)
-{
-       struct dpu_power_event *event;
-
-       list_for_each_entry(event, &phandle->event_list, list) {
-               if (event->event_type & event_type)
-                       event->cb_fnc(event_type, event->usr);
-       }
-}
-
-void dpu_power_resource_init(struct platform_device *pdev,
-       struct dpu_power_handle *phandle)
-{
-       phandle->dev = &pdev->dev;
-
-       INIT_LIST_HEAD(&phandle->event_list);
-
-       mutex_init(&phandle->phandle_lock);
-}
-
-void dpu_power_resource_deinit(struct platform_device *pdev,
-       struct dpu_power_handle *phandle)
-{
-       struct dpu_power_event *curr_event, *next_event;
-
-       if (!phandle || !pdev) {
-               pr_err("invalid input param\n");
-               return;
-       }
-
-       mutex_lock(&phandle->phandle_lock);
-       list_for_each_entry_safe(curr_event, next_event,
-                       &phandle->event_list, list) {
-               pr_err("event:%d, client:%s still registered\n",
-                               curr_event->event_type,
-                               curr_event->client_name);
-               curr_event->active = false;
-               list_del(&curr_event->list);
-       }
-       mutex_unlock(&phandle->phandle_lock);
-}
-
-int dpu_power_resource_enable(struct dpu_power_handle *phandle, bool enable)
-{
-       u32 event_type;
-
-       if (!phandle) {
-               pr_err("invalid input argument\n");
-               return -EINVAL;
-       }
-
-       mutex_lock(&phandle->phandle_lock);
-
-       event_type = enable ? DPU_POWER_EVENT_ENABLE : DPU_POWER_EVENT_DISABLE;
-
-       dpu_power_event_trigger_locked(phandle, event_type);
-
-       mutex_unlock(&phandle->phandle_lock);
-       return 0;
-}
-
-struct dpu_power_event *dpu_power_handle_register_event(
-               struct dpu_power_handle *phandle,
-               u32 event_type, void (*cb_fnc)(u32 event_type, void *usr),
-               void *usr, char *client_name)
-{
-       struct dpu_power_event *event;
-
-       if (!phandle) {
-               pr_err("invalid power handle\n");
-               return ERR_PTR(-EINVAL);
-       } else if (!cb_fnc || !event_type) {
-               pr_err("no callback fnc or event type\n");
-               return ERR_PTR(-EINVAL);
-       }
-
-       event = kzalloc(sizeof(struct dpu_power_event), GFP_KERNEL);
-       if (!event)
-               return ERR_PTR(-ENOMEM);
-
-       event->event_type = event_type;
-       event->cb_fnc = cb_fnc;
-       event->usr = usr;
-       strlcpy(event->client_name, client_name, MAX_CLIENT_NAME_LEN);
-       event->active = true;
-
-       mutex_lock(&phandle->phandle_lock);
-       list_add(&event->list, &phandle->event_list);
-       mutex_unlock(&phandle->phandle_lock);
-
-       return event;
-}
-
-void dpu_power_handle_unregister_event(
-               struct dpu_power_handle *phandle,
-               struct dpu_power_event *event)
-{
-       if (!phandle || !event) {
-               pr_err("invalid phandle or event\n");
-       } else if (!event->active) {
-               pr_err("power handle deinit already done\n");
-               kfree(event);
-       } else {
-               mutex_lock(&phandle->phandle_lock);
-               list_del_init(&event->list);
-               mutex_unlock(&phandle->phandle_lock);
-               kfree(event);
-       }
-}
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_power_handle.h 
b/drivers/gpu/drm/msm/disp/dpu1/dpu_power_handle.h
deleted file mode 100644
index 7536624c8b20..000000000000
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_power_handle.h
+++ /dev/null
@@ -1,113 +0,0 @@
-/* Copyright (c) 2016-2018, The Linux Foundation. All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 and
- * only version 2 as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- */
-
-#ifndef _DPU_POWER_HANDLE_H_
-#define _DPU_POWER_HANDLE_H_
-
-#define MAX_CLIENT_NAME_LEN 128
-
-#define DPU_POWER_HANDLE_ENABLE_BUS_AB_QUOTA   0
-#define DPU_POWER_HANDLE_DISABLE_BUS_AB_QUOTA  0
-#define DPU_POWER_HANDLE_ENABLE_BUS_IB_QUOTA   1600000000
-#define DPU_POWER_HANDLE_DISABLE_BUS_IB_QUOTA  0
-
-#include "dpu_io_util.h"
-
-/* events will be triggered on power handler enable/disable */
-#define DPU_POWER_EVENT_DISABLE        BIT(0)
-#define DPU_POWER_EVENT_ENABLE BIT(1)
-
-/*
- * struct dpu_power_event - local event registration structure
- * @client_name: name of the client registering
- * @cb_fnc: pointer to desired callback function
- * @usr: user pointer to pass to callback event trigger
- * @event: refer to DPU_POWER_HANDLE_EVENT_*
- * @list: list to attach event master list
- * @active: indicates the state of dpu power handle
- */
-struct dpu_power_event {
-       char client_name[MAX_CLIENT_NAME_LEN];
-       void (*cb_fnc)(u32 event_type, void *usr);
-       void *usr;
-       u32 event_type;
-       struct list_head list;
-       bool active;
-};
-
-/**
- * struct dpu_power_handle: power handle main struct
- * @phandle_lock: lock to synchronize the enable/disable
- * @dev: pointer to device structure
- * @usecase_ndx: current usecase index
- * @event_list: current power handle event list
- */
-struct dpu_power_handle {
-       struct mutex phandle_lock;
-       struct device *dev;
-       u32 current_usecase_ndx;
-       struct list_head event_list;
-};
-
-/**
- * dpu_power_resource_init() - initializes the dpu power handle
- * @pdev:   platform device to search the power resources
- * @pdata:  power handle to store the power resources
- */
-void dpu_power_resource_init(struct platform_device *pdev,
-       struct dpu_power_handle *pdata);
-
-/**
- * dpu_power_resource_deinit() - release the dpu power handle
- * @pdev:   platform device for power resources
- * @pdata:  power handle containing the resources
- *
- * Return: error code.
- */
-void dpu_power_resource_deinit(struct platform_device *pdev,
-       struct dpu_power_handle *pdata);
-
-/**
- * dpu_power_resource_enable() - enable/disable the power resources
- * @pdata:  power handle containing the resources
- * @enable: boolean request for enable/disable
- *
- * Return: error code.
- */
-int dpu_power_resource_enable(struct dpu_power_handle *pdata, bool enable);
-
-/**
- * dpu_power_handle_register_event - register a callback function for an event.
- *     Clients can register for multiple events with a single register.
- *     Any block with access to phandle can register for the event
- *     notification.
- * @phandle:   power handle containing the resources
- * @event_type:        event type to register; refer DPU_POWER_HANDLE_EVENT_*
- * @cb_fnc:    pointer to desired callback function
- * @usr:       user pointer to pass to callback on event trigger
- *
- * Return:     event pointer if success, or error code otherwise
- */
-struct dpu_power_event *dpu_power_handle_register_event(
-               struct dpu_power_handle *phandle,
-               u32 event_type, void (*cb_fnc)(u32 event_type, void *usr),
-               void *usr, char *client_name);
-/**
- * dpu_power_handle_unregister_event - unregister callback for event(s)
- * @phandle:   power handle containing the resources
- * @event:     event pointer returned after power handle register
- */
-void dpu_power_handle_unregister_event(struct dpu_power_handle *phandle,
-               struct dpu_power_event *event);
-
-#endif /* _DPU_POWER_HANDLE_H_ */
-- 
Sean Paul, Software Engineer, Google / Chromium OS

Reply via email to