2 #include <linux/kernel.h>
25 static int set_ksettings(
ide_drive_t *drive,
int arg)
27 if (arg < 0 || arg > 1)
40 static int set_using_dma(
ide_drive_t *drive,
int arg)
42 #ifdef CONFIG_BLK_DEV_IDEDMA
45 if (arg < 0 || arg > 1)
65 if (arg < 0 || arg > 1)
75 static int set_pio_mode_abuse(
ide_hwif_t *hwif,
u8 req_pio)
96 static int set_pio_mode(
ide_drive_t *drive,
int arg)
101 if (arg < 0 || arg > 255)
108 if (set_pio_mode_abuse(drive->
hwif, arg)) {
111 if (arg == 8 || arg == 9) {
117 spin_unlock_irqrestore(&hwif->
lock, flags);
136 static int set_unmaskirq(
ide_drive_t *drive,
int arg)
141 if (arg < 0 || arg > 1)
166 return setting->
set(drive, arg);
169 rq->cmd_type = REQ_TYPE_SPECIAL;
172 *(
int *)&rq->cmd[1] = arg;
173 rq->special = setting->
set;
186 err = setfunc(drive, *(
int *)&rq->cmd[1]);