@@ -2165,101 +2165,6 @@ static const struct qcom_icc_desc sm8550_system_noc = {
21652165 .num_bcms = ARRAY_SIZE (system_noc_bcms ),
21662166};
21672167
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-
22632168static const struct of_device_id qnoc_of_match [] = {
22642169 { .compatible = "qcom,sm8550-aggre1-noc" ,
22652170 .data = & sm8550_aggre1_noc },
@@ -2294,8 +2199,8 @@ static const struct of_device_id qnoc_of_match[] = {
22942199MODULE_DEVICE_TABLE (of , qnoc_of_match );
22952200
22962201static 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 ,
22992204 .driver = {
23002205 .name = "qnoc-sm8550" ,
23012206 .of_match_table = qnoc_of_match ,
0 commit comments