~mmach/netext73/busybox

« back to all changes in this revision

Viewing changes to miscutils/hdparm.c

  • Committer: mmach
  • Date: 2023-07-06 04:40:25 UTC
  • Revision ID: netbit73@gmail.com-20230706044025-2ia9985i8wzdn2a7
1.36.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
14
14
//config:config HDPARM
15
15
//config:       bool "hdparm (25 kb)"
16
16
//config:       default y
 
17
//config:       depends on PLATFORM_LINUX
17
18
//config:       help
18
19
//config:       Get/Set hard drive parameters. Primarily intended for ATA
19
20
//config:       drives.
798
799
        if (!(val[GEN_CONFIG] & NOT_ATA)) {
799
800
                dev = ATA_DEV;
800
801
                printf("ATA device, with ");
801
 
        } else if (val[GEN_CONFIG]==CFA_SUPPORT_VAL) {
 
802
        } else if (val[GEN_CONFIG] == CFA_SUPPORT_VAL) {
802
803
                dev = ATA_DEV;
803
804
                like_std = 4;
804
805
                printf("CompactFlash ATA device, with ");
819
820
         * specific, it should be safe to check it now, even though we don't
820
821
         * know yet what standard this device is using.
821
822
         */
822
 
        if ((val[CONFIG]==STBY_NID_VAL) || (val[CONFIG]==STBY_ID_VAL)
823
 
         || (val[CONFIG]==PWRD_NID_VAL) || (val[CONFIG]==PWRD_ID_VAL)
 
823
        if ((val[CONFIG] == STBY_NID_VAL) || (val[CONFIG] == STBY_ID_VAL)
 
824
         || (val[CONFIG] == PWRD_NID_VAL) || (val[CONFIG] == PWRD_ID_VAL)
824
825
        ) {
825
826
                like_std = 5;
826
 
                if ((val[CONFIG]==STBY_NID_VAL) || (val[CONFIG]==STBY_ID_VAL))
 
827
                if ((val[CONFIG] == STBY_NID_VAL) || (val[CONFIG] == STBY_ID_VAL))
827
828
                        puts("powers-up in standby; SET FEATURES subcmd spins-up.");
828
 
                if (((val[CONFIG]==STBY_NID_VAL) || (val[CONFIG]==PWRD_NID_VAL)) && (val[GEN_CONFIG] & INCOMPLETE))
 
829
                if (((val[CONFIG] == STBY_NID_VAL) || (val[CONFIG] == PWRD_NID_VAL)) && (val[GEN_CONFIG] & INCOMPLETE))
829
830
                        puts("\n\tWARNING: ID response incomplete.\n\tFollowing data may be incorrect.\n");
830
831
        }
831
832
 
853
854
                        printf("\n\tSupported: ");
854
855
                        jj = val[MAJOR] << 1;
855
856
                        kk = like_std >4 ? like_std-4: 0;
856
 
                        for (ii = 14; (ii >0)&&(ii>kk); ii--) {
 
857
                        for (ii = 14; (ii > 0) && (ii > kk); ii--) {
857
858
                                if (jj & 0x8000) {
858
859
                                        printf("%u ", ii);
859
860
                                        if (like_std < ii) {
943
944
                for (ii = 1; ii < 15; ii++) {
944
945
                        if (jj & 0x0001)
945
946
                                printf("\t%s\n", nth_string(ata1_cfg_str, ii));
946
 
                        jj >>=1;
 
947
                        jj >>= 1;
947
948
                }
948
949
        }
949
950
        if (dev == ATAPI_DEV) {
952
953
                else if ((val[GEN_CONFIG] & DRQ_RESPONSE_TIME) ==  DRQ_INTR_VAL)
953
954
                        strng = "<=10ms with INTRQ";
954
955
                else if ((val[GEN_CONFIG] & DRQ_RESPONSE_TIME) ==  DRQ_50US_VAL)
955
 
                        strng ="50us";
 
956
                        strng = "50us";
956
957
                else
957
958
                        strng = "unknown";
958
959
                printf("\tDRQ response: %s\n\tPacket size: ", strng); /* Data Request (DRQ) */
1014
1015
                }
1015
1016
 
1016
1017
                if (!bbbig)
1017
 
                        bbbig = (uint64_t)(ll>mm ? ll : mm); /* # 512 byte blocks */
 
1018
                        bbbig = (uint64_t)(ll > mm ? ll : mm); /* # 512 byte blocks */
1018
1019
                printf("\tdevice size with M = 1024*1024: %11"PRIu64" MBytes\n", bbbig>>11);
1019
1020
                bbbig = (bbbig << 9) / 1000000;
1020
1021
                printf("\tdevice size with M = 1000*1000: %11"PRIu64" MBytes ", bbbig);
1160
1161
                jj = ((val[ADV_PIO_MODES] & PIO_SUP) << 3) | 0x0007;
1161
1162
                for (ii = 0; ii <= PIO_MODE_MAX; ii++) {
1162
1163
                        if (jj & 0x0001) printf("pio%d ", ii);
1163
 
                        jj >>=1;
 
1164
                        jj >>= 1;
1164
1165
                }
1165
1166
                bb_putchar('\n');
1166
1167
        } else if (((min_std < 5) || (eqpt == CDROM)) && (val[PIO_MODE] & MODE)) {
1199
1200
                        }
1200
1201
                        if (ii == 31) {
1201
1202
                                if ((val[CMDS_SUPP_2] & VALID) != VALID_VAL)
1202
 
                                        ii +=16;
 
1203
                                        ii += 16;
1203
1204
                        }
1204
1205
                }
1205
1206
        }
1220
1221
                                printf("\t%s\t%s\n",
1221
1222
                                        (!(jj & 0x0001)) ? "not" : "",
1222
1223
                                        nth_string(secu_str, ii));
1223
 
                                jj >>=1;
 
1224
                                jj >>= 1;
1224
1225
                        }
1225
1226
                        if (val[SECU_STATUS] & SECU_ENABLED) {
1226
1227
                                printf("\tSecurity level %s\n",
1271
1272
                }
1272
1273
        }
1273
1274
 
1274
 
        exit(EXIT_SUCCESS);
 
1275
        exit_SUCCESS();
1275
1276
}
1276
1277
#endif
1277
1278