Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

PM / devfreq: rockchip-dfi: Pass private data struct to internal functions

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>

authored by

Sascha Hauer and committed by
Chanwoo Choi
b82932fb d8c6e337

+6 -9
+6 -9
drivers/devfreq/event/rockchip-dfi.c
··· 73 73 unsigned int max_channels; 74 74 }; 75 75 76 - static void rockchip_dfi_start_hardware_counter(struct devfreq_event_dev *edev) 76 + static void rockchip_dfi_start_hardware_counter(struct rockchip_dfi *dfi) 77 77 { 78 - struct rockchip_dfi *dfi = devfreq_event_get_drvdata(edev); 79 78 void __iomem *dfi_regs = dfi->regs; 80 79 81 80 /* clear DDRMON_CTRL setting */ ··· 102 103 dfi_regs + DDRMON_CTRL); 103 104 } 104 105 105 - static void rockchip_dfi_stop_hardware_counter(struct devfreq_event_dev *edev) 106 + static void rockchip_dfi_stop_hardware_counter(struct rockchip_dfi *dfi) 106 107 { 107 - struct rockchip_dfi *dfi = devfreq_event_get_drvdata(edev); 108 108 void __iomem *dfi_regs = dfi->regs; 109 109 110 110 writel_relaxed(HIWORD_UPDATE(0, DDRMON_CTRL_SOFTWARE_EN), 111 111 dfi_regs + DDRMON_CTRL); 112 112 } 113 113 114 - static void rockchip_dfi_read_counters(struct devfreq_event_dev *edev, struct dmc_count *count) 114 + static void rockchip_dfi_read_counters(struct rockchip_dfi *dfi, struct dmc_count *count) 115 115 { 116 - struct rockchip_dfi *dfi = devfreq_event_get_drvdata(edev); 117 116 u32 i; 118 117 void __iomem *dfi_regs = dfi->regs; 119 118 ··· 129 132 { 130 133 struct rockchip_dfi *dfi = devfreq_event_get_drvdata(edev); 131 134 132 - rockchip_dfi_stop_hardware_counter(edev); 135 + rockchip_dfi_stop_hardware_counter(dfi); 133 136 clk_disable_unprepare(dfi->clk); 134 137 135 138 return 0; ··· 146 149 return ret; 147 150 } 148 151 149 - rockchip_dfi_start_hardware_counter(edev); 152 + rockchip_dfi_start_hardware_counter(dfi); 150 153 return 0; 151 154 } 152 155 ··· 164 167 u32 access = 0, total = 0; 165 168 int i; 166 169 167 - rockchip_dfi_read_counters(edev, &count); 170 + rockchip_dfi_read_counters(dfi, &count); 168 171 169 172 /* We can only report one channel, so find the busiest one */ 170 173 for (i = 0; i < dfi->max_channels; i++) {