Lines Matching full:drive

41 		if (ide_device_get(idkp->drive))  in ide_disk_get()
52 ide_drive_t *drive = idkp->drive; in ide_disk_put() local
56 ide_device_put(drive); in ide_disk_put()
60 sector_t ide_gd_capacity(ide_drive_t *drive) in ide_gd_capacity() argument
62 return drive->capacity64; in ide_gd_capacity()
67 static void ide_gd_remove(ide_drive_t *drive) in ide_gd_remove() argument
69 struct ide_disk_obj *idkp = drive->driver_data; in ide_gd_remove()
72 ide_proc_unregister_driver(drive, idkp->driver); in ide_gd_remove()
75 drive->disk_ops->flush(drive); in ide_gd_remove()
85 ide_drive_t *drive = idkp->drive; in ide_disk_release() local
88 drive->disk_ops = NULL; in ide_disk_release()
89 drive->driver_data = NULL; in ide_disk_release()
100 static void ide_gd_resume(ide_drive_t *drive) in ide_gd_resume() argument
102 if (ata_id_hpa_enabled(drive->id)) in ide_gd_resume()
103 (void)drive->disk_ops->get_capacity(drive); in ide_gd_resume()
119 static void ide_gd_shutdown(ide_drive_t *drive) argument
138 drive->disk_ops->flush(drive);
142 printk(KERN_INFO "Shutdown: %s\n", drive->name);
144 drive->gendev.bus->suspend(&drive->gendev, PMSG_SUSPEND);
148 static ide_proc_entry_t *ide_disk_proc_entries(ide_drive_t *drive) argument
150 return (drive->media == ide_disk) ? ide_disk_proc : ide_floppy_proc;
153 static const struct ide_proc_devset *ide_disk_proc_devsets(ide_drive_t *drive) argument
155 return (drive->media == ide_disk) ? ide_disk_settings
160 static ide_startstop_t ide_gd_do_request(ide_drive_t *drive, argument
163 return drive->disk_ops->do_request(drive, rq, sector);
188 ide_drive_t *drive; local
195 drive = idkp->drive;
201 if ((drive->dev_flags & IDE_DFLAG_REMOVABLE) && idkp->openers == 1) {
202 drive->dev_flags &= ~IDE_DFLAG_FORMAT_IN_PROGRESS;
205 ret = drive->disk_ops->init_media(drive, disk);
208 * Allow O_NDELAY to open a drive without a disk, or with an
210 * of the drive or begin the format - Sam
217 if ((drive->dev_flags & IDE_DFLAG_WP) && (mode & FMODE_WRITE)) {
227 drive->disk_ops->set_doorlock(drive, disk, 1);
231 drive->disk_ops->get_capacity(drive);
232 set_capacity(disk, ide_gd_capacity(drive));
234 } else if (drive->dev_flags & IDE_DFLAG_FORMAT_IN_PROGRESS) {
261 ide_drive_t *drive = idkp->drive; local
267 drive->disk_ops->flush(drive);
269 if ((drive->dev_flags & IDE_DFLAG_REMOVABLE) && idkp->openers == 1) {
270 drive->disk_ops->set_doorlock(drive, disk, 0);
271 drive->dev_flags &= ~IDE_DFLAG_FORMAT_IN_PROGRESS;
283 ide_drive_t *drive = idkp->drive; local
285 geo->heads = drive->bios_head;
286 geo->sectors = drive->bios_sect;
287 geo->cylinders = (u16)drive->bios_cyl; /* truncate */
294 ide_drive_t *drive = idkp->drive; local
295 const struct ide_disk_ops *disk_ops = drive->disk_ops;
298 disk_ops->unlock_native_capacity(drive);
305 ide_drive_t *drive = idkp->drive; local
307 return drive->disk_ops->ioctl(drive, bdev, mode, cmd, arg);
315 ide_drive_t *drive = idkp->drive; local
317 if (!drive->disk_ops->compat_ioctl)
320 return drive->disk_ops->compat_ioctl(drive, bdev, mode, cmd, arg);
336 static int ide_gd_probe(ide_drive_t *drive) argument
343 if (!strstr("ide-gd", drive->driver_req))
347 if (drive->media == ide_disk)
351 if (drive->media == ide_floppy)
357 if (disk_ops->check(drive, DRV_NAME) == 0) {
359 drive->name);
366 drive->name);
370 g = alloc_disk_node(IDE_DISK_MINORS, hwif_to_node(drive->hwif));
374 ide_init_disk(g, drive);
376 idkp->dev.parent = &drive->gendev;
378 dev_set_name(&idkp->dev, "%s", dev_name(&drive->gendev));
383 idkp->drive = drive;
389 drive->driver_data = idkp;
390 drive->debug_mask = debug_mask;
391 drive->disk_ops = disk_ops;
393 disk_ops->setup(drive);
395 set_capacity(g, ide_gd_capacity(drive));
399 if (drive->dev_flags & IDE_DFLAG_REMOVABLE)
403 device_add_disk(&drive->gendev, g, NULL);