@@ -39,6 +39,9 @@ struct raspberrypi_clk {
39
39
40
40
struct raspberrypi_clk_data {
41
41
struct clk_hw hw ;
42
+
43
+ unsigned int id ;
44
+
42
45
struct raspberrypi_clk * rpi ;
43
46
};
44
47
@@ -91,7 +94,7 @@ static int raspberrypi_fw_pll_is_on(struct clk_hw *hw)
91
94
92
95
ret = raspberrypi_clock_property (rpi -> firmware ,
93
96
RPI_FIRMWARE_GET_CLOCK_STATE ,
94
- RPI_FIRMWARE_ARM_CLK_ID , & val );
97
+ data -> id , & val );
95
98
if (ret )
96
99
return 0 ;
97
100
@@ -110,8 +113,7 @@ static unsigned long raspberrypi_fw_pll_get_rate(struct clk_hw *hw,
110
113
111
114
ret = raspberrypi_clock_property (rpi -> firmware ,
112
115
RPI_FIRMWARE_GET_CLOCK_RATE ,
113
- RPI_FIRMWARE_ARM_CLK_ID ,
114
- & val );
116
+ data -> id , & val );
115
117
if (ret )
116
118
return ret ;
117
119
@@ -129,8 +131,7 @@ static int raspberrypi_fw_pll_set_rate(struct clk_hw *hw, unsigned long rate,
129
131
130
132
ret = raspberrypi_clock_property (rpi -> firmware ,
131
133
RPI_FIRMWARE_SET_CLOCK_RATE ,
132
- RPI_FIRMWARE_ARM_CLK_ID ,
133
- & new_rate );
134
+ data -> id , & new_rate );
134
135
if (ret )
135
136
dev_err_ratelimited (rpi -> dev , "Failed to change %s frequency: %d" ,
136
137
clk_hw_get_name (hw ), ret );
@@ -183,6 +184,7 @@ static int raspberrypi_register_pllb(struct raspberrypi_clk *rpi)
183
184
if (!data )
184
185
return - ENOMEM ;
185
186
data -> rpi = rpi ;
187
+ data -> id = RPI_FIRMWARE_ARM_CLK_ID ;
186
188
187
189
/* All of the PLLs derive from the external oscillator. */
188
190
init .parent_names = (const char * []){ "osc" };
@@ -194,8 +196,7 @@ static int raspberrypi_register_pllb(struct raspberrypi_clk *rpi)
194
196
/* Get min & max rates set by the firmware */
195
197
ret = raspberrypi_clock_property (rpi -> firmware ,
196
198
RPI_FIRMWARE_GET_MIN_CLOCK_RATE ,
197
- RPI_FIRMWARE_ARM_CLK_ID ,
198
- & min_rate );
199
+ data -> id , & min_rate );
199
200
if (ret ) {
200
201
dev_err (rpi -> dev , "Failed to get %s min freq: %d\n" ,
201
202
init .name , ret );
@@ -204,8 +205,7 @@ static int raspberrypi_register_pllb(struct raspberrypi_clk *rpi)
204
205
205
206
ret = raspberrypi_clock_property (rpi -> firmware ,
206
207
RPI_FIRMWARE_GET_MAX_CLOCK_RATE ,
207
- RPI_FIRMWARE_ARM_CLK_ID ,
208
- & max_rate );
208
+ data -> id , & max_rate );
209
209
if (ret ) {
210
210
dev_err (rpi -> dev , "Failed to get %s max freq: %d\n" ,
211
211
init .name , ret );
0 commit comments