• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6/drivers/ide/

Lines Matching refs:drive

40 		if (ide_device_get(idkp->drive))
51 ide_drive_t *drive = idkp->drive;
55 ide_device_put(drive);
59 sector_t ide_gd_capacity(ide_drive_t *drive)
61 return drive->capacity64;
66 static void ide_gd_remove(ide_drive_t *drive)
68 struct ide_disk_obj *idkp = drive->driver_data;
71 ide_proc_unregister_driver(drive, idkp->driver);
74 drive->disk_ops->flush(drive);
84 ide_drive_t *drive = idkp->drive;
87 drive->disk_ops = NULL;
88 drive->driver_data = NULL;
99 static void ide_gd_resume(ide_drive_t *drive)
101 if (ata_id_hpa_enabled(drive->id))
102 (void)drive->disk_ops->get_capacity(drive);
118 static void ide_gd_shutdown(ide_drive_t *drive)
137 drive->disk_ops->flush(drive);
141 printk(KERN_INFO "Shutdown: %s\n", drive->name);
143 drive->gendev.bus->suspend(&drive->gendev, PMSG_SUSPEND);
147 static ide_proc_entry_t *ide_disk_proc_entries(ide_drive_t *drive)
149 return (drive->media == ide_disk) ? ide_disk_proc : ide_floppy_proc;
152 static const struct ide_proc_devset *ide_disk_proc_devsets(ide_drive_t *drive)
154 return (drive->media == ide_disk) ? ide_disk_settings
159 static ide_startstop_t ide_gd_do_request(ide_drive_t *drive,
162 return drive->disk_ops->do_request(drive, rq, sector);
187 ide_drive_t *drive;
194 drive = idkp->drive;
200 if ((drive->dev_flags & IDE_DFLAG_REMOVABLE) && idkp->openers == 1) {
201 drive->dev_flags &= ~IDE_DFLAG_FORMAT_IN_PROGRESS;
204 ret = drive->disk_ops->init_media(drive, disk);
207 * Allow O_NDELAY to open a drive without a disk, or with an
209 * of the drive or begin the format - Sam
216 if ((drive->dev_flags & IDE_DFLAG_WP) && (mode & FMODE_WRITE)) {
226 drive->disk_ops->set_doorlock(drive, disk, 1);
227 drive->dev_flags |= IDE_DFLAG_MEDIA_CHANGED;
229 } else if (drive->dev_flags & IDE_DFLAG_FORMAT_IN_PROGRESS) {
256 ide_drive_t *drive = idkp->drive;
262 drive->disk_ops->flush(drive);
264 if ((drive->dev_flags & IDE_DFLAG_REMOVABLE) && idkp->openers == 1) {
265 drive->disk_ops->set_doorlock(drive, disk, 0);
266 drive->dev_flags &= ~IDE_DFLAG_FORMAT_IN_PROGRESS;
280 ide_drive_t *drive = idkp->drive;
282 geo->heads = drive->bios_head;
283 geo->sectors = drive->bios_sect;
284 geo->cylinders = (u16)drive->bios_cyl; /* truncate */
291 ide_drive_t *drive = idkp->drive;
295 if (drive->dev_flags & IDE_DFLAG_ATTACH) {
296 drive->dev_flags &= ~IDE_DFLAG_ATTACH;
300 ret = !!(drive->dev_flags & IDE_DFLAG_MEDIA_CHANGED);
301 drive->dev_flags &= ~IDE_DFLAG_MEDIA_CHANGED;
309 ide_drive_t *drive = idkp->drive;
310 const struct ide_disk_ops *disk_ops = drive->disk_ops;
313 disk_ops->unlock_native_capacity(drive);
319 ide_drive_t *drive = idkp->drive;
322 drive->disk_ops->get_capacity(drive);
324 set_capacity(disk, ide_gd_capacity(drive));
332 ide_drive_t *drive = idkp->drive;
334 return drive->disk_ops->ioctl(drive, bdev, mode, cmd, arg);
348 static int ide_gd_probe(ide_drive_t *drive)
355 if (!strstr("ide-gd", drive->driver_req))
359 if (drive->media == ide_disk)
363 if (drive->media == ide_floppy)
369 if (disk_ops->check(drive, DRV_NAME) == 0) {
371 drive->name);
378 drive->name);
382 g = alloc_disk_node(IDE_DISK_MINORS, hwif_to_node(drive->hwif));
386 ide_init_disk(g, drive);
388 idkp->dev.parent = &drive->gendev;
390 dev_set_name(&idkp->dev, dev_name(&drive->gendev));
395 idkp->drive = drive;
401 drive->driver_data = idkp;
402 drive->debug_mask = debug_mask;
403 drive->disk_ops = disk_ops;
405 disk_ops->setup(drive);
407 set_capacity(g, ide_gd_capacity(drive));
410 g->driverfs_dev = &drive->gendev;
412 if (drive->dev_flags & IDE_DFLAG_REMOVABLE)