@@ -1844,100 +1844,6 @@ static const struct qcom_icc_desc sm8450_system_noc = {
1844
1844
.num_bcms = ARRAY_SIZE (system_noc_bcms ),
1845
1845
};
1846
1846
1847
- static int qnoc_probe (struct platform_device * pdev )
1848
- {
1849
- const struct qcom_icc_desc * desc ;
1850
- struct icc_onecell_data * data ;
1851
- struct icc_provider * provider ;
1852
- struct qcom_icc_node * const * qnodes ;
1853
- struct qcom_icc_provider * qp ;
1854
- struct icc_node * node ;
1855
- size_t num_nodes , i ;
1856
- int ret ;
1857
-
1858
- desc = device_get_match_data (& pdev -> dev );
1859
- if (!desc )
1860
- return - EINVAL ;
1861
-
1862
- qnodes = desc -> nodes ;
1863
- num_nodes = desc -> num_nodes ;
1864
-
1865
- qp = devm_kzalloc (& pdev -> dev , sizeof (* qp ), GFP_KERNEL );
1866
- if (!qp )
1867
- return - ENOMEM ;
1868
-
1869
- data = devm_kcalloc (& pdev -> dev , num_nodes , sizeof (* node ), GFP_KERNEL );
1870
- if (!data )
1871
- return - ENOMEM ;
1872
-
1873
- provider = & qp -> provider ;
1874
- provider -> dev = & pdev -> dev ;
1875
- provider -> set = qcom_icc_set ;
1876
- provider -> pre_aggregate = qcom_icc_pre_aggregate ;
1877
- provider -> aggregate = qcom_icc_aggregate ;
1878
- provider -> xlate_extended = qcom_icc_xlate_extended ;
1879
- INIT_LIST_HEAD (& provider -> nodes );
1880
- provider -> data = data ;
1881
-
1882
- qp -> dev = & pdev -> dev ;
1883
- qp -> bcms = desc -> bcms ;
1884
- qp -> num_bcms = desc -> num_bcms ;
1885
-
1886
- qp -> voter = of_bcm_voter_get (qp -> dev , NULL );
1887
- if (IS_ERR (qp -> voter ))
1888
- return PTR_ERR (qp -> voter );
1889
-
1890
- ret = icc_provider_add (provider );
1891
- if (ret ) {
1892
- dev_err (& pdev -> dev , "error adding interconnect provider\n" );
1893
- return ret ;
1894
- }
1895
-
1896
- for (i = 0 ; i < qp -> num_bcms ; i ++ )
1897
- qcom_icc_bcm_init (qp -> bcms [i ], & pdev -> dev );
1898
-
1899
- for (i = 0 ; i < num_nodes ; i ++ ) {
1900
- size_t j ;
1901
-
1902
- if (!qnodes [i ])
1903
- continue ;
1904
-
1905
- node = icc_node_create (qnodes [i ]-> id );
1906
- if (IS_ERR (node )) {
1907
- ret = PTR_ERR (node );
1908
- goto err ;
1909
- }
1910
-
1911
- node -> name = qnodes [i ]-> name ;
1912
- node -> data = qnodes [i ];
1913
- icc_node_add (node , provider );
1914
-
1915
- for (j = 0 ; j < qnodes [i ]-> num_links ; j ++ )
1916
- icc_link_create (node , qnodes [i ]-> links [j ]);
1917
-
1918
- data -> nodes [i ] = node ;
1919
- }
1920
- data -> num_nodes = num_nodes ;
1921
-
1922
- platform_set_drvdata (pdev , qp );
1923
-
1924
- return 0 ;
1925
- err :
1926
- icc_nodes_remove (provider );
1927
- icc_provider_del (provider );
1928
- return ret ;
1929
- }
1930
-
1931
- static int qnoc_remove (struct platform_device * pdev )
1932
- {
1933
- struct qcom_icc_provider * qp = platform_get_drvdata (pdev );
1934
-
1935
- icc_nodes_remove (& qp -> provider );
1936
- icc_provider_del (& qp -> provider );
1937
-
1938
- return 0 ;
1939
- }
1940
-
1941
1847
static const struct of_device_id qnoc_of_match [] = {
1942
1848
{ .compatible = "qcom,sm8450-aggre1-noc" ,
1943
1849
.data = & sm8450_aggre1_noc },
@@ -1966,8 +1872,8 @@ static const struct of_device_id qnoc_of_match[] = {
1966
1872
MODULE_DEVICE_TABLE (of , qnoc_of_match );
1967
1873
1968
1874
static struct platform_driver qnoc_driver = {
1969
- .probe = qnoc_probe ,
1970
- .remove = qnoc_remove ,
1875
+ .probe = qcom_icc_rpmh_probe ,
1876
+ .remove = qcom_icc_rpmh_remove ,
1971
1877
.driver = {
1972
1878
.name = "qnoc-sm8450" ,
1973
1879
.of_match_table = qnoc_of_match ,
0 commit comments