Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 147902
b: refs/heads/master
c: 582078e
h: refs/heads/master
v: v3
  • Loading branch information
Bartlomiej Zolnierkiewicz committed May 17, 2009
1 parent f14ab18 commit 7759b50
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 27 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 5f582c8e2193e3848039de87e6a3ace7cbc7ed88
refs/heads/master: 582078ee3d7dacd74a7b3fe02ea258cadf32b602
44 changes: 18 additions & 26 deletions trunk/drivers/ide/ide-io.c
Original file line number Diff line number Diff line change
Expand Up @@ -184,11 +184,28 @@ static void ide_tf_set_setmult_cmd(ide_drive_t *drive, struct ide_taskfile *tf)
tf->command = ATA_CMD_SET_MULTI;
}

static ide_startstop_t ide_disk_special(ide_drive_t *drive)
/**
* do_special - issue some special commands
* @drive: drive the command is for
*
* do_special() is used to issue ATA_CMD_INIT_DEV_PARAMS,
* ATA_CMD_RESTORE and ATA_CMD_SET_MULTI commands to a drive.
*/

static ide_startstop_t do_special(ide_drive_t *drive)
{
special_t *s = &drive->special;
struct ide_cmd cmd;

#ifdef DEBUG
printk(KERN_DEBUG "%s: %s: 0x%02x\n", drive->name, __func__, s->all);
#endif
if (drive->media != ide_disk) {
s->all = 0;
drive->mult_req = 0;
return ide_stopped;
}

memset(&cmd, 0, sizeof(cmd));
cmd.protocol = ATA_PROT_NODATA;

Expand All @@ -213,31 +230,6 @@ static ide_startstop_t ide_disk_special(ide_drive_t *drive)
return ide_started;
}

/**
* do_special - issue some special commands
* @drive: drive the command is for
*
* do_special() is used to issue ATA_CMD_INIT_DEV_PARAMS,
* ATA_CMD_RESTORE and ATA_CMD_SET_MULTI commands to a drive.
*
* It used to do much more, but has been scaled back.
*/

static ide_startstop_t do_special (ide_drive_t *drive)
{
special_t *s = &drive->special;

#ifdef DEBUG
printk("%s: do_special: 0x%02x\n", drive->name, s->all);
#endif
if (drive->media == ide_disk)
return ide_disk_special(drive);

s->all = 0;
drive->mult_req = 0;
return ide_stopped;
}

void ide_map_sg(ide_drive_t *drive, struct ide_cmd *cmd)
{
ide_hwif_t *hwif = drive->hwif;
Expand Down

0 comments on commit 7759b50

Please sign in to comment.