aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/ide-atapi.c
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2008-10-10 16:39:38 -0400
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2008-10-10 16:39:38 -0400
commit0578042db3191e1ac76b53d213f2a691c3e1eaed (patch)
tree70f24c393a47e8e7906775e177372fb1348c2e56 /drivers/ide/ide-atapi.c
parent0127854d7c96612a454bed6de242e28f8021fa7f (diff)
ide: add ide_set_media_lock() helper
* Set IDE_AFLAG_NO_DOORLOCK in idetape_get_mode_sense_result(), check it in ide_tape_set_media_lock() and cleanup idetape_create_prevent_cmd(). * Set IDE_AFLAG_NO_DOORLOCK in ide_floppy_create_read_capacity_cmd() and check it instead of IDE_AFLAG_CLIK_DRIVE in ide_floppy_set_media_lock(). * Add ide_set_media_lock() helper and convert ide-{floppy,tape}.c to use it. * Remove no longer used ide*_create_prevent_cmd()/ide*_set_media_lock(). * Update comment in <linux/ide.h> accordingly. Acked-by: Borislav Petkov <petkovbb@gmail.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide/ide-atapi.c')
-rw-r--r--drivers/ide/ide-atapi.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/ide/ide-atapi.c b/drivers/ide/ide-atapi.c
index f82ddfb9a44e..c647a40c0d33 100644
--- a/drivers/ide/ide-atapi.c
+++ b/drivers/ide/ide-atapi.c
@@ -162,6 +162,21 @@ int ide_queue_pc_tail(ide_drive_t *drive, struct gendisk *disk,
162} 162}
163EXPORT_SYMBOL_GPL(ide_queue_pc_tail); 163EXPORT_SYMBOL_GPL(ide_queue_pc_tail);
164 164
165int ide_set_media_lock(ide_drive_t *drive, struct gendisk *disk, int on)
166{
167 struct ide_atapi_pc pc;
168
169 if (drive->atapi_flags & IDE_AFLAG_NO_DOORLOCK)
170 return 0;
171
172 ide_init_pc(&pc);
173 pc.c[0] = ALLOW_MEDIUM_REMOVAL;
174 pc.c[4] = on;
175
176 return ide_queue_pc_tail(drive, disk, &pc);
177}
178EXPORT_SYMBOL_GPL(ide_set_media_lock);
179
165/* TODO: unify the code thus making some arguments go away */ 180/* TODO: unify the code thus making some arguments go away */
166ide_startstop_t ide_pc_intr(ide_drive_t *drive, struct ide_atapi_pc *pc, 181ide_startstop_t ide_pc_intr(ide_drive_t *drive, struct ide_atapi_pc *pc,
167 ide_handler_t *handler, unsigned int timeout, ide_expiry_t *expiry, 182 ide_handler_t *handler, unsigned int timeout, ide_expiry_t *expiry,