diff options
author | vda <vda@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2007-03-28 00:14:01 +0000 |
---|---|---|
committer | vda <vda@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2007-03-28 00:14:01 +0000 |
commit | e78f4e7f1b8cfd4cc05a370a41eaf70c1f07a1e3 (patch) | |
tree | 35d8f801213dbe91a2045c2a6c0b098de71cfb4a | |
parent | a893ecee376aeac0c3e6016ba4693c1da9d4d86f (diff) | |
download | busybox-w32-e78f4e7f1b8cfd4cc05a370a41eaf70c1f07a1e3.tar.gz busybox-w32-e78f4e7f1b8cfd4cc05a370a41eaf70c1f07a1e3.tar.bz2 busybox-w32-e78f4e7f1b8cfd4cc05a370a41eaf70c1f07a1e3.zip |
hdparm: whitespace style fixes
git-svn-id: svn://busybox.net/trunk/busybox@18257 69ca8d6d-28ef-0310-b511-8ec308f3f277
-rw-r--r-- | miscutils/hdparm.c | 179 |
1 files changed, 89 insertions, 90 deletions
diff --git a/miscutils/hdparm.c b/miscutils/hdparm.c index 0138eed92..8bfe91682 100644 --- a/miscutils/hdparm.c +++ b/miscutils/hdparm.c | |||
@@ -483,7 +483,7 @@ static void bb_ioctl_on_off(int fd, int request, void *argp, const char *string, | |||
483 | #if ENABLE_FEATURE_HDPARM_GET_IDENTITY | 483 | #if ENABLE_FEATURE_HDPARM_GET_IDENTITY |
484 | static void print_ascii(uint16_t *p, uint8_t length); | 484 | static void print_ascii(uint16_t *p, uint8_t length); |
485 | 485 | ||
486 | static void xprint_ascii(uint16_t *val ,int i, const char *string, int n) | 486 | static void xprint_ascii(uint16_t *val, int i, const char *string, int n) |
487 | { | 487 | { |
488 | if (val[i]) { | 488 | if (val[i]) { |
489 | printf("\t%-20s", string); | 489 | printf("\t%-20s", string); |
@@ -501,12 +501,12 @@ static uint8_t mode_loop(uint16_t mode_sup, uint16_t mode_sel, int cc, uint8_t * | |||
501 | 501 | ||
502 | for (ii = 0; ii <= MODE_MAX; ii++) { | 502 | for (ii = 0; ii <= MODE_MAX; ii++) { |
503 | if (mode_sel & 0x0001) { | 503 | if (mode_sel & 0x0001) { |
504 | printf("*%cdma%u ",cc,ii); | 504 | printf("*%cdma%u ", cc, ii); |
505 | if (*have_mode) | 505 | if (*have_mode) |
506 | err_dma = 1; | 506 | err_dma = 1; |
507 | *have_mode = 1; | 507 | *have_mode = 1; |
508 | } else if (mode_sup & 0x0001) | 508 | } else if (mode_sup & 0x0001) |
509 | printf("%cdma%u ",cc,ii); | 509 | printf("%cdma%u ", cc, ii); |
510 | 510 | ||
511 | mode_sup >>= 1; | 511 | mode_sup >>= 1; |
512 | mode_sel >>= 1; | 512 | mode_sel >>= 1; |
@@ -616,7 +616,7 @@ static void identify(uint16_t *id_supplied) | |||
616 | if (val[MINOR] && (val[MINOR] <= MINOR_MAX)) { | 616 | if (val[MINOR] && (val[MINOR] <= MINOR_MAX)) { |
617 | if (like_std < 3) like_std = 3; | 617 | if (like_std < 3) like_std = 3; |
618 | std = actual_ver[val[MINOR]]; | 618 | std = actual_ver[val[MINOR]]; |
619 | if (std) printf("\n\tUsed: %s ",minor_str[val[MINOR]]); | 619 | if (std) printf("\n\tUsed: %s ", minor_str[val[MINOR]]); |
620 | 620 | ||
621 | } | 621 | } |
622 | /* looks like when they up-issue the std, they obsolete one; | 622 | /* looks like when they up-issue the std, they obsolete one; |
@@ -714,7 +714,7 @@ static void identify(uint16_t *id_supplied) | |||
714 | if ((eqpt != CDROM) && (like_std == 1)) { | 714 | if ((eqpt != CDROM) && (like_std == 1)) { |
715 | jj = val[GEN_CONFIG] >> 1; | 715 | jj = val[GEN_CONFIG] >> 1; |
716 | for (ii = 1; ii < 15; ii++) { | 716 | for (ii = 1; ii < 15; ii++) { |
717 | if (jj & 0x0001) printf("\t%s\n",ata1_cfg_str[ii]); | 717 | if (jj & 0x0001) printf("\t%s\n", ata1_cfg_str[ii]); |
718 | jj >>=1; | 718 | jj >>=1; |
719 | } | 719 | } |
720 | } | 720 | } |
@@ -748,7 +748,7 @@ static void identify(uint16_t *id_supplied) | |||
748 | val[LCYLS],jj?val[LCYLS_CUR]:0, val[LHEADS],jj?val[LHEADS_CUR]:0, val[LSECTS],jj?val[LSECTS_CUR]:0); | 748 | val[LCYLS],jj?val[LCYLS_CUR]:0, val[LHEADS],jj?val[LHEADS_CUR]:0, val[LSECTS],jj?val[LSECTS_CUR]:0); |
749 | 749 | ||
750 | if ((min_std == 1) && (val[TRACK_BYTES] || val[SECT_BYTES])) | 750 | if ((min_std == 1) && (val[TRACK_BYTES] || val[SECT_BYTES])) |
751 | printf("\tbytes/track: %u\tbytes/sector: %u\n",val[TRACK_BYTES], val[SECT_BYTES]); | 751 | printf("\tbytes/track: %u\tbytes/sector: %u\n", val[TRACK_BYTES], val[SECT_BYTES]); |
752 | 752 | ||
753 | if (jj) { | 753 | if (jj) { |
754 | mm = (uint32_t)val[CAPACITY_MSB] << 16 | val[CAPACITY_LSB]; | 754 | mm = (uint32_t)val[CAPACITY_MSB] << 16 | val[CAPACITY_LSB]; |
@@ -759,11 +759,11 @@ static void identify(uint16_t *id_supplied) | |||
759 | if (abs(mm - nn) > abs(oo - nn)) | 759 | if (abs(mm - nn) > abs(oo - nn)) |
760 | mm = oo; | 760 | mm = oo; |
761 | } | 761 | } |
762 | printf("\tCHS current addressable sectors:%11u\n",mm); | 762 | printf("\tCHS current addressable sectors:%11u\n", mm); |
763 | } | 763 | } |
764 | } | 764 | } |
765 | /* LBA addressing */ | 765 | /* LBA addressing */ |
766 | printf("\tLBA user addressable sectors:%11u\n",ll); | 766 | printf("\tLBA user addressable sectors:%11u\n", ll); |
767 | if (((val[CMDS_SUPP_1] & VALID) == VALID_VAL) | 767 | if (((val[CMDS_SUPP_1] & VALID) == VALID_VAL) |
768 | && (val[CMDS_SUPP_1] & SUPPORT_48_BIT) | 768 | && (val[CMDS_SUPP_1] & SUPPORT_48_BIT) |
769 | ) { | 769 | ) { |
@@ -771,14 +771,14 @@ static void identify(uint16_t *id_supplied) | |||
771 | (uint64_t)val[LBA_48_MSB] << 32 | | 771 | (uint64_t)val[LBA_48_MSB] << 32 | |
772 | (uint64_t)val[LBA_MID] << 16 | | 772 | (uint64_t)val[LBA_MID] << 16 | |
773 | val[LBA_LSB] ; | 773 | val[LBA_LSB] ; |
774 | printf("\tLBA48 user addressable sectors:%11"PRIu64"\n",bbbig); | 774 | printf("\tLBA48 user addressable sectors:%11"PRIu64"\n", bbbig); |
775 | } | 775 | } |
776 | 776 | ||
777 | if (!bbbig) | 777 | if (!bbbig) |
778 | bbbig = (uint64_t)(ll>mm ? ll : mm); /* # 512 byte blocks */ | 778 | bbbig = (uint64_t)(ll>mm ? ll : mm); /* # 512 byte blocks */ |
779 | printf("\tdevice size with M = 1024*1024: %11"PRIu64" MBytes\n",bbbig>>11); | 779 | printf("\tdevice size with M = 1024*1024: %11"PRIu64" MBytes\n", bbbig>>11); |
780 | bbbig = (bbbig<<9)/1000000; | 780 | bbbig = (bbbig << 9) / 1000000; |
781 | printf("\tdevice size with M = 1000*1000: %11"PRIu64" MBytes ",bbbig); | 781 | printf("\tdevice size with M = 1000*1000: %11"PRIu64" MBytes ", bbbig); |
782 | 782 | ||
783 | if (bbbig > 1000) | 783 | if (bbbig > 1000) |
784 | printf("(%"PRIu64" GB)\n", bbbig/1000); | 784 | printf("(%"PRIu64" GB)\n", bbbig/1000); |
@@ -809,22 +809,22 @@ static void identify(uint16_t *id_supplied) | |||
809 | } | 809 | } |
810 | 810 | ||
811 | if ((min_std == 1) && (val[BUFFER__SIZE] && (val[BUFFER__SIZE] != NOVAL_1))) { | 811 | if ((min_std == 1) && (val[BUFFER__SIZE] && (val[BUFFER__SIZE] != NOVAL_1))) { |
812 | printf("\tBuffer size: %.1fkB\n",(float)val[BUFFER__SIZE]/2); | 812 | printf("\tBuffer size: %.1fkB\n", (float)val[BUFFER__SIZE]/2); |
813 | } | 813 | } |
814 | if ((min_std < 4) && (val[RW_LONG])) { | 814 | if ((min_std < 4) && (val[RW_LONG])) { |
815 | printf("\tbytes avail on r/w long: %u\n",val[RW_LONG]); | 815 | printf("\tbytes avail on r/w long: %u\n", val[RW_LONG]); |
816 | } | 816 | } |
817 | if ((eqpt != CDROM) && (like_std > 3)) { | 817 | if ((eqpt != CDROM) && (like_std > 3)) { |
818 | printf("\tQueue depth: %u\n",(val[QUEUE_DEPTH] & DEPTH_BITS)+1); | 818 | printf("\tQueue depth: %u\n", (val[QUEUE_DEPTH] & DEPTH_BITS) + 1); |
819 | } | 819 | } |
820 | 820 | ||
821 | if (dev == ATA_DEV) { | 821 | if (dev == ATA_DEV) { |
822 | if (like_std == 1) | 822 | if (like_std == 1) |
823 | printf("\tCan%s perform double-word IO\n",(!val[DWORD_IO]) ?"not":""); | 823 | printf("\tCan%s perform double-word IO\n", (!val[DWORD_IO]) ? "not" : ""); |
824 | else { | 824 | else { |
825 | printf("\tStandby timer values: spec'd by %s", (val[CAPAB_0] & STD_STBY) ? "Standard" : "Vendor"); | 825 | printf("\tStandby timer values: spec'd by %s", (val[CAPAB_0] & STD_STBY) ? "Standard" : "Vendor"); |
826 | if ((like_std > 3) && ((val[CAPAB_1] & VALID) == VALID_VAL)) | 826 | if ((like_std > 3) && ((val[CAPAB_1] & VALID) == VALID_VAL)) |
827 | printf(", %s device specific minimum\n",(val[CAPAB_1] & MIN_STANDBY_TIMER)?"with":"no"); | 827 | printf(", %s device specific minimum\n", (val[CAPAB_1] & MIN_STANDBY_TIMER) ? "with" : "no"); |
828 | else | 828 | else |
829 | puts(""); | 829 | puts(""); |
830 | } | 830 | } |
@@ -832,7 +832,7 @@ static void identify(uint16_t *id_supplied) | |||
832 | if ((like_std < 3) && !(val[SECTOR_XFER_MAX] & SECTOR_XFER)) | 832 | if ((like_std < 3) && !(val[SECTOR_XFER_MAX] & SECTOR_XFER)) |
833 | printf("not supported\n"); | 833 | printf("not supported\n"); |
834 | else { | 834 | else { |
835 | printf("Max = %u\tCurrent = ",val[SECTOR_XFER_MAX] & SECTOR_XFER); | 835 | printf("Max = %u\tCurrent = ", val[SECTOR_XFER_MAX] & SECTOR_XFER); |
836 | if (val[SECTOR_XFER_CUR] & MULTIPLE_SETTING_VALID) | 836 | if (val[SECTOR_XFER_CUR] & MULTIPLE_SETTING_VALID) |
837 | printf("%u\n", val[SECTOR_XFER_CUR] & SECTOR_XFER); | 837 | printf("%u\n", val[SECTOR_XFER_CUR] & SECTOR_XFER); |
838 | else | 838 | else |
@@ -852,7 +852,7 @@ static void identify(uint16_t *id_supplied) | |||
852 | } | 852 | } |
853 | if (like_std > 5 && val[ACOUSTIC]) { | 853 | if (like_std > 5 && val[ACOUSTIC]) { |
854 | printf("\tRecommended acoustic management value: %u, current value: %u\n", | 854 | printf("\tRecommended acoustic management value: %u, current value: %u\n", |
855 | (val[ACOUSTIC] >> 8) & 0x00ff, val[ACOUSTIC] & 0x00ff); | 855 | (val[ACOUSTIC] >> 8) & 0x00ff, val[ACOUSTIC] & 0x00ff); |
856 | } | 856 | } |
857 | } else { | 857 | } else { |
858 | /* ATAPI */ | 858 | /* ATAPI */ |
@@ -861,8 +861,8 @@ static void identify(uint16_t *id_supplied) | |||
861 | 861 | ||
862 | if (val[PKT_REL] || val[SVC_NBSY]) { | 862 | if (val[PKT_REL] || val[SVC_NBSY]) { |
863 | printf("\tOverlap support:"); | 863 | printf("\tOverlap support:"); |
864 | if (val[PKT_REL]) printf(" %uus to release bus.",val[PKT_REL]); | 864 | if (val[PKT_REL]) printf(" %uus to release bus.", val[PKT_REL]); |
865 | if (val[SVC_NBSY]) printf(" %uus to clear BSY after SERVICE cmd.",val[SVC_NBSY]); | 865 | if (val[SVC_NBSY]) printf(" %uus to clear BSY after SERVICE cmd.", val[SVC_NBSY]); |
866 | puts(""); | 866 | puts(""); |
867 | } | 867 | } |
868 | } | 868 | } |
@@ -873,21 +873,21 @@ static void identify(uint16_t *id_supplied) | |||
873 | printf("not supported\n"); | 873 | printf("not supported\n"); |
874 | else { | 874 | else { |
875 | if (val[DMA_MODE] && !val[SINGLE_DMA] && !val[MULTI_DMA]) | 875 | if (val[DMA_MODE] && !val[SINGLE_DMA] && !val[MULTI_DMA]) |
876 | printf(" sdma%u\n",(val[DMA_MODE] & MODE) >> 8); | 876 | printf(" sdma%u\n", (val[DMA_MODE] & MODE) >> 8); |
877 | if (val[SINGLE_DMA]) { | 877 | if (val[SINGLE_DMA]) { |
878 | jj = val[SINGLE_DMA]; | 878 | jj = val[SINGLE_DMA]; |
879 | kk = val[SINGLE_DMA] >> 8; | 879 | kk = val[SINGLE_DMA] >> 8; |
880 | err_dma += mode_loop(jj,kk,'s',&have_mode); | 880 | err_dma += mode_loop(jj, kk, 's', &have_mode); |
881 | } | 881 | } |
882 | if (val[MULTI_DMA]) { | 882 | if (val[MULTI_DMA]) { |
883 | jj = val[MULTI_DMA]; | 883 | jj = val[MULTI_DMA]; |
884 | kk = val[MULTI_DMA] >> 8; | 884 | kk = val[MULTI_DMA] >> 8; |
885 | err_dma += mode_loop(jj,kk,'m',&have_mode); | 885 | err_dma += mode_loop(jj, kk, 'm', &have_mode); |
886 | } | 886 | } |
887 | if ((val[WHATS_VALID] & OK_W88) && val[ULTRA_DMA]) { | 887 | if ((val[WHATS_VALID] & OK_W88) && val[ULTRA_DMA]) { |
888 | jj = val[ULTRA_DMA]; | 888 | jj = val[ULTRA_DMA]; |
889 | kk = val[ULTRA_DMA] >> 8; | 889 | kk = val[ULTRA_DMA] >> 8; |
890 | err_dma += mode_loop(jj,kk,'u',&have_mode); | 890 | err_dma += mode_loop(jj, kk, 'u', &have_mode); |
891 | } | 891 | } |
892 | if (err_dma || !have_mode) printf("(?)"); | 892 | if (err_dma || !have_mode) printf("(?)"); |
893 | puts(""); | 893 | puts(""); |
@@ -899,8 +899,8 @@ static void identify(uint16_t *id_supplied) | |||
899 | && (val[DMA_TIME_MIN] || val[DMA_TIME_NORM]) | 899 | && (val[DMA_TIME_MIN] || val[DMA_TIME_NORM]) |
900 | ) { | 900 | ) { |
901 | printf("\t\tCycle time:"); | 901 | printf("\t\tCycle time:"); |
902 | if (val[DMA_TIME_MIN]) printf(" min=%uns",val[DMA_TIME_MIN]); | 902 | if (val[DMA_TIME_MIN]) printf(" min=%uns", val[DMA_TIME_MIN]); |
903 | if (val[DMA_TIME_NORM]) printf(" recommended=%uns",val[DMA_TIME_NORM]); | 903 | if (val[DMA_TIME_NORM]) printf(" recommended=%uns", val[DMA_TIME_NORM]); |
904 | puts(""); | 904 | puts(""); |
905 | } | 905 | } |
906 | } | 906 | } |
@@ -912,13 +912,13 @@ static void identify(uint16_t *id_supplied) | |||
912 | if ((val[WHATS_VALID] & OK_W64_70) && (val[ADV_PIO_MODES] & PIO_SUP)) { | 912 | if ((val[WHATS_VALID] & OK_W64_70) && (val[ADV_PIO_MODES] & PIO_SUP)) { |
913 | jj = ((val[ADV_PIO_MODES] & PIO_SUP) << 3) | 0x0007; | 913 | jj = ((val[ADV_PIO_MODES] & PIO_SUP) << 3) | 0x0007; |
914 | for (ii = 0; ii <= PIO_MODE_MAX ; ii++) { | 914 | for (ii = 0; ii <= PIO_MODE_MAX ; ii++) { |
915 | if (jj & 0x0001) printf("pio%d ",ii); | 915 | if (jj & 0x0001) printf("pio%d ", ii); |
916 | jj >>=1; | 916 | jj >>=1; |
917 | } | 917 | } |
918 | puts(""); | 918 | puts(""); |
919 | } else if (((min_std < 5) || (eqpt == CDROM)) && (val[PIO_MODE] & MODE)) { | 919 | } else if (((min_std < 5) || (eqpt == CDROM)) && (val[PIO_MODE] & MODE)) { |
920 | for (ii = 0; ii <= val[PIO_MODE]>>8; ii++) | 920 | for (ii = 0; ii <= val[PIO_MODE]>>8; ii++) |
921 | printf("pio%d ",ii); | 921 | printf("pio%d ", ii); |
922 | puts(""); | 922 | puts(""); |
923 | } else | 923 | } else |
924 | printf("unknown\n"); | 924 | printf("unknown\n"); |
@@ -962,7 +962,7 @@ static void identify(uint16_t *id_supplied) | |||
962 | ) { | 962 | ) { |
963 | printf("Security:\n"); | 963 | printf("Security:\n"); |
964 | if (val[PSWD_CODE] && (val[PSWD_CODE] != NOVAL_1)) | 964 | if (val[PSWD_CODE] && (val[PSWD_CODE] != NOVAL_1)) |
965 | printf("\tMaster password revision code = %u\n",val[PSWD_CODE]); | 965 | printf("\tMaster password revision code = %u\n", val[PSWD_CODE]); |
966 | jj = val[SECU_STATUS]; | 966 | jj = val[SECU_STATUS]; |
967 | if (jj) { | 967 | if (jj) { |
968 | for (ii = 0; ii < NUM_SECU_STR; ii++) { | 968 | for (ii = 0; ii < NUM_SECU_STR; ii++) { |
@@ -1005,7 +1005,7 @@ static void identify(uint16_t *id_supplied) | |||
1005 | (val[CFA_PWR_MODE] & PWR_MODE_REQ) ? " and required by some commands" : ""); | 1005 | (val[CFA_PWR_MODE] & PWR_MODE_REQ) ? " and required by some commands" : ""); |
1006 | 1006 | ||
1007 | if (val[CFA_PWR_MODE] & MAX_AMPS) | 1007 | if (val[CFA_PWR_MODE] & MAX_AMPS) |
1008 | printf("\tMaximum current = %uma\n",val[CFA_PWR_MODE] & MAX_AMPS); | 1008 | printf("\tMaximum current = %uma\n", val[CFA_PWR_MODE] & MAX_AMPS); |
1009 | } | 1009 | } |
1010 | if ((val[INTEGRITY] & SIG) == SIG_VAL) { | 1010 | if ((val[INTEGRITY] & SIG) == SIG_VAL) { |
1011 | printf("Checksum: %scorrect\n", chksum ? "in" : ""); | 1011 | printf("Checksum: %scorrect\n", chksum ? "in" : ""); |
@@ -1125,7 +1125,7 @@ static void dump_identity(const struct hd_driveid *id) | |||
1125 | if (!(id->field_valid & 1)) | 1125 | if (!(id->field_valid & 1)) |
1126 | printf(" (maybe):"); | 1126 | printf(" (maybe):"); |
1127 | 1127 | ||
1128 | printf(" CurCHS=%u/%u/%u, CurSects=%lu, LBA=%s",id->cur_cyls, id->cur_heads, | 1128 | printf(" CurCHS=%u/%u/%u, CurSects=%lu, LBA=%s", id->cur_cyls, id->cur_heads, |
1129 | id->cur_sectors, | 1129 | id->cur_sectors, |
1130 | (BB_BIG_ENDIAN) ? | 1130 | (BB_BIG_ENDIAN) ? |
1131 | (long unsigned int)(id->cur_capacity0 << 16) | id->cur_capacity1 : | 1131 | (long unsigned int)(id->cur_capacity0 << 16) | id->cur_capacity1 : |
@@ -1200,17 +1200,17 @@ static void dump_identity(const struct hd_driveid *id) | |||
1200 | if (id->dma_ultra & 0x0080) printf("udma7 "); | 1200 | if (id->dma_ultra & 0x0080) printf("udma7 "); |
1201 | } | 1201 | } |
1202 | } | 1202 | } |
1203 | printf("\n AdvancedPM=%s",((id_regs[83]&8)==0)?"no":"yes"); | 1203 | printf("\n AdvancedPM=%s", (!(id_regs[83] & 8)) ? "no" : "yes"); |
1204 | if (id_regs[83] & 8) { | 1204 | if (id_regs[83] & 8) { |
1205 | if (!(id_regs[86] & 8)) | 1205 | if (!(id_regs[86] & 8)) |
1206 | printf(": disabled (255)"); | 1206 | printf(": disabled (255)"); |
1207 | else if ((id_regs[91] & 0xFF00) != 0x4000) | 1207 | else if ((id_regs[91] & 0xFF00) != 0x4000) |
1208 | printf(": unknown setting"); | 1208 | printf(": unknown setting"); |
1209 | else | 1209 | else |
1210 | printf(": mode=0x%02X (%u)",id_regs[91]&0xFF,id_regs[91]&0xFF); | 1210 | printf(": mode=0x%02X (%u)", id_regs[91] & 0xFF, id_regs[91] & 0xFF); |
1211 | } | 1211 | } |
1212 | if (id_regs[82] & 0x20) | 1212 | if (id_regs[82] & 0x20) |
1213 | printf(" WriteCache=%s",(id_regs[85]&0x20) ? "enabled" : "disabled"); | 1213 | printf(" WriteCache=%s", (id_regs[85] & 0x20) ? "enabled" : "disabled"); |
1214 | #ifdef __NEW_HD_DRIVE_ID | 1214 | #ifdef __NEW_HD_DRIVE_ID |
1215 | if ((id->minor_rev_num && id->minor_rev_num <= 31) | 1215 | if ((id->minor_rev_num && id->minor_rev_num <= 31) |
1216 | || (id->major_rev_num && id->minor_rev_num <= 31) | 1216 | || (id->major_rev_num && id->minor_rev_num <= 31) |
@@ -1232,7 +1232,7 @@ static void dump_identity(const struct hd_driveid *id) | |||
1232 | static void flush_buffer_cache(int fd) | 1232 | static void flush_buffer_cache(int fd) |
1233 | { | 1233 | { |
1234 | fsync(fd); /* flush buffers */ | 1234 | fsync(fd); /* flush buffers */ |
1235 | bb_ioctl(fd, BLKFLSBUF, NULL,"BLKFLSBUF" ) ;/* do it again, big time */ | 1235 | bb_ioctl(fd, BLKFLSBUF, NULL, "BLKFLSBUF") ;/* do it again, big time */ |
1236 | #ifdef HDIO_DRIVE_CMD | 1236 | #ifdef HDIO_DRIVE_CMD |
1237 | sleep(1); | 1237 | sleep(1); |
1238 | if (ioctl(fd, HDIO_DRIVE_CMD, NULL) && errno != EINVAL) /* await completion */ | 1238 | if (ioctl(fd, HDIO_DRIVE_CMD, NULL) && errno != EINVAL) /* await completion */ |
@@ -1292,6 +1292,8 @@ static void do_time(int flag, int fd) | |||
1292 | flag = 1 time_device | 1292 | flag = 1 time_device |
1293 | */ | 1293 | */ |
1294 | { | 1294 | { |
1295 | static const struct itimerval thousand = {{1000, 0}, {1000, 0}}; | ||
1296 | |||
1295 | struct itimerval e1, e2; | 1297 | struct itimerval e1, e2; |
1296 | double elapsed, elapsed2; | 1298 | double elapsed, elapsed2; |
1297 | unsigned int max_iterations = 1024, total_MB, iterations; | 1299 | unsigned int max_iterations = 1024, total_MB, iterations; |
@@ -1311,13 +1313,13 @@ static void do_time(int flag, int fd) | |||
1311 | sync(); | 1313 | sync(); |
1312 | sleep(3); | 1314 | sleep(3); |
1313 | 1315 | ||
1314 | setitimer(ITIMER_REAL, &(struct itimerval){{1000,0},{1000,0}}, NULL); | 1316 | setitimer(ITIMER_REAL, &thousand, NULL); |
1315 | 1317 | ||
1316 | if (flag == 0) { | 1318 | if (flag == 0) { |
1317 | /* Time cache */ | 1319 | /* Time cache */ |
1318 | 1320 | ||
1319 | if (seek_to_zero (fd)) return; | 1321 | if (seek_to_zero(fd)) return; |
1320 | if (read_big_block (fd, buf)) return; | 1322 | if (read_big_block(fd, buf)) return; |
1321 | printf(" Timing cached reads: "); | 1323 | printf(" Timing cached reads: "); |
1322 | fflush(stdout); | 1324 | fflush(stdout); |
1323 | 1325 | ||
@@ -1521,20 +1523,20 @@ static void process_dev(char *devname) | |||
1521 | #endif | 1523 | #endif |
1522 | /* Please restore args[n] to these values after each ioctl | 1524 | /* Please restore args[n] to these values after each ioctl |
1523 | except for args[2] */ | 1525 | except for args[2] */ |
1524 | unsigned char args[4] = {WIN_SETFEATURES,0,0,0}; | 1526 | unsigned char args[4] = { WIN_SETFEATURES, 0, 0, 0 }; |
1525 | const char *fmt = " %s\t= %2ld"; | 1527 | const char *fmt = " %s\t= %2ld"; |
1526 | 1528 | ||
1527 | fd = xopen(devname, O_RDONLY|O_NONBLOCK); | 1529 | fd = xopen(devname, O_RDONLY|O_NONBLOCK); |
1528 | printf("\n%s:\n", devname); | 1530 | printf("\n%s:\n", devname); |
1529 | 1531 | ||
1530 | if (set_readahead) { | 1532 | if (set_readahead) { |
1531 | print_flag(get_readahead,"fs readahead", Xreadahead); | 1533 | print_flag(get_readahead, "fs readahead", Xreadahead); |
1532 | bb_ioctl(fd, BLKRASET,(int *)Xreadahead,"BLKRASET"); | 1534 | bb_ioctl(fd, BLKRASET, (int *)Xreadahead, "BLKRASET"); |
1533 | } | 1535 | } |
1534 | #if ENABLE_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF | 1536 | #if ENABLE_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF |
1535 | if (unregister_hwif) { | 1537 | if (unregister_hwif) { |
1536 | printf(" attempting to unregister hwif#%lu\n", hwif); | 1538 | printf(" attempting to unregister hwif#%lu\n", hwif); |
1537 | bb_ioctl(fd, HDIO_UNREGISTER_HWIF,(int *)(unsigned long)hwif,"HDIO_UNREGISTER_HWIF"); | 1539 | bb_ioctl(fd, HDIO_UNREGISTER_HWIF, (int *)(unsigned long)hwif, "HDIO_UNREGISTER_HWIF"); |
1538 | } | 1540 | } |
1539 | #endif | 1541 | #endif |
1540 | #if ENABLE_FEATURE_HDPARM_HDIO_SCAN_HWIF | 1542 | #if ENABLE_FEATURE_HDPARM_HDIO_SCAN_HWIF |
@@ -1563,7 +1565,7 @@ static void process_dev(char *devname) | |||
1563 | bb_ioctl(fd, HDIO_SET_PIO_MODE, (int *)(unsigned long)piomode, "HDIO_SET_PIO_MODE"); | 1565 | bb_ioctl(fd, HDIO_SET_PIO_MODE, (int *)(unsigned long)piomode, "HDIO_SET_PIO_MODE"); |
1564 | } | 1566 | } |
1565 | if (set_io32bit) { | 1567 | if (set_io32bit) { |
1566 | print_flag(get_io32bit,"32-bit IO_support flag", io32bit); | 1568 | print_flag(get_io32bit, "32-bit IO_support flag", io32bit); |
1567 | bb_ioctl(fd, HDIO_SET_32BIT, (int *)io32bit, "HDIO_SET_32BIT"); | 1569 | bb_ioctl(fd, HDIO_SET_32BIT, (int *)io32bit, "HDIO_SET_32BIT"); |
1568 | } | 1570 | } |
1569 | if (set_mult) { | 1571 | if (set_mult) { |
@@ -1575,11 +1577,11 @@ static void process_dev(char *devname) | |||
1575 | #endif | 1577 | #endif |
1576 | } | 1578 | } |
1577 | if (set_readonly) { | 1579 | if (set_readonly) { |
1578 | print_flag_on_off(get_readonly,"readonly", readonly); | 1580 | print_flag_on_off(get_readonly, "readonly", readonly); |
1579 | bb_ioctl(fd, BLKROSET, &readonly, "BLKROSET"); | 1581 | bb_ioctl(fd, BLKROSET, &readonly, "BLKROSET"); |
1580 | } | 1582 | } |
1581 | if (set_unmask) { | 1583 | if (set_unmask) { |
1582 | print_flag_on_off(get_unmask,"unmaskirq", unmask); | 1584 | print_flag_on_off(get_unmask, "unmaskirq", unmask); |
1583 | bb_ioctl(fd, HDIO_SET_UNMASKINTR, (int *)unmask, "HDIO_SET_UNMASKINTR"); | 1585 | bb_ioctl(fd, HDIO_SET_UNMASKINTR, (int *)unmask, "HDIO_SET_UNMASKINTR"); |
1584 | } | 1586 | } |
1585 | #if ENABLE_FEATURE_HDPARM_HDIO_GETSET_DMA | 1587 | #if ENABLE_FEATURE_HDPARM_HDIO_GETSET_DMA |
@@ -1589,40 +1591,40 @@ static void process_dev(char *devname) | |||
1589 | } | 1591 | } |
1590 | #endif /* FEATURE_HDPARM_HDIO_GETSET_DMA */ | 1592 | #endif /* FEATURE_HDPARM_HDIO_GETSET_DMA */ |
1591 | if (set_dma_q) { | 1593 | if (set_dma_q) { |
1592 | print_flag_on_off(get_dma_q,"DMA queue_depth", dma_q); | 1594 | print_flag_on_off(get_dma_q, "DMA queue_depth", dma_q); |
1593 | bb_ioctl(fd, HDIO_SET_QDMA, (int *)dma_q, "HDIO_SET_QDMA"); | 1595 | bb_ioctl(fd, HDIO_SET_QDMA, (int *)dma_q, "HDIO_SET_QDMA"); |
1594 | } | 1596 | } |
1595 | if (set_nowerr) { | 1597 | if (set_nowerr) { |
1596 | print_flag_on_off(get_nowerr,"nowerr", nowerr); | 1598 | print_flag_on_off(get_nowerr, "nowerr", nowerr); |
1597 | bb_ioctl(fd, HDIO_SET_NOWERR, (int *)nowerr,"HDIO_SET_NOWERR"); | 1599 | bb_ioctl(fd, HDIO_SET_NOWERR, (int *)nowerr, "HDIO_SET_NOWERR"); |
1598 | } | 1600 | } |
1599 | if (set_keep) { | 1601 | if (set_keep) { |
1600 | print_flag_on_off(get_keep,"keep_settings", keep); | 1602 | print_flag_on_off(get_keep, "keep_settings", keep); |
1601 | bb_ioctl(fd, HDIO_SET_KEEPSETTINGS, (int *)keep,"HDIO_SET_KEEPSETTINGS"); | 1603 | bb_ioctl(fd, HDIO_SET_KEEPSETTINGS, (int *)keep, "HDIO_SET_KEEPSETTINGS"); |
1602 | } | 1604 | } |
1603 | #ifdef HDIO_DRIVE_CMD | 1605 | #ifdef HDIO_DRIVE_CMD |
1604 | if (set_doorlock) { | 1606 | if (set_doorlock) { |
1605 | args[0] = doorlock ? WIN_DOORLOCK : WIN_DOORUNLOCK; | 1607 | args[0] = doorlock ? WIN_DOORLOCK : WIN_DOORUNLOCK; |
1606 | args[2] = 0; | 1608 | args[2] = 0; |
1607 | print_flag_on_off(get_doorlock,"drive doorlock", doorlock); | 1609 | print_flag_on_off(get_doorlock, "drive doorlock", doorlock); |
1608 | bb_ioctl(fd, HDIO_DRIVE_CMD, &args,"HDIO_DRIVE_CMD(doorlock)"); | 1610 | bb_ioctl(fd, HDIO_DRIVE_CMD, &args, "HDIO_DRIVE_CMD(doorlock)"); |
1609 | args[0] = WIN_SETFEATURES; | 1611 | args[0] = WIN_SETFEATURES; |
1610 | } | 1612 | } |
1611 | if (set_dkeep) { | 1613 | if (set_dkeep) { |
1612 | /* lock/unlock the drive's "feature" settings */ | 1614 | /* lock/unlock the drive's "feature" settings */ |
1613 | print_flag_on_off(get_dkeep,"drive keep features", dkeep); | 1615 | print_flag_on_off(get_dkeep, "drive keep features", dkeep); |
1614 | args[2] = dkeep ? 0x66 : 0xcc; | 1616 | args[2] = dkeep ? 0x66 : 0xcc; |
1615 | bb_ioctl(fd, HDIO_DRIVE_CMD, &args,"HDIO_DRIVE_CMD(keepsettings)"); | 1617 | bb_ioctl(fd, HDIO_DRIVE_CMD, &args, "HDIO_DRIVE_CMD(keepsettings)"); |
1616 | } | 1618 | } |
1617 | if (set_defects) { | 1619 | if (set_defects) { |
1618 | args[2] = defects ? 0x04 : 0x84; | 1620 | args[2] = defects ? 0x04 : 0x84; |
1619 | print_flag(get_defects,"drive defect-mgmt", defects); | 1621 | print_flag(get_defects, "drive defect-mgmt", defects); |
1620 | bb_ioctl(fd, HDIO_DRIVE_CMD, &args,"HDIO_DRIVE_CMD(defectmgmt)"); | 1622 | bb_ioctl(fd, HDIO_DRIVE_CMD, &args, "HDIO_DRIVE_CMD(defectmgmt)"); |
1621 | } | 1623 | } |
1622 | if (set_prefetch) { | 1624 | if (set_prefetch) { |
1623 | args[1] = prefetch; | 1625 | args[1] = prefetch; |
1624 | args[2] = 0xab; | 1626 | args[2] = 0xab; |
1625 | print_flag(get_prefetch,"drive prefetch", prefetch); | 1627 | print_flag(get_prefetch, "drive prefetch", prefetch); |
1626 | bb_ioctl(fd, HDIO_DRIVE_CMD, &args, "HDIO_DRIVE_CMD(setprefetch)"); | 1628 | bb_ioctl(fd, HDIO_DRIVE_CMD, &args, "HDIO_DRIVE_CMD(setprefetch)"); |
1627 | args[1] = 0; | 1629 | args[1] = 0; |
1628 | } | 1630 | } |
@@ -1631,15 +1633,15 @@ static void process_dev(char *devname) | |||
1631 | args[2] = 3; | 1633 | args[2] = 3; |
1632 | if (get_xfermode) | 1634 | if (get_xfermode) |
1633 | { | 1635 | { |
1634 | print_flag(1,"xfermode", xfermode_requested); | 1636 | print_flag(1, "xfermode", xfermode_requested); |
1635 | interpret_xfermode(xfermode_requested); | 1637 | interpret_xfermode(xfermode_requested); |
1636 | } | 1638 | } |
1637 | bb_ioctl(fd, HDIO_DRIVE_CMD, &args,"HDIO_DRIVE_CMD(setxfermode)"); | 1639 | bb_ioctl(fd, HDIO_DRIVE_CMD, &args, "HDIO_DRIVE_CMD(setxfermode)"); |
1638 | args[1] = 0; | 1640 | args[1] = 0; |
1639 | } | 1641 | } |
1640 | if (set_lookahead) { | 1642 | if (set_lookahead) { |
1641 | args[2] = lookahead ? 0xaa : 0x55; | 1643 | args[2] = lookahead ? 0xaa : 0x55; |
1642 | print_flag_on_off(get_lookahead,"drive read-lookahead", lookahead); | 1644 | print_flag_on_off(get_lookahead, "drive read-lookahead", lookahead); |
1643 | bb_ioctl(fd, HDIO_DRIVE_CMD, &args, "HDIO_DRIVE_CMD(setreadahead)"); | 1645 | bb_ioctl(fd, HDIO_DRIVE_CMD, &args, "HDIO_DRIVE_CMD(setreadahead)"); |
1644 | } | 1646 | } |
1645 | if (set_apmmode) { | 1647 | if (set_apmmode) { |
@@ -1647,7 +1649,7 @@ static void process_dev(char *devname) | |||
1647 | args[1] = apmmode; /* sector count register 1-255 */ | 1649 | args[1] = apmmode; /* sector count register 1-255 */ |
1648 | if (get_apmmode) | 1650 | if (get_apmmode) |
1649 | printf(" setting APM level to %s 0x%02lX (%ld)\n", (apmmode == 255) ? "disabled" : "", apmmode, apmmode); | 1651 | printf(" setting APM level to %s 0x%02lX (%ld)\n", (apmmode == 255) ? "disabled" : "", apmmode, apmmode); |
1650 | bb_ioctl(fd, HDIO_DRIVE_CMD, &args,"HDIO_DRIVE_CMD"); | 1652 | bb_ioctl(fd, HDIO_DRIVE_CMD, &args, "HDIO_DRIVE_CMD"); |
1651 | args[1] = 0; | 1653 | args[1] = 0; |
1652 | } | 1654 | } |
1653 | if (set_wcache) { | 1655 | if (set_wcache) { |
@@ -1655,10 +1657,10 @@ static void process_dev(char *devname) | |||
1655 | #ifndef WIN_FLUSHCACHE | 1657 | #ifndef WIN_FLUSHCACHE |
1656 | #define WIN_FLUSHCACHE 0xe7 | 1658 | #define WIN_FLUSHCACHE 0xe7 |
1657 | #endif | 1659 | #endif |
1658 | static unsigned char flushcache[4] = {WIN_FLUSHCACHE,0,0,0}; | 1660 | static unsigned char flushcache[4] = { WIN_FLUSHCACHE, 0, 0, 0 }; |
1659 | #endif /* DO_FLUSHCACHE */ | 1661 | #endif /* DO_FLUSHCACHE */ |
1660 | args[2] = wcache ? 0x02 : 0x82; | 1662 | args[2] = wcache ? 0x02 : 0x82; |
1661 | print_flag_on_off(get_wcache,"drive write-caching", wcache); | 1663 | print_flag_on_off(get_wcache, "drive write-caching", wcache); |
1662 | #ifdef DO_FLUSHCACHE | 1664 | #ifdef DO_FLUSHCACHE |
1663 | if (!wcache) | 1665 | if (!wcache) |
1664 | bb_ioctl(fd, HDIO_DRIVE_CMD, &flushcache, "HDIO_DRIVE_CMD(flushcache)"); | 1666 | bb_ioctl(fd, HDIO_DRIVE_CMD, &flushcache, "HDIO_DRIVE_CMD(flushcache)"); |
@@ -1705,7 +1707,7 @@ static void process_dev(char *devname) | |||
1705 | args[0] = WIN_SETIDLE1; | 1707 | args[0] = WIN_SETIDLE1; |
1706 | args[1] = standby_requested; | 1708 | args[1] = standby_requested; |
1707 | if (get_standby) { | 1709 | if (get_standby) { |
1708 | print_flag(1,"standby", standby_requested); | 1710 | print_flag(1, "standby", standby_requested); |
1709 | interpret_standby(standby_requested); | 1711 | interpret_standby(standby_requested); |
1710 | } | 1712 | } |
1711 | bb_ioctl(fd, HDIO_DRIVE_CMD, &args, "HDIO_DRIVE_CMD(setidle1)"); | 1713 | bb_ioctl(fd, HDIO_DRIVE_CMD, &args, "HDIO_DRIVE_CMD(setidle1)"); |
@@ -1748,15 +1750,14 @@ static void process_dev(char *devname) | |||
1748 | } | 1750 | } |
1749 | } | 1751 | } |
1750 | if (get_unmask) { | 1752 | if (get_unmask) { |
1751 | bb_ioctl_on_off(fd, HDIO_GET_UNMASKINTR,(unsigned long *)parm, | 1753 | bb_ioctl_on_off(fd, HDIO_GET_UNMASKINTR, (unsigned long *)parm, |
1752 | "HDIO_GET_UNMASKINTR","unmaskirq"); | 1754 | "HDIO_GET_UNMASKINTR", "unmaskirq"); |
1753 | } | 1755 | } |
1754 | 1756 | ||
1755 | 1757 | ||
1756 | #if ENABLE_FEATURE_HDPARM_HDIO_GETSET_DMA | 1758 | #if ENABLE_FEATURE_HDPARM_HDIO_GETSET_DMA |
1757 | if (get_dma) { | 1759 | if (get_dma) { |
1758 | if (!bb_ioctl(fd, HDIO_GET_DMA, &parm, "HDIO_GET_DMA")) | 1760 | if (!bb_ioctl(fd, HDIO_GET_DMA, &parm, "HDIO_GET_DMA")) { |
1759 | { | ||
1760 | printf(fmt, "using_dma", parm); | 1761 | printf(fmt, "using_dma", parm); |
1761 | if (parm == 8) | 1762 | if (parm == 8) |
1762 | printf(" (DMA-Assisted-PIO)\n"); | 1763 | printf(" (DMA-Assisted-PIO)\n"); |
@@ -1766,25 +1767,25 @@ static void process_dev(char *devname) | |||
1766 | } | 1767 | } |
1767 | #endif | 1768 | #endif |
1768 | if (get_dma_q) { | 1769 | if (get_dma_q) { |
1769 | bb_ioctl_on_off (fd, HDIO_GET_QDMA,(unsigned long *)parm, | 1770 | bb_ioctl_on_off(fd, HDIO_GET_QDMA, (unsigned long *)parm, |
1770 | "HDIO_GET_QDMA","queue_depth"); | 1771 | "HDIO_GET_QDMA", "queue_depth"); |
1771 | } | 1772 | } |
1772 | if (get_keep) { | 1773 | if (get_keep) { |
1773 | bb_ioctl_on_off (fd, HDIO_GET_KEEPSETTINGS,(unsigned long *)parm, | 1774 | bb_ioctl_on_off(fd, HDIO_GET_KEEPSETTINGS, (unsigned long *)parm, |
1774 | "HDIO_GET_KEEPSETTINGS","keepsettings"); | 1775 | "HDIO_GET_KEEPSETTINGS", "keepsettings"); |
1775 | } | 1776 | } |
1776 | 1777 | ||
1777 | if (get_nowerr) { | 1778 | if (get_nowerr) { |
1778 | bb_ioctl_on_off (fd, HDIO_GET_NOWERR,(unsigned long *)&parm, | 1779 | bb_ioctl_on_off(fd, HDIO_GET_NOWERR, (unsigned long *)&parm, |
1779 | "HDIO_GET_NOWERR","nowerr"); | 1780 | "HDIO_GET_NOWERR", "nowerr"); |
1780 | } | 1781 | } |
1781 | if (get_readonly) { | 1782 | if (get_readonly) { |
1782 | bb_ioctl_on_off(fd, BLKROGET,(unsigned long *)parm, | 1783 | bb_ioctl_on_off(fd, BLKROGET, (unsigned long *)parm, |
1783 | "BLKROGET","readonly"); | 1784 | "BLKROGET", "readonly"); |
1784 | } | 1785 | } |
1785 | if (get_readahead) { | 1786 | if (get_readahead) { |
1786 | bb_ioctl_on_off (fd, BLKRAGET, (unsigned long *) parm, | 1787 | bb_ioctl_on_off(fd, BLKRAGET, (unsigned long *) parm, |
1787 | "BLKRAGET","readahead"); | 1788 | "BLKRAGET", "readahead"); |
1788 | } | 1789 | } |
1789 | if (get_geom) { | 1790 | if (get_geom) { |
1790 | if (!bb_ioctl(fd, BLKGETSIZE, &parm, "BLKGETSIZE")) { | 1791 | if (!bb_ioctl(fd, BLKGETSIZE, &parm, "BLKGETSIZE")) { |
@@ -1934,7 +1935,8 @@ static void parse_xfermode(int flag, unsigned long *get, unsigned long *set, int | |||
1934 | if (flag) { | 1935 | if (flag) { |
1935 | *get = 1; | 1936 | *get = 1; |
1936 | if (optarg) { | 1937 | if (optarg) { |
1937 | *set = ((*value = translate_xfermode(optarg)) > -1); | 1938 | *value = translate_xfermode(optarg); |
1939 | *set = (*value > -1); | ||
1938 | } | 1940 | } |
1939 | } | 1941 | } |
1940 | } | 1942 | } |
@@ -1960,8 +1962,6 @@ static const char hdparm_options[] = "gfu::n::p:r::m::c::k::a::B:tTh" | |||
1960 | /*-------------------------------------*/ | 1962 | /*-------------------------------------*/ |
1961 | 1963 | ||
1962 | /* our main() routine: */ | 1964 | /* our main() routine: */ |
1963 | int hdparm_main(int argc, char **argv) ATTRIBUTE_NORETURN;; | ||
1964 | int hdparm_main(int argc, char **argv) ATTRIBUTE_NORETURN; | ||
1965 | int hdparm_main(int argc, char **argv); | 1965 | int hdparm_main(int argc, char **argv); |
1966 | int hdparm_main(int argc, char **argv) | 1966 | int hdparm_main(int argc, char **argv) |
1967 | { | 1967 | { |
@@ -1978,7 +1978,7 @@ int hdparm_main(int argc, char **argv) | |||
1978 | if (c == 'u') parse_opts(&get_unmask, &set_unmask, &unmask, 0, 1); | 1978 | if (c == 'u') parse_opts(&get_unmask, &set_unmask, &unmask, 0, 1); |
1979 | USE_FEATURE_HDPARM_HDIO_GETSET_DMA(if (c == 'd') parse_opts(&get_dma, &set_dma, &dma, 0, 9)); | 1979 | USE_FEATURE_HDPARM_HDIO_GETSET_DMA(if (c == 'd') parse_opts(&get_dma, &set_dma, &dma, 0, 9)); |
1980 | if (c == 'n') parse_opts(&get_nowerr, &set_nowerr, &nowerr, 0, 1); | 1980 | if (c == 'n') parse_opts(&get_nowerr, &set_nowerr, &nowerr, 0, 1); |
1981 | parse_xfermode((c == 'p'),&noisy_piomode, &set_piomode, &piomode); | 1981 | parse_xfermode((c == 'p'), &noisy_piomode, &set_piomode, &piomode); |
1982 | if (c == 'r') parse_opts(&get_readonly, &set_readonly, &readonly, 0, 1); | 1982 | if (c == 'r') parse_opts(&get_readonly, &set_readonly, &readonly, 0, 1); |
1983 | if (c == 'm') parse_opts(&get_mult, &set_mult, &mult, 0, INT_MAX /*32*/); | 1983 | if (c == 'm') parse_opts(&get_mult, &set_mult, &mult, 0, INT_MAX /*32*/); |
1984 | if (c == 'c') parse_opts(&get_io32bit, &set_io32bit, &io32bit, 0, INT_MAX /*8*/); | 1984 | if (c == 'c') parse_opts(&get_io32bit, &set_io32bit, &io32bit, 0, INT_MAX /*8*/); |
@@ -2031,18 +2031,17 @@ int hdparm_main(int argc, char **argv) | |||
2031 | get_mult = get_io32bit = get_unmask = get_keep = get_readonly = get_readahead = get_geom = 1; | 2031 | get_mult = get_io32bit = get_unmask = get_keep = get_readonly = get_readahead = get_geom = 1; |
2032 | USE_FEATURE_HDPARM_HDIO_GETSET_DMA(get_dma = 1); | 2032 | USE_FEATURE_HDPARM_HDIO_GETSET_DMA(get_dma = 1); |
2033 | } | 2033 | } |
2034 | argc -= optind; | ||
2035 | argv += optind; | 2034 | argv += optind; |
2036 | 2035 | ||
2037 | if (argc < 1) { | 2036 | if (!*argv) { |
2038 | if (ENABLE_FEATURE_HDPARM_GET_IDENTITY && !isatty(STDIN_FILENO)) | 2037 | if (ENABLE_FEATURE_HDPARM_GET_IDENTITY && !isatty(STDIN_FILENO)) |
2039 | identify_from_stdin(); /* EXIT */ | 2038 | identify_from_stdin(); /* EXIT */ |
2040 | else bb_show_usage(); | 2039 | else bb_show_usage(); |
2041 | } | 2040 | } |
2042 | 2041 | ||
2043 | while (argc--) { | 2042 | do { |
2044 | process_dev(*argv); | 2043 | process_dev(*argv++); |
2045 | argv++; | 2044 | } while (*argv); |
2046 | } | 2045 | |
2047 | exit(EXIT_SUCCESS); | 2046 | return EXIT_SUCCESS; |
2048 | } | 2047 | } |