@@ -731,20 +731,7 @@ static int micron_smbus_option(int argc, char **argv,
731731 else
732732 printf ("Failed to enabled SMBus on drive\n" );
733733 } else if (!strcmp (opt .option , "status" )) {
734- struct nvme_get_features_args args = {
735- .args_size = sizeof (args ),
736- .fid = fid ,
737- .nsid = 1 ,
738- .sel = opt .value ,
739- .cdw11 = 0 ,
740- .uuidx = 0 ,
741- .data_len = 0 ,
742- .data = NULL ,
743- .timeout = NVME_DEFAULT_IOCTL_TIMEOUT ,
744- .result = & result ,
745- };
746-
747- err = nvme_get_features (l , & args );
734+ err = nvme_get_features (l , 1 , fid , opt .value , 0 , 0 , NULL , 0 , & result );
748735 if (!err )
749736 printf ("SMBus status on the drive: %s (returns %s temperature)\n" ,
750737 (result & 1 ) ? "enabled" : "disabled" ,
@@ -2429,20 +2416,8 @@ static int GetFeatureSettings(nvme_link_t l, const char *dir)
24292416 len = 0 ;
24302417 bufp = NULL ;
24312418 }
2432-
2433- struct nvme_get_features_args args = {
2434- .args_size = sizeof (args ),
2435- .fid = fmap [i ].id ,
2436- .nsid = 1 ,
2437- .sel = 0 ,
2438- .cdw11 = 0x0 ,
2439- .uuidx = 0 ,
2440- .data_len = len ,
2441- .data = bufp ,
2442- .timeout = NVME_DEFAULT_IOCTL_TIMEOUT ,
2443- .result = & attrVal ,
2444- };
2445- err = nvme_get_features (l , & args );
2419+ err = nvme_get_features (l , 1 , fmap [i ].id , 0 , 0x0 , 0 , bufp , len ,
2420+ & attrVal );
24462421 if (!err ) {
24472422 sprintf (msg , "feature: 0x%X" , fmap [i ].id );
24482423 WriteData ((__u8 * )& attrVal , sizeof (attrVal ), dir , fmap [i ].file , msg );
@@ -2937,20 +2912,7 @@ static int micron_latency_stats_track(int argc, char **argv, struct command *cmd
29372912 return -1 ;
29382913 }
29392914
2940- struct nvme_get_features_args g_args = {
2941- .args_size = sizeof (g_args ),
2942- .fid = fid ,
2943- .nsid = 0 ,
2944- .sel = 0 ,
2945- .cdw11 = 0 ,
2946- .uuidx = 0 ,
2947- .data_len = 0 ,
2948- .data = NULL ,
2949- .timeout = NVME_DEFAULT_IOCTL_TIMEOUT ,
2950- .result = & result ,
2951- };
2952-
2953- err = nvme_get_features (l , & g_args );
2915+ err = nvme_get_features (l , 0 , fid , 0 , 0 , 0 , NULL , 0 , & result );
29542916 if (err ) {
29552917 printf ("Failed to retrieve latency monitoring feature status\n" );
29562918 return err ;
@@ -3347,20 +3309,8 @@ static int micron_telemetry_cntrl_option(int argc, char **argv,
33473309 else
33483310 printf ("Failed to disable controller telemetry option\n" );
33493311 } else if (!strcmp (opt .option , "status" )) {
3350- struct nvme_get_features_args args = {
3351- .args_size = sizeof (args ),
3352- .fid = fid ,
3353- .nsid = 1 ,
3354- .sel = opt .select & 0x3 ,
3355- .cdw11 = 0 ,
3356- .uuidx = 0 ,
3357- .data_len = 0 ,
3358- .data = NULL ,
3359- .timeout = NVME_DEFAULT_IOCTL_TIMEOUT ,
3360- .result = & result ,
3361- };
3362-
3363- err = nvme_get_features (l , & args );
3312+ err = nvme_get_features (l , 1 , fid , opt .select & 0x3 , 0 , 0 , NULL , 0 ,
3313+ & result );
33643314 if (!err )
33653315 printf ("Controller telemetry option : %s\n" ,
33663316 (result ) ? "enabled" : "disabled" );
0 commit comments