@@ -815,7 +815,7 @@ static int scpi_init_versions(struct scpi_drvinfo *info)
815815		info -> firmware_version  =  le32_to_cpu (caps .platform_version );
816816	}
817817	/* Ignore error if not implemented */ 
818- 	if  (scpi_info -> is_legacy  &&  ret  ==  - EOPNOTSUPP )
818+ 	if  (info -> is_legacy  &&  ret  ==  - EOPNOTSUPP )
819819		return  0 ;
820820
821821	return  ret ;
@@ -913,33 +913,34 @@ static int scpi_probe(struct platform_device *pdev)
913913	struct  resource  res ;
914914	struct  device  * dev  =  & pdev -> dev ;
915915	struct  device_node  * np  =  dev -> of_node ;
916+ 	struct  scpi_drvinfo  * scpi_drvinfo ;
916917
917- 	scpi_info  =  devm_kzalloc (dev , sizeof (* scpi_info ), GFP_KERNEL );
918- 	if  (!scpi_info )
918+ 	scpi_drvinfo  =  devm_kzalloc (dev , sizeof (* scpi_drvinfo ), GFP_KERNEL );
919+ 	if  (!scpi_drvinfo )
919920		return  - ENOMEM ;
920921
921922	if  (of_match_device (legacy_scpi_of_match , & pdev -> dev ))
922- 		scpi_info -> is_legacy  =  true;
923+ 		scpi_drvinfo -> is_legacy  =  true;
923924
924925	count  =  of_count_phandle_with_args (np , "mboxes" , "#mbox-cells" );
925926	if  (count  <  0 ) {
926927		dev_err (dev , "no mboxes property in '%pOF'\n" , np );
927928		return  - ENODEV ;
928929	}
929930
930- 	scpi_info -> channels  =   devm_kcalloc ( dev ,  count ,  sizeof ( struct   scpi_chan ), 
931- 					    GFP_KERNEL );
932- 	if  (!scpi_info -> channels )
931+ 	scpi_drvinfo -> channels  = 
932+ 		devm_kcalloc ( dev ,  count ,  sizeof ( struct   scpi_chan ),  GFP_KERNEL );
933+ 	if  (!scpi_drvinfo -> channels )
933934		return  - ENOMEM ;
934935
935- 	ret  =  devm_add_action (dev , scpi_free_channels , scpi_info );
936+ 	ret  =  devm_add_action (dev , scpi_free_channels , scpi_drvinfo );
936937	if  (ret )
937938		return  ret ;
938939
939- 	for  (; scpi_info -> num_chans  <  count ; scpi_info -> num_chans ++ ) {
940+ 	for  (; scpi_drvinfo -> num_chans  <  count ; scpi_drvinfo -> num_chans ++ ) {
940941		resource_size_t  size ;
941- 		int  idx  =  scpi_info -> num_chans ;
942- 		struct  scpi_chan  * pchan  =  scpi_info -> channels  +  idx ;
942+ 		int  idx  =  scpi_drvinfo -> num_chans ;
943+ 		struct  scpi_chan  * pchan  =  scpi_drvinfo -> channels  +  idx ;
943944		struct  mbox_client  * cl  =  & pchan -> cl ;
944945		struct  device_node  * shmem  =  of_parse_phandle (np , "shmem" , idx );
945946
@@ -986,45 +987,53 @@ static int scpi_probe(struct platform_device *pdev)
986987		return  ret ;
987988	}
988989
989- 	scpi_info -> commands  =  scpi_std_commands ;
990+ 	scpi_drvinfo -> commands  =  scpi_std_commands ;
990991
991- 	platform_set_drvdata (pdev , scpi_info );
992+ 	platform_set_drvdata (pdev , scpi_drvinfo );
992993
993- 	if  (scpi_info -> is_legacy ) {
994+ 	if  (scpi_drvinfo -> is_legacy ) {
994995		/* Replace with legacy variants */ 
995996		scpi_ops .clk_set_val  =  legacy_scpi_clk_set_val ;
996- 		scpi_info -> commands  =  scpi_legacy_commands ;
997+ 		scpi_drvinfo -> commands  =  scpi_legacy_commands ;
997998
998999		/* Fill priority bitmap */ 
9991000		for  (idx  =  0 ; idx  <  ARRAY_SIZE (legacy_hpriority_cmds ); idx ++ )
10001001			set_bit (legacy_hpriority_cmds [idx ],
1001- 				scpi_info -> cmd_priority );
1002+ 				scpi_drvinfo -> cmd_priority );
10021003	}
10031004
1004- 	ret  =  scpi_init_versions (scpi_info );
1005+ 	scpi_info  =  scpi_drvinfo ;
1006+ 
1007+ 	ret  =  scpi_init_versions (scpi_drvinfo );
10051008	if  (ret ) {
10061009		dev_err (dev , "incorrect or no SCP firmware found\n" );
1010+ 		scpi_info  =  NULL ;
10071011		return  ret ;
10081012	}
10091013
1010- 	if  (scpi_info -> is_legacy  &&  !scpi_info -> protocol_version  && 
1011- 	    !scpi_info -> firmware_version )
1014+ 	if  (scpi_drvinfo -> is_legacy  &&  !scpi_drvinfo -> protocol_version  && 
1015+ 	    !scpi_drvinfo -> firmware_version )
10121016		dev_info (dev , "SCP Protocol legacy pre-1.0 firmware\n" );
10131017	else 
10141018		dev_info (dev , "SCP Protocol %lu.%lu Firmware %lu.%lu.%lu version\n" ,
10151019			 FIELD_GET (PROTO_REV_MAJOR_MASK ,
1016- 				   scpi_info -> protocol_version ),
1020+ 				   scpi_drvinfo -> protocol_version ),
10171021			 FIELD_GET (PROTO_REV_MINOR_MASK ,
1018- 				   scpi_info -> protocol_version ),
1022+ 				   scpi_drvinfo -> protocol_version ),
10191023			 FIELD_GET (FW_REV_MAJOR_MASK ,
1020- 				   scpi_info -> firmware_version ),
1024+ 				   scpi_drvinfo -> firmware_version ),
10211025			 FIELD_GET (FW_REV_MINOR_MASK ,
1022- 				   scpi_info -> firmware_version ),
1026+ 				   scpi_drvinfo -> firmware_version ),
10231027			 FIELD_GET (FW_REV_PATCH_MASK ,
1024- 				   scpi_info -> firmware_version ));
1025- 	scpi_info -> scpi_ops  =  & scpi_ops ;
1028+ 				   scpi_drvinfo -> firmware_version ));
1029+ 
1030+ 	scpi_drvinfo -> scpi_ops  =  & scpi_ops ;
10261031
1027- 	return  devm_of_platform_populate (dev );
1032+ 	ret  =  devm_of_platform_populate (dev );
1033+ 	if  (ret )
1034+ 		scpi_info  =  NULL ;
1035+ 
1036+ 	return  ret ;
10281037}
10291038
10301039static  const  struct  of_device_id  scpi_of_match [] =  {
0 commit comments