48 lines
1.5 KiB
Diff
48 lines
1.5 KiB
Diff
diff -Naur busybox-1.00/miscutils/hdparm.c busybox-1.00-patched/miscutils/hdparm.c
|
|
--- busybox-1.00/miscutils/hdparm.c 2004-07-21 00:53:59.000000000 +0200
|
|
+++ busybox-1.00-patched/miscutils/hdparm.c 2004-10-21 15:17:13.000000000 +0200
|
|
@@ -1254,6 +1254,7 @@
|
|
static unsigned long set_sleepnow = 0, get_sleepnow = 0;
|
|
static unsigned long get_powermode = 0;
|
|
static unsigned long set_apmmode = 0, get_apmmode= 0, apmmode = 0;
|
|
+static unsigned long set_acoustic = 0, get_acoustic = 0, acoustic = 0;
|
|
#endif
|
|
#ifdef CONFIG_FEATURE_HDPARM_GET_IDENTITY
|
|
static int get_IDentity = 0;
|
|
@@ -2123,6 +2124,20 @@
|
|
}
|
|
bb_ioctl(fd, HDIO_DRIVE_CMD, &args,"HDIO_DRIVE_CMD");
|
|
}
|
|
+ if (set_acoustic)
|
|
+ {
|
|
+ no_scsi();
|
|
+ acoustic=check_if_min_and_set_val(acoustic,0);
|
|
+ acoustic=check_if_maj_and_set_val(acoustic,254);
|
|
+ if_printf(get_acoustic," setting AAM level to 0x%02lX (%ld)\n", acoustic, acoustic);
|
|
+ bb_ioctl(fd, HDIO_SET_ACOUSTIC, (int*)acoustic,"HDIO_SET_ACOUSTIC");
|
|
+ }
|
|
+ if (get_acoustic)
|
|
+ {
|
|
+ no_scsi();
|
|
+ bb_ioctl(fd, HDIO_GET_ACOUSTIC, (unsigned long*)&parm,"HDIO_GET_ACOUSTIC");
|
|
+ printf(" acoustic = %2ld (128=quiet ... 254=fast)\n", parm);
|
|
+ }
|
|
if (set_wcache)
|
|
{
|
|
#ifdef DO_FLUSHCACHE
|
|
@@ -2831,6 +2846,13 @@
|
|
p = *argv++, --argc;
|
|
p=GET_NUMBER(p,&set_readahead,&Xreadahead);
|
|
break;
|
|
+ case 'M':
|
|
+ get_acoustic = noisy;
|
|
+ noisy = 1;
|
|
+ if (!*p && argc && isalnum(**argv))
|
|
+ p = *argv++, --argc;
|
|
+ p=GET_NUMBER(p,&set_acoustic,&acoustic);
|
|
+ break;
|
|
case 'B':
|
|
get_apmmode = noisy;
|
|
noisy = 1;
|
|
|