@@ -2165,101 +2165,6 @@ static const struct qcom_icc_desc sm8550_system_noc = {
2165
2165
.num_bcms = ARRAY_SIZE (system_noc_bcms ),
2166
2166
};
2167
2167
2168
- static int qnoc_probe (struct platform_device * pdev )
2169
- {
2170
- const struct qcom_icc_desc * desc ;
2171
- struct icc_onecell_data * data ;
2172
- struct icc_provider * provider ;
2173
- struct qcom_icc_node * const * qnodes ;
2174
- struct qcom_icc_provider * qp ;
2175
- struct icc_node * node ;
2176
- size_t num_nodes , i ;
2177
- int ret ;
2178
-
2179
- desc = device_get_match_data (& pdev -> dev );
2180
- if (!desc )
2181
- return - EINVAL ;
2182
-
2183
- qnodes = desc -> nodes ;
2184
- num_nodes = desc -> num_nodes ;
2185
-
2186
- qp = devm_kzalloc (& pdev -> dev , sizeof (* qp ), GFP_KERNEL );
2187
- if (!qp )
2188
- return - ENOMEM ;
2189
-
2190
- data = devm_kcalloc (& pdev -> dev , num_nodes , sizeof (* node ), GFP_KERNEL );
2191
- if (!data )
2192
- return - ENOMEM ;
2193
-
2194
- provider = & qp -> provider ;
2195
- provider -> dev = & pdev -> dev ;
2196
- provider -> set = qcom_icc_set ;
2197
- provider -> pre_aggregate = qcom_icc_pre_aggregate ;
2198
- provider -> aggregate = qcom_icc_aggregate ;
2199
- provider -> xlate_extended = qcom_icc_xlate_extended ;
2200
- INIT_LIST_HEAD (& provider -> nodes );
2201
- provider -> data = data ;
2202
-
2203
- qp -> dev = & pdev -> dev ;
2204
- qp -> bcms = desc -> bcms ;
2205
- qp -> num_bcms = desc -> num_bcms ;
2206
-
2207
- qp -> voter = of_bcm_voter_get (qp -> dev , NULL );
2208
- if (IS_ERR (qp -> voter ))
2209
- return PTR_ERR (qp -> voter );
2210
-
2211
- ret = icc_provider_add (provider );
2212
- if (ret ) {
2213
- dev_err_probe (& pdev -> dev , ret ,
2214
- "error adding interconnect provider\n" );
2215
- return ret ;
2216
- }
2217
-
2218
- for (i = 0 ; i < qp -> num_bcms ; i ++ )
2219
- qcom_icc_bcm_init (qp -> bcms [i ], & pdev -> dev );
2220
-
2221
- for (i = 0 ; i < num_nodes ; i ++ ) {
2222
- size_t j ;
2223
-
2224
- if (!qnodes [i ])
2225
- continue ;
2226
-
2227
- node = icc_node_create (qnodes [i ]-> id );
2228
- if (IS_ERR (node )) {
2229
- ret = PTR_ERR (node );
2230
- goto err ;
2231
- }
2232
-
2233
- node -> name = qnodes [i ]-> name ;
2234
- node -> data = qnodes [i ];
2235
- icc_node_add (node , provider );
2236
-
2237
- for (j = 0 ; j < qnodes [i ]-> num_links ; j ++ )
2238
- icc_link_create (node , qnodes [i ]-> links [j ]);
2239
-
2240
- data -> nodes [i ] = node ;
2241
- }
2242
- data -> num_nodes = num_nodes ;
2243
-
2244
- platform_set_drvdata (pdev , qp );
2245
-
2246
- return 0 ;
2247
- err :
2248
- icc_nodes_remove (provider );
2249
- icc_provider_del (provider );
2250
- return ret ;
2251
- }
2252
-
2253
- static int qnoc_remove (struct platform_device * pdev )
2254
- {
2255
- struct qcom_icc_provider * qp = platform_get_drvdata (pdev );
2256
-
2257
- icc_nodes_remove (& qp -> provider );
2258
- icc_provider_del (& qp -> provider );
2259
-
2260
- return 0 ;
2261
- }
2262
-
2263
2168
static const struct of_device_id qnoc_of_match [] = {
2264
2169
{ .compatible = "qcom,sm8550-aggre1-noc" ,
2265
2170
.data = & sm8550_aggre1_noc },
@@ -2294,8 +2199,8 @@ static const struct of_device_id qnoc_of_match[] = {
2294
2199
MODULE_DEVICE_TABLE (of , qnoc_of_match );
2295
2200
2296
2201
static struct platform_driver qnoc_driver = {
2297
- .probe = qnoc_probe ,
2298
- .remove = qnoc_remove ,
2202
+ .probe = qcom_icc_rpmh_probe ,
2203
+ .remove = qcom_icc_rpmh_remove ,
2299
2204
.driver = {
2300
2205
.name = "qnoc-sm8550" ,
2301
2206
.of_match_table = qnoc_of_match ,
0 commit comments