[git commit] hdparm: correct (t & 1) ? '0' : '5' thinko; wrap 80+ col lines

Denys Vlasenko vda.linux at googlemail.com
Wed May 20 12:48:03 UTC 2009


commit: http://git.busybox.net/busybox/commit/?id=6d335be21167bbc93b7d8cd434333d78463b5b92
branch: http://git.busybox.net/busybox/commit/?id=refs/heads/master


Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 miscutils/hdparm.c |  126 ++++++++++++++++++++++++++++++++++------------------
 1 files changed, 83 insertions(+), 43 deletions(-)

diff --git a/miscutils/hdparm.c b/miscutils/hdparm.c
index f963888..ece01fb 100644
--- a/miscutils/hdparm.c
+++ b/miscutils/hdparm.c
@@ -870,16 +870,27 @@ static void identify(uint16_t *val)
 	} else {
 		/* addressing...CHS? See section 6.2 of ATA specs 4 or 5 */
 		ll = (uint32_t)val[LBA_SECTS_MSB] << 16 | val[LBA_SECTS_LSB];
-		mm = 0; bbbig = 0;
+		mm = 0;
+		bbbig = 0;
 		if ((ll > 0x00FBFC10) && (!val[LCYLS]))
 			printf("\tCHS addressing not supported\n");
 		else {
 			jj = val[WHATS_VALID] & OK_W54_58;
-			printf("\tLogical\t\tmax\tcurrent\n\tcylinders\t%u\t%u\n\theads\t\t%u\t%u\n\tsectors/track\t%u\t%u\n\t--\n",
-					val[LCYLS],jj?val[LCYLS_CUR]:0, val[LHEADS],jj?val[LHEADS_CUR]:0, val[LSECTS],jj?val[LSECTS_CUR]:0);
+			printf("\tLogical\t\tmax\tcurrent\n"
+				"\tcylinders\t%u\t%u\n"
+				"\theads\t\t%u\t%u\n"
+				"\tsectors/track\t%u\t%u\n"
+				"\t--\n",
+				val[LCYLS],
+				jj ? val[LCYLS_CUR] : 0,
+				val[LHEADS],
+				jj ? val[LHEADS_CUR] : 0,
+				val[LSECTS],
+				jj ? val[LSECTS_CUR] : 0);
 
 			if ((min_std == 1) && (val[TRACK_BYTES] || val[SECT_BYTES]))
-				printf("\tbytes/track: %u\tbytes/sector: %u\n", val[TRACK_BYTES], val[SECT_BYTES]);
+				printf("\tbytes/track: %u\tbytes/sector: %u\n",
+					val[TRACK_BYTES], val[SECT_BYTES]);
 
 			if (jj) {
 				mm = (uint32_t)val[CAPACITY_MSB] << 16 | val[CAPACITY_LSB];
@@ -921,22 +932,24 @@ static void identify(uint16_t *val)
 	printf("Capabilities:\n\t");
 
 	if (dev == ATAPI_DEV) {
-		if (eqpt != CDROM && (val[CAPAB_0] & CMD_Q_SUP)) printf("Cmd queuing, ");
-		if (val[CAPAB_0] & OVLP_SUP) printf("Cmd overlap, ");
+		if (eqpt != CDROM && (val[CAPAB_0] & CMD_Q_SUP))
+			printf("Cmd queuing, ");
+		if (val[CAPAB_0] & OVLP_SUP)
+			printf("Cmd overlap, ");
 	}
 	if (val[CAPAB_0] & LBA_SUP) printf("LBA, ");
 
 	if (like_std != 1) {
 		printf("IORDY%s(can%s be disabled)\n",
-				!(val[CAPAB_0] & IORDY_SUP) ? "(may be)" : "",
-				(val[CAPAB_0] & IORDY_OFF) ? "" :"not");
+			!(val[CAPAB_0] & IORDY_SUP) ? "(may be)" : "",
+			(val[CAPAB_0] & IORDY_OFF) ? "" :"not");
 	} else
 		printf("no IORDY\n");
 
 	if ((like_std == 1) && val[BUF_TYPE]) {
 		printf("\tBuffer type: %04x: %s%s\n", val[BUF_TYPE],
-				(val[BUF_TYPE] < 2) ? "single port, single-sector" : "dual port, multi-sector",
-				(val[BUF_TYPE] > 2) ? " with read caching ability" : "");
+			(val[BUF_TYPE] < 2) ? "single port, single-sector" : "dual port, multi-sector",
+			(val[BUF_TYPE] > 2) ? " with read caching ability" : "");
 	}
 
 	if ((min_std == 1) && (val[BUFFER__SIZE] && (val[BUFFER__SIZE] != NOVAL_1))) {
@@ -953,9 +966,11 @@ static void identify(uint16_t *val)
 		if (like_std == 1)
 			printf("\tCan%s perform double-word IO\n", (!val[DWORD_IO]) ? "not" : "");
 		else {
-			printf("\tStandby timer values: spec'd by %s", (val[CAPAB_0] & STD_STBY) ? "Standard" : "Vendor");
+			printf("\tStandby timer values: spec'd by %s",
+				(val[CAPAB_0] & STD_STBY) ? "standard" : "vendor");
 			if ((like_std > 3) && ((val[CAPAB_1] & VALID) == VALID_VAL))
-				printf(", %s device specific minimum\n", (val[CAPAB_1] & MIN_STANDBY_TIMER) ? "with" : "no");
+				printf(", %s device specific minimum\n",
+					(val[CAPAB_1] & MIN_STANDBY_TIMER) ? "with" : "no");
 			else
 				bb_putchar('\n');
 		}
@@ -983,7 +998,8 @@ static void identify(uint16_t *val)
 		}
 		if (like_std > 5 && val[ACOUSTIC]) {
 			printf("\tRecommended acoustic management value: %u, current value: %u\n",
-					(val[ACOUSTIC] >> 8) & 0x00ff, val[ACOUSTIC] & 0x00ff);
+				(val[ACOUSTIC] >> 8) & 0x00ff,
+				val[ACOUSTIC] & 0x00ff);
 		}
 	} else {
 		 /* ATAPI */
@@ -992,8 +1008,11 @@ static void identify(uint16_t *val)
 
 		if (val[PKT_REL] || val[SVC_NBSY]) {
 			printf("\tOverlap support:");
-			if (val[PKT_REL]) printf(" %uus to release bus.", val[PKT_REL]);
-			if (val[SVC_NBSY]) printf(" %uus to clear BSY after SERVICE cmd.", val[SVC_NBSY]);
+			if (val[PKT_REL])
+				printf(" %uus to release bus.", val[PKT_REL]);
+			if (val[SVC_NBSY])
+				printf(" %uus to clear BSY after SERVICE cmd.",
+					val[SVC_NBSY]);
 			bb_putchar('\n');
 		}
 	}
@@ -1057,14 +1076,17 @@ static void identify(uint16_t *val)
 	if (val[WHATS_VALID] & OK_W64_70) {
 		if (val[PIO_NO_FLOW] || val[PIO_FLOW]) {
 			printf("\t\tCycle time:");
-			if (val[PIO_NO_FLOW]) printf(" no flow control=%uns", val[PIO_NO_FLOW]);
-			if (val[PIO_FLOW]) printf("  IORDY flow control=%uns", val[PIO_FLOW]);
+			if (val[PIO_NO_FLOW])
+				printf(" no flow control=%uns", val[PIO_NO_FLOW]);
+			if (val[PIO_FLOW])
+				printf("  IORDY flow control=%uns", val[PIO_FLOW]);
 			bb_putchar('\n');
 		}
 	}
 
 	if ((val[CMDS_SUPP_1] & VALID) == VALID_VAL) {
-		printf("Commands/features:\n\tEnabled\tSupported:\n");
+		printf("Commands/features:\n"
+			"\tEnabled\tSupported:\n");
 		jj = val[CMDS_SUPP_0];
 		kk = val[CMDS_EN_0];
 		for (ii = 0; ii < NUM_CMD_FEAT_STR; ii++) {
@@ -1098,11 +1120,14 @@ static void identify(uint16_t *val)
 		jj = val[SECU_STATUS];
 		if (jj) {
 			for (ii = 0; ii < NUM_SECU_STR; ii++) {
-				printf("\t%s\t%s\n", (!(jj & 0x0001)) ? "not" : "", nth_string(secu_str, ii));
+				printf("\t%s\t%s\n",
+					(!(jj & 0x0001)) ? "not" : "",
+					nth_string(secu_str, ii));
 				jj >>=1;
 			}
 			if (val[SECU_STATUS] & SECU_ENABLED) {
-				printf("\tSecurity level %s\n", (val[SECU_STATUS] & SECU_LEVEL) ? "maximum" : "high");
+				printf("\tSecurity level %s\n",
+					(val[SECU_STATUS] & SECU_LEVEL) ? "maximum" : "high");
 			}
 		}
 		jj =  val[ERASE_TIME]     & ERASE_BITS;
@@ -1127,16 +1152,20 @@ static void identify(uint16_t *val)
 			strng = " determined by CSEL";
 		else
 			strng = "";
-		printf("HW reset results:\n\tCBLID- %s Vih\n\tDevice num = %i%s\n",
-				(val[HWRST_RSLT] & CBLID) ? "above" : "below", !(oo), strng);
+		printf("HW reset results:\n"
+			"\tCBLID- %s Vih\n"
+			"\tDevice num = %i%s\n",
+			(val[HWRST_RSLT] & CBLID) ? "above" : "below",
+			!(oo), strng);
 	}
 
 	/* more stuff from std 5 */
 	if ((like_std > 4) && (eqpt != CDROM)) {
 		if (val[CFA_PWR_MODE] & VALID_W160) {
-			printf("CFA power mode 1:\n\t%s%s\n", (val[CFA_PWR_MODE] & PWR_MODE_OFF) ? "disabled" : "enabled",
-					(val[CFA_PWR_MODE] & PWR_MODE_REQ) ? " and required by some commands" : "");
-
+			printf("CFA power mode 1:\n"
+				"\t%s%s\n",
+				(val[CFA_PWR_MODE] & PWR_MODE_OFF) ? "disabled" : "enabled",
+				(val[CFA_PWR_MODE] & PWR_MODE_REQ) ? " and required by some commands" : "");
 			if (val[CFA_PWR_MODE] & MAX_AMPS)
 				printf("\tMaximum current = %uma\n", val[CFA_PWR_MODE] & MAX_AMPS);
 		}
@@ -1184,11 +1213,12 @@ static void dump_identity(const struct hd_driveid *id)
 			printf(" %s", nth_string(cfg_str, i));
 	}
 	printf(" }\n RawCHS=%u/%u/%u, TrkSize=%u, SectSize=%u, ECCbytes=%u\n"
-			" BuffType=(%u) %s, BuffSize=%ukB, MaxMultSect=%u",
-				id->cyls, id->heads, id->sectors, id->track_bytes,
-				id->sector_bytes, id->ecc_bytes,
-				id->buf_type, nth_string(BuffType, (id->buf_type > 3) ? 0 : id->buf_type),
-				id->buf_size/2, id->max_multsect);
+		" BuffType=(%u) %s, BuffSize=%ukB, MaxMultSect=%u",
+		id->cyls, id->heads, id->sectors, id->track_bytes,
+		id->sector_bytes, id->ecc_bytes,
+		id->buf_type,
+		nth_string(BuffType, (id->buf_type > 3) ? 0 : id->buf_type),
+		id->buf_size/2, id->max_multsect);
 	if (id->max_multsect) {
 		printf(", MultSect=");
 		if (!(id->multsect_valid & 1))
@@ -1213,7 +1243,10 @@ static void dump_identity(const struct hd_driveid *id)
 	if (id->capability & 2)
 		printf(", LBAsects=%u", id->lba_capacity);
 
-	printf("\n IORDY=%s", (id->capability & 8) ? (id->capability & 4) ?  "on/off" : "yes" : "no");
+	printf("\n IORDY=%s",
+		(id->capability & 8)
+			? ((id->capability & 4) ? "on/off" : "yes")
+			: "no");
 
 	if (((id->capability & 8) || (id->field_valid & 2)) && (id->field_valid & 2))
 		printf(", tPIO={min:%u,w/IORDY:%u}", id->eide_pio, id->eide_pio_iordy);
@@ -1285,12 +1318,14 @@ static void dump_identity(const struct hd_driveid *id)
 	if ((id->minor_rev_num && id->minor_rev_num <= 31)
 	 || (id->major_rev_num && id->minor_rev_num <= 31)
 	) {
-		printf("\n Drive conforms to: %s: ", (id->minor_rev_num <= 31) ? nth_string(minor_str, id->minor_rev_num) : "unknown");
-		if (id->major_rev_num != 0x0000 &&  /* NOVAL_0 */
-		    id->major_rev_num != 0xFFFF) {  /* NOVAL_1 */
+		printf("\n Drive conforms to: %s: ",
+			(id->minor_rev_num <= 31) ? nth_string(minor_str, id->minor_rev_num) : "unknown");
+		if (id->major_rev_num != 0x0000 /* NOVAL_0 */
+		 && id->major_rev_num != 0xFFFF /* NOVAL_1 */
+		) {
 			for (i = 0; i <= 15; i++) {
 				if (id->major_rev_num & (1<<i))
-						printf(" ATA/ATAPI-%u", i);
+					printf(" ATA/ATAPI-%u", i);
 			}
 		}
 	}
@@ -1450,10 +1485,10 @@ static void interpret_standby(uint8_t standby)
 		printf("off");
 	} else if (standby <= 240 || standby == 252 || standby == 255) {
 		/* standby is in 5 sec units */
-		printf("%u minutes %u seconds", standby / 12, (standby*5) % 60);
+		printf("%u minutes %u seconds", standby / (60/5), standby % (60/5));
 	} else if (standby <= 251) {
 		unsigned t = (standby - 240); /* t is in 30 min units */;
-		printf("%u.%c hours", t / 2, (t & 1) ? '0' : '5');
+		printf("%u.%c hours", t / 2, (t & 1) ? '5' : '0');
 	}
 	if (standby == 253)
 		printf("vendor-specific");
@@ -1653,10 +1688,13 @@ static void process_dev(char *devname)
 		ioctl_or_warn(fd, HDIO_DRIVE_CMD, &args);
 	}
 	if (set_apmmode) {
-		args[2] = (apmmode == 255) ? 0x85 /* disable */ : 0x05 /* set */; /* feature register */
+		/* feature register */
+		args[2] = (apmmode == 255) ? 0x85 /* disable */ : 0x05 /* set */;
 		args[1] = apmmode; /* sector count register 1-255 */
 		if (get_apmmode)
-			printf(" setting APM level to %s 0x%02lX (%ld)\n", (apmmode == 255) ? "disabled" : "", apmmode, apmmode);
+			printf(" setting APM level to %s 0x%02lX (%ld)\n",
+				(apmmode == 255) ? "disabled" : "",
+				apmmode, apmmode);
 		ioctl_or_warn(fd, HDIO_DRIVE_CMD, &args);
 		args[1] = 0;
 	}
@@ -1707,7 +1745,8 @@ static void process_dev(char *devname)
 	}
 	if (set_seagate) {
 		args[0] = 0xfb;
-		if (get_seagate) printf(" disabling Seagate auto powersaving mode\n");
+		if (get_seagate)
+			printf(" disabling Seagate auto powersaving mode\n");
 		ioctl_or_warn(fd, HDIO_DRIVE_CMD, &args);
 	}
 	if (set_standby) {
@@ -1725,14 +1764,15 @@ static void process_dev(char *devname)
 		char buf[512];
 		flush_buffer_cache();
 		if (-1 == read(fd, buf, sizeof(buf)))
-			bb_perror_msg("read(%d bytes) failed (rc=-1)", sizeof(buf));
+			bb_perror_msg("read of 512 bytes failed");
 	}
 #endif	/* HDIO_DRIVE_CMD */
 
 	if (get_mult || get_identity) {
 		multcount = -1;
 		if (ioctl(fd, HDIO_GET_MULTCOUNT, &multcount)) {
-			if (get_mult && ENABLE_IOCTL_HEX2STR_ERROR) /* To be coherent with ioctl_or_warn. */
+			/* To be coherent with ioctl_or_warn. */
+			if (get_mult && ENABLE_IOCTL_HEX2STR_ERROR)
 				bb_perror_msg("HDIO_GET_MULTCOUNT");
 			else
 				bb_perror_msg("ioctl %#x failed", HDIO_GET_MULTCOUNT);
@@ -1804,7 +1844,7 @@ static void process_dev(char *devname)
 
 			if (!ioctl_or_warn(fd, HDIO_GETGEO, &g))
 				printf(" geometry\t= %u/%u/%u, sectors = %ld, start = %ld\n",
-						g.cylinders, g.heads, g.sectors, parm, g.start);
+					g.cylinders, g.heads, g.sectors, parm, g.start);
 		}
 	}
 #ifdef HDIO_DRIVE_CMD
-- 
1.6.0.6


More information about the busybox-cvs mailing list