.drives = LIST_HEAD_INIT(ide_cdrom_driver.drives),
.start_power_step = ide_cdrom_start_power_step,
.complete_power_step = ide_cdrom_complete_power_step,
- .gen_driver = {
- .suspend = generic_ide_suspend,
- .resume = generic_ide_resume,
- }
};
static int idecd_open(struct inode * inode, struct file * file)
.drives = LIST_HEAD_INIT(idedisk_driver.drives),
.start_power_step = idedisk_start_power_step,
.complete_power_step = idedisk_complete_power_step,
- .gen_driver = {
- .suspend = generic_ide_suspend,
- .resume = generic_ide_resume,
- }
};
static int idedisk_open(struct inode *inode, struct file *filp)
EXPORT_SYMBOL(ata_attach);
-int generic_ide_suspend(struct device *dev, u32 state, u32 level)
+static int generic_ide_suspend(struct device *dev, u32 state)
{
ide_drive_t *drive = dev->driver_data;
struct request rq;
struct request_pm_state rqpm;
ide_task_t args;
- if (level == dev->power_state || level != SUSPEND_SAVE_STATE)
- return 0;
-
memset(&rq, 0, sizeof(rq));
memset(&rqpm, 0, sizeof(rqpm));
memset(&args, 0, sizeof(args));
return ide_do_drive_cmd(drive, &rq, ide_wait);
}
-EXPORT_SYMBOL(generic_ide_suspend);
-
-int generic_ide_resume(struct device *dev, u32 level)
+static int generic_ide_resume(struct device *dev)
{
ide_drive_t *drive = dev->driver_data;
struct request rq;
struct request_pm_state rqpm;
ide_task_t args;
- if (level == dev->power_state || level != RESUME_RESTORE_STATE)
- return 0;
-
memset(&rq, 0, sizeof(rq));
memset(&rqpm, 0, sizeof(rqpm));
memset(&args, 0, sizeof(args));
return ide_do_drive_cmd(drive, &rq, ide_head_wait);
}
-EXPORT_SYMBOL(generic_ide_resume);
-
int generic_ide_ioctl(struct block_device *bdev, unsigned int cmd,
unsigned long arg)
{
struct bus_type ide_bus_type = {
.name = "ide",
+ .suspend = generic_ide_suspend,
+ .resume = generic_ide_resume,
};
/*
#define DRIVER(drive) ((drive)->driver)
extern int generic_ide_ioctl(struct block_device *, unsigned, unsigned long);
-extern int generic_ide_suspend(struct device *dev, u32 state, u32 level);
-extern int generic_ide_resume(struct device *dev, u32 level);
/*
* IDE modules.