PM / devfreq: rockchip-dfi: Pass private data struct to internal functions
authorSascha Hauer <s.hauer@pengutronix.de>
Wed, 18 Oct 2023 06:17:01 +0000 (08:17 +0200)
committerChanwoo Choi <cw00.choi@samsung.com>
Thu, 19 Oct 2023 11:49:19 +0000 (20:49 +0900)
The internal functions do not need the struct devfreq_event_dev *,
so pass them the struct rockchip_dfi *. This is a preparation for
adding perf support later which doesn't have a struct devfreq_event_dev *.

Link: https://lore.kernel.org/all/20231018061714.3553817-14-s.hauer@pengutronix.de/
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Acked-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
drivers/devfreq/event/rockchip-dfi.c

index bdf421b248df90c0603b9b443cac2720e7d34c46..d56a33d03db4c6ff7234e4dbf67be32cb85124b7 100644 (file)
@@ -73,9 +73,8 @@ struct rockchip_dfi {
        unsigned int max_channels;
 };
 
-static void rockchip_dfi_start_hardware_counter(struct devfreq_event_dev *edev)
+static void rockchip_dfi_start_hardware_counter(struct rockchip_dfi *dfi)
 {
-       struct rockchip_dfi *dfi = devfreq_event_get_drvdata(edev);
        void __iomem *dfi_regs = dfi->regs;
 
        /* clear DDRMON_CTRL setting */
@@ -103,18 +102,16 @@ static void rockchip_dfi_start_hardware_counter(struct devfreq_event_dev *edev)
                       dfi_regs + DDRMON_CTRL);
 }
 
-static void rockchip_dfi_stop_hardware_counter(struct devfreq_event_dev *edev)
+static void rockchip_dfi_stop_hardware_counter(struct rockchip_dfi *dfi)
 {
-       struct rockchip_dfi *dfi = devfreq_event_get_drvdata(edev);
        void __iomem *dfi_regs = dfi->regs;
 
        writel_relaxed(HIWORD_UPDATE(0, DDRMON_CTRL_SOFTWARE_EN),
                       dfi_regs + DDRMON_CTRL);
 }
 
-static void rockchip_dfi_read_counters(struct devfreq_event_dev *edev, struct dmc_count *count)
+static void rockchip_dfi_read_counters(struct rockchip_dfi *dfi, struct dmc_count *count)
 {
-       struct rockchip_dfi *dfi = devfreq_event_get_drvdata(edev);
        u32 i;
        void __iomem *dfi_regs = dfi->regs;
 
@@ -132,7 +129,7 @@ static int rockchip_dfi_disable(struct devfreq_event_dev *edev)
 {
        struct rockchip_dfi *dfi = devfreq_event_get_drvdata(edev);
 
-       rockchip_dfi_stop_hardware_counter(edev);
+       rockchip_dfi_stop_hardware_counter(dfi);
        clk_disable_unprepare(dfi->clk);
 
        return 0;
@@ -149,7 +146,7 @@ static int rockchip_dfi_enable(struct devfreq_event_dev *edev)
                return ret;
        }
 
-       rockchip_dfi_start_hardware_counter(edev);
+       rockchip_dfi_start_hardware_counter(dfi);
        return 0;
 }
 
@@ -167,7 +164,7 @@ static int rockchip_dfi_get_event(struct devfreq_event_dev *edev,
        u32 access = 0, total = 0;
        int i;
 
-       rockchip_dfi_read_counters(edev, &count);
+       rockchip_dfi_read_counters(dfi, &count);
 
        /* We can only report one channel, so find the busiest one */
        for (i = 0; i < dfi->max_channels; i++) {