return ide_stopped;
 }
 
-static ide_startstop_t ide_do_park_unpark(ide_drive_t *drive, struct request *rq)
-{
-       ide_task_t task;
-       struct ide_taskfile *tf = &task.tf;
-
-       memset(&task, 0, sizeof(task));
-       if (rq->cmd[0] == REQ_PARK_HEADS) {
-               drive->sleep = *(unsigned long *)rq->special;
-               drive->dev_flags |= IDE_DFLAG_SLEEPING;
-               tf->command = ATA_CMD_IDLEIMMEDIATE;
-               tf->feature = 0x44;
-               tf->lbal = 0x4c;
-               tf->lbam = 0x4e;
-               tf->lbah = 0x55;
-               task.tf_flags |= IDE_TFLAG_CUSTOM_HANDLER;
-       } else          /* cmd == REQ_UNPARK_HEADS */
-               tf->command = ATA_CMD_CHK_POWER;
-
-       task.tf_flags |= IDE_TFLAG_TF | IDE_TFLAG_DEVICE;
-       task.rq = rq;
-       drive->hwif->data_phase = task.data_phase = TASKFILE_NO_DATA;
-       return do_rw_taskfile(drive, &task);
-}
-
 static ide_startstop_t ide_special_rq(ide_drive_t *drive, struct request *rq)
 {
        u8 cmd = rq->cmd[0];
 
 #include <linux/kernel.h>
 #include <linux/ide.h>
+#include <linux/hdreg.h>
 #include <linux/jiffies.h>
 #include <linux/blkdev.h>
 
        return;
 }
 
+ide_startstop_t ide_do_park_unpark(ide_drive_t *drive, struct request *rq)
+{
+       ide_task_t task;
+       struct ide_taskfile *tf = &task.tf;
+
+       memset(&task, 0, sizeof(task));
+       if (rq->cmd[0] == REQ_PARK_HEADS) {
+               drive->sleep = *(unsigned long *)rq->special;
+               drive->dev_flags |= IDE_DFLAG_SLEEPING;
+               tf->command = ATA_CMD_IDLEIMMEDIATE;
+               tf->feature = 0x44;
+               tf->lbal = 0x4c;
+               tf->lbam = 0x4e;
+               tf->lbah = 0x55;
+               task.tf_flags |= IDE_TFLAG_CUSTOM_HANDLER;
+       } else          /* cmd == REQ_UNPARK_HEADS */
+               tf->command = ATA_CMD_CHK_POWER;
+
+       task.tf_flags |= IDE_TFLAG_TF | IDE_TFLAG_DEVICE;
+       task.rq = rq;
+       drive->hwif->data_phase = task.data_phase = TASKFILE_NO_DATA;
+       return do_rw_taskfile(drive, &task);
+}
+
 ssize_t ide_park_show(struct device *dev, struct device_attribute *attr,
                      char *buf)
 {
 
 
 int ide_wait_stat(ide_startstop_t *, ide_drive_t *, u8, u8, unsigned long);
 
+ide_startstop_t ide_do_park_unpark(ide_drive_t *, struct request *);
+
 extern ide_startstop_t ide_do_reset (ide_drive_t *);
 
 extern int ide_devset_execute(ide_drive_t *drive,