#define USAGE_TRISTATE_HWIF(a)
#endif
+#ifdef CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA
+#define USAGE_GETSET_DMA(a) a
+#else
+#define USAGE_GETSET_DMA(a)
+#endif
+
#define hdparm_trivial_usage \
"[options] [device] .."
#define hdparm_full_usage \
" -B set Advanced Power Management setting (1-255)\n" \
" -c get/set IDE 32-bit IO setting\n" \
" -C check IDE power mode status\n" \
- " -d get/set using_dma flag\n" \
+ USAGE_GETSET_DMA(" -d get/set using_dma flag\n") \
" -D enable/disable drive defect-mgmt\n" \
" -f flush buffer cache for device on exit\n" \
" -g display drive geometry\n" \
and the '-b' option to get/set bus state. This is dangerous
stuff, so you should probably say N.
+config CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA
+ bool " get/set using_dma flag (DANGEROUS)"
+ default n
+ depends on CONFIG_HDPARM
+ help
+ Enables the 'hdparm -d' option to get/set using_dma flag.
+ This is dangerous stuff, so you should probably say N.
+
config CONFIG_MAKEDEVS
bool "makedevs"
default n
if (ioctl(fd, HDIO_SET_UNMASKINTR, unmask))
bb_perror_msg(" HDIO_SET_UNMASKINTR failed");
}
+#ifdef CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA
if (set_dma) {
no_scsi();
if (get_dma) {
if (ioctl(fd, HDIO_SET_DMA, dma))
bb_perror_msg(" HDIO_SET_DMA failed");
}
+#endif /* CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA */
if (set_dma_q) {
no_scsi();
if (get_dma_q) {
}
}
-#ifdef CONFIG_FEATURE_HDPARM_HDIO_GET_DMA
+#ifdef CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA
if ((verbose && !is_scsi_hd) || get_dma) {
no_scsi();
if (ioctl(fd, HDIO_GET_DMA, &parm))
unmask = *p++ - '0';
}
break;
+#ifdef CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA
case 'd':
get_dma = noisy;
noisy = 1;
dma = *p++ - '0';
}
break;
+#endif /* CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA */
case 'n':
get_nowerr = noisy;
noisy = 1;