PM / devfreq: rockchip-dfi: Pass private data struct to internal functions
[linux-2.6-microblaze.git] / drivers / devfreq / event / rockchip-dfi.c
index bdf421b..d56a33d 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++) {