aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvda <vda@69ca8d6d-28ef-0310-b511-8ec308f3f277>2007-03-28 00:14:01 +0000
committervda <vda@69ca8d6d-28ef-0310-b511-8ec308f3f277>2007-03-28 00:14:01 +0000
commite78f4e7f1b8cfd4cc05a370a41eaf70c1f07a1e3 (patch)
tree35d8f801213dbe91a2045c2a6c0b098de71cfb4a
parenta893ecee376aeac0c3e6016ba4693c1da9d4d86f (diff)
downloadbusybox-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.c179
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
484static void print_ascii(uint16_t *p, uint8_t length); 484static void print_ascii(uint16_t *p, uint8_t length);
485 485
486static void xprint_ascii(uint16_t *val ,int i, const char *string, int n) 486static 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)
1232static void flush_buffer_cache(int fd) 1232static 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: */
1963int hdparm_main(int argc, char **argv) ATTRIBUTE_NORETURN;;
1964int hdparm_main(int argc, char **argv) ATTRIBUTE_NORETURN;
1965int hdparm_main(int argc, char **argv); 1965int hdparm_main(int argc, char **argv);
1966int hdparm_main(int argc, char **argv) 1966int 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}