Commit 3373efd8 authored by Tejun Heo's avatar Tejun Heo

[PATCH] libata: use dev->ap

Use dev->ap where possible and eliminate superflous @ap from functions
and structures.
Signed-off-by: default avatarTejun Heo <htejun@gmail.com>
parent 38d87234
...@@ -597,7 +597,7 @@ static int ahci_softreset(struct ata_port *ap, unsigned int *class) ...@@ -597,7 +597,7 @@ static int ahci_softreset(struct ata_port *ap, unsigned int *class)
/* restart engine */ /* restart engine */
ahci_start_engine(ap); ahci_start_engine(ap);
ata_tf_init(ap, &tf, 0); ata_tf_init(ap->device, &tf);
fis = pp->cmd_tbl; fis = pp->cmd_tbl;
/* issue the first D2H Register FIS */ /* issue the first D2H Register FIS */
......
This diff is collapsed.
...@@ -302,7 +302,6 @@ int ata_scsi_ioctl(struct scsi_device *scsidev, int cmd, void __user *arg) ...@@ -302,7 +302,6 @@ int ata_scsi_ioctl(struct scsi_device *scsidev, int cmd, void __user *arg)
/** /**
* ata_scsi_qc_new - acquire new ata_queued_cmd reference * ata_scsi_qc_new - acquire new ata_queued_cmd reference
* @ap: ATA port to which the new command is attached
* @dev: ATA device to which the new command is attached * @dev: ATA device to which the new command is attached
* @cmd: SCSI command that originated this ATA command * @cmd: SCSI command that originated this ATA command
* @done: SCSI command completion function * @done: SCSI command completion function
...@@ -321,14 +320,13 @@ int ata_scsi_ioctl(struct scsi_device *scsidev, int cmd, void __user *arg) ...@@ -321,14 +320,13 @@ int ata_scsi_ioctl(struct scsi_device *scsidev, int cmd, void __user *arg)
* RETURNS: * RETURNS:
* Command allocated, or %NULL if none available. * Command allocated, or %NULL if none available.
*/ */
struct ata_queued_cmd *ata_scsi_qc_new(struct ata_port *ap, struct ata_queued_cmd *ata_scsi_qc_new(struct ata_device *dev,
struct ata_device *dev,
struct scsi_cmnd *cmd, struct scsi_cmnd *cmd,
void (*done)(struct scsi_cmnd *)) void (*done)(struct scsi_cmnd *))
{ {
struct ata_queued_cmd *qc; struct ata_queued_cmd *qc;
qc = ata_qc_new_init(ap, dev); qc = ata_qc_new_init(dev);
if (qc) { if (qc) {
qc->scsicmd = cmd; qc->scsicmd = cmd;
qc->scsidone = done; qc->scsidone = done;
...@@ -398,7 +396,7 @@ int ata_scsi_device_resume(struct scsi_device *sdev) ...@@ -398,7 +396,7 @@ int ata_scsi_device_resume(struct scsi_device *sdev)
struct ata_port *ap = ata_shost_to_port(sdev->host); struct ata_port *ap = ata_shost_to_port(sdev->host);
struct ata_device *dev = &ap->device[sdev->id]; struct ata_device *dev = &ap->device[sdev->id];
return ata_device_resume(ap, dev); return ata_device_resume(dev);
} }
int ata_scsi_device_suspend(struct scsi_device *sdev, pm_message_t state) int ata_scsi_device_suspend(struct scsi_device *sdev, pm_message_t state)
...@@ -406,7 +404,7 @@ int ata_scsi_device_suspend(struct scsi_device *sdev, pm_message_t state) ...@@ -406,7 +404,7 @@ int ata_scsi_device_suspend(struct scsi_device *sdev, pm_message_t state)
struct ata_port *ap = ata_shost_to_port(sdev->host); struct ata_port *ap = ata_shost_to_port(sdev->host);
struct ata_device *dev = &ap->device[sdev->id]; struct ata_device *dev = &ap->device[sdev->id];
return ata_device_suspend(ap, dev, state); return ata_device_suspend(dev, state);
} }
/** /**
...@@ -1224,7 +1222,6 @@ static void ata_scsi_qc_complete(struct ata_queued_cmd *qc) ...@@ -1224,7 +1222,6 @@ static void ata_scsi_qc_complete(struct ata_queued_cmd *qc)
/** /**
* ata_scsi_translate - Translate then issue SCSI command to ATA device * ata_scsi_translate - Translate then issue SCSI command to ATA device
* @ap: ATA port to which the command is addressed
* @dev: ATA device to which the command is addressed * @dev: ATA device to which the command is addressed
* @cmd: SCSI command to execute * @cmd: SCSI command to execute
* @done: SCSI command completion function * @done: SCSI command completion function
...@@ -1247,8 +1244,7 @@ static void ata_scsi_qc_complete(struct ata_queued_cmd *qc) ...@@ -1247,8 +1244,7 @@ static void ata_scsi_qc_complete(struct ata_queued_cmd *qc)
* spin_lock_irqsave(host_set lock) * spin_lock_irqsave(host_set lock)
*/ */
static void ata_scsi_translate(struct ata_port *ap, struct ata_device *dev, static void ata_scsi_translate(struct ata_device *dev, struct scsi_cmnd *cmd,
struct scsi_cmnd *cmd,
void (*done)(struct scsi_cmnd *), void (*done)(struct scsi_cmnd *),
ata_xlat_func_t xlat_func) ata_xlat_func_t xlat_func)
{ {
...@@ -1257,7 +1253,7 @@ static void ata_scsi_translate(struct ata_port *ap, struct ata_device *dev, ...@@ -1257,7 +1253,7 @@ static void ata_scsi_translate(struct ata_port *ap, struct ata_device *dev,
VPRINTK("ENTER\n"); VPRINTK("ENTER\n");
qc = ata_scsi_qc_new(ap, dev, cmd, done); qc = ata_scsi_qc_new(dev, cmd, done);
if (!qc) if (!qc)
goto err_mem; goto err_mem;
...@@ -1266,7 +1262,7 @@ static void ata_scsi_translate(struct ata_port *ap, struct ata_device *dev, ...@@ -1266,7 +1262,7 @@ static void ata_scsi_translate(struct ata_port *ap, struct ata_device *dev,
cmd->sc_data_direction == DMA_TO_DEVICE) { cmd->sc_data_direction == DMA_TO_DEVICE) {
if (unlikely(cmd->request_bufflen < 1)) { if (unlikely(cmd->request_bufflen < 1)) {
printk(KERN_WARNING "ata%u(%u): WARNING: zero len r/w req\n", printk(KERN_WARNING "ata%u(%u): WARNING: zero len r/w req\n",
ap->id, dev->devno); dev->ap->id, dev->devno);
goto err_did; goto err_did;
} }
...@@ -2433,19 +2429,20 @@ static inline void ata_scsi_dump_cdb(struct ata_port *ap, ...@@ -2433,19 +2429,20 @@ static inline void ata_scsi_dump_cdb(struct ata_port *ap,
#endif #endif
} }
static inline void __ata_scsi_queuecmd(struct scsi_cmnd *cmd, void (*done)(struct scsi_cmnd *), static inline void __ata_scsi_queuecmd(struct scsi_cmnd *cmd,
struct ata_port *ap, struct ata_device *dev) void (*done)(struct scsi_cmnd *),
struct ata_device *dev)
{ {
if (dev->class == ATA_DEV_ATA) { if (dev->class == ATA_DEV_ATA) {
ata_xlat_func_t xlat_func = ata_get_xlat_func(dev, ata_xlat_func_t xlat_func = ata_get_xlat_func(dev,
cmd->cmnd[0]); cmd->cmnd[0]);
if (xlat_func) if (xlat_func)
ata_scsi_translate(ap, dev, cmd, done, xlat_func); ata_scsi_translate(dev, cmd, done, xlat_func);
else else
ata_scsi_simulate(ap, dev, cmd, done); ata_scsi_simulate(dev, cmd, done);
} else } else
ata_scsi_translate(ap, dev, cmd, done, atapi_xlat); ata_scsi_translate(dev, cmd, done, atapi_xlat);
} }
/** /**
...@@ -2483,7 +2480,7 @@ int ata_scsi_queuecmd(struct scsi_cmnd *cmd, void (*done)(struct scsi_cmnd *)) ...@@ -2483,7 +2480,7 @@ int ata_scsi_queuecmd(struct scsi_cmnd *cmd, void (*done)(struct scsi_cmnd *))
dev = ata_scsi_find_dev(ap, scsidev); dev = ata_scsi_find_dev(ap, scsidev);
if (likely(dev)) if (likely(dev))
__ata_scsi_queuecmd(cmd, done, ap, dev); __ata_scsi_queuecmd(cmd, done, dev);
else { else {
cmd->result = (DID_BAD_TARGET << 16); cmd->result = (DID_BAD_TARGET << 16);
done(cmd); done(cmd);
...@@ -2496,7 +2493,6 @@ int ata_scsi_queuecmd(struct scsi_cmnd *cmd, void (*done)(struct scsi_cmnd *)) ...@@ -2496,7 +2493,6 @@ int ata_scsi_queuecmd(struct scsi_cmnd *cmd, void (*done)(struct scsi_cmnd *))
/** /**
* ata_scsi_simulate - simulate SCSI command on ATA device * ata_scsi_simulate - simulate SCSI command on ATA device
* @ap: port the device is connected to
* @dev: the target device * @dev: the target device
* @cmd: SCSI command being sent to device. * @cmd: SCSI command being sent to device.
* @done: SCSI command completion function. * @done: SCSI command completion function.
...@@ -2508,14 +2504,12 @@ int ata_scsi_queuecmd(struct scsi_cmnd *cmd, void (*done)(struct scsi_cmnd *)) ...@@ -2508,14 +2504,12 @@ int ata_scsi_queuecmd(struct scsi_cmnd *cmd, void (*done)(struct scsi_cmnd *))
* spin_lock_irqsave(host_set lock) * spin_lock_irqsave(host_set lock)
*/ */
void ata_scsi_simulate(struct ata_port *ap, struct ata_device *dev, void ata_scsi_simulate(struct ata_device *dev, struct scsi_cmnd *cmd,
struct scsi_cmnd *cmd,
void (*done)(struct scsi_cmnd *)) void (*done)(struct scsi_cmnd *))
{ {
struct ata_scsi_args args; struct ata_scsi_args args;
const u8 *scsicmd = cmd->cmnd; const u8 *scsicmd = cmd->cmnd;
args.ap = ap;
args.dev = dev; args.dev = dev;
args.id = dev->id; args.id = dev->id;
args.cmd = cmd; args.cmd = cmd;
......
...@@ -32,7 +32,6 @@ ...@@ -32,7 +32,6 @@
#define DRV_VERSION "1.30" /* must be exactly four chars */ #define DRV_VERSION "1.30" /* must be exactly four chars */
struct ata_scsi_args { struct ata_scsi_args {
struct ata_port *ap;
struct ata_device *dev; struct ata_device *dev;
u16 *id; u16 *id;
struct scsi_cmnd *cmd; struct scsi_cmnd *cmd;
...@@ -43,18 +42,16 @@ struct ata_scsi_args { ...@@ -43,18 +42,16 @@ struct ata_scsi_args {
extern int atapi_enabled; extern int atapi_enabled;
extern int atapi_dmadir; extern int atapi_dmadir;
extern int libata_fua; extern int libata_fua;
extern struct ata_queued_cmd *ata_qc_new_init(struct ata_port *ap, extern struct ata_queued_cmd *ata_qc_new_init(struct ata_device *dev);
struct ata_device *dev);
extern int ata_rwcmd_protocol(struct ata_queued_cmd *qc); extern int ata_rwcmd_protocol(struct ata_queued_cmd *qc);
extern void ata_dev_disable(struct ata_port *ap, struct ata_device *dev); extern void ata_dev_disable(struct ata_device *dev);
extern void ata_port_flush_task(struct ata_port *ap); extern void ata_port_flush_task(struct ata_port *ap);
extern unsigned ata_exec_internal(struct ata_port *ap, struct ata_device *dev, extern unsigned ata_exec_internal(struct ata_device *dev,
struct ata_taskfile *tf, const u8 *cdb, struct ata_taskfile *tf, const u8 *cdb,
int dma_dir, void *buf, unsigned int buflen); int dma_dir, void *buf, unsigned int buflen);
extern int sata_down_spd_limit(struct ata_port *ap); extern int sata_down_spd_limit(struct ata_port *ap);
extern int sata_set_spd_needed(struct ata_port *ap); extern int sata_set_spd_needed(struct ata_port *ap);
extern int ata_down_xfermask_limit(struct ata_port *ap, struct ata_device *dev, extern int ata_down_xfermask_limit(struct ata_device *dev, int force_pio0);
int force_pio0);
extern int ata_set_mode(struct ata_port *ap, struct ata_device **r_failed_dev); extern int ata_set_mode(struct ata_port *ap, struct ata_device **r_failed_dev);
extern int ata_do_reset(struct ata_port *ap, ata_reset_fn_t reset, extern int ata_do_reset(struct ata_port *ap, ata_reset_fn_t reset,
unsigned int *classes); unsigned int *classes);
......
...@@ -518,8 +518,7 @@ extern void ata_std_probeinit(struct ata_port *ap); ...@@ -518,8 +518,7 @@ extern void ata_std_probeinit(struct ata_port *ap);
extern int ata_std_softreset(struct ata_port *ap, unsigned int *classes); extern int ata_std_softreset(struct ata_port *ap, unsigned int *classes);
extern int sata_std_hardreset(struct ata_port *ap, unsigned int *class); extern int sata_std_hardreset(struct ata_port *ap, unsigned int *class);
extern void ata_std_postreset(struct ata_port *ap, unsigned int *classes); extern void ata_std_postreset(struct ata_port *ap, unsigned int *classes);
extern int ata_dev_revalidate(struct ata_port *ap, struct ata_device *dev, extern int ata_dev_revalidate(struct ata_device *dev, int post_reset);
int post_reset);
extern void ata_port_disable(struct ata_port *); extern void ata_port_disable(struct ata_port *);
extern void ata_std_ports(struct ata_ioports *ioaddr); extern void ata_std_ports(struct ata_ioports *ioaddr);
#ifdef CONFIG_PCI #ifdef CONFIG_PCI
...@@ -545,8 +544,8 @@ extern int ata_port_online(struct ata_port *ap); ...@@ -545,8 +544,8 @@ extern int ata_port_online(struct ata_port *ap);
extern int ata_port_offline(struct ata_port *ap); extern int ata_port_offline(struct ata_port *ap);
extern int ata_scsi_device_resume(struct scsi_device *); extern int ata_scsi_device_resume(struct scsi_device *);
extern int ata_scsi_device_suspend(struct scsi_device *, pm_message_t state); extern int ata_scsi_device_suspend(struct scsi_device *, pm_message_t state);
extern int ata_device_resume(struct ata_port *, struct ata_device *); extern int ata_device_resume(struct ata_device *);
extern int ata_device_suspend(struct ata_port *, struct ata_device *, pm_message_t state); extern int ata_device_suspend(struct ata_device *, pm_message_t state);
extern int ata_ratelimit(void); extern int ata_ratelimit(void);
extern unsigned int ata_busy_sleep(struct ata_port *ap, extern unsigned int ata_busy_sleep(struct ata_port *ap,
unsigned long timeout_pat, unsigned long timeout_pat,
...@@ -592,15 +591,13 @@ extern void ata_bmdma_stop(struct ata_queued_cmd *qc); ...@@ -592,15 +591,13 @@ extern void ata_bmdma_stop(struct ata_queued_cmd *qc);
extern u8 ata_bmdma_status(struct ata_port *ap); extern u8 ata_bmdma_status(struct ata_port *ap);
extern void ata_bmdma_irq_clear(struct ata_port *ap); extern void ata_bmdma_irq_clear(struct ata_port *ap);
extern void __ata_qc_complete(struct ata_queued_cmd *qc); extern void __ata_qc_complete(struct ata_queued_cmd *qc);
extern void ata_scsi_simulate(struct ata_port *ap, struct ata_device *dev, extern void ata_scsi_simulate(struct ata_device *dev, struct scsi_cmnd *cmd,
struct scsi_cmnd *cmd,
void (*done)(struct scsi_cmnd *)); void (*done)(struct scsi_cmnd *));
extern int ata_std_bios_param(struct scsi_device *sdev, extern int ata_std_bios_param(struct scsi_device *sdev,
struct block_device *bdev, struct block_device *bdev,
sector_t capacity, int geom[]); sector_t capacity, int geom[]);
extern int ata_scsi_slave_config(struct scsi_device *sdev); extern int ata_scsi_slave_config(struct scsi_device *sdev);
extern struct ata_device *ata_dev_pair(struct ata_port *ap, extern struct ata_device *ata_dev_pair(struct ata_device *adev);
struct ata_device *adev);
/* /*
* Timing helpers * Timing helpers
...@@ -812,12 +809,12 @@ static inline struct ata_queued_cmd *ata_qc_from_tag (struct ata_port *ap, ...@@ -812,12 +809,12 @@ static inline struct ata_queued_cmd *ata_qc_from_tag (struct ata_port *ap,
return NULL; return NULL;
} }
static inline void ata_tf_init(struct ata_port *ap, struct ata_taskfile *tf, unsigned int device) static inline void ata_tf_init(struct ata_device *dev, struct ata_taskfile *tf)
{ {
memset(tf, 0, sizeof(*tf)); memset(tf, 0, sizeof(*tf));
tf->ctl = ap->ctl; tf->ctl = dev->ap->ctl;
if (device == 0) if (dev->devno == 0)
tf->device = ATA_DEVICE_OBS; tf->device = ATA_DEVICE_OBS;
else else
tf->device = ATA_DEVICE_OBS | ATA_DEV1; tf->device = ATA_DEVICE_OBS | ATA_DEV1;
...@@ -832,7 +829,7 @@ static inline void ata_qc_reinit(struct ata_queued_cmd *qc) ...@@ -832,7 +829,7 @@ static inline void ata_qc_reinit(struct ata_queued_cmd *qc)
qc->nbytes = qc->curbytes = 0; qc->nbytes = qc->curbytes = 0;
qc->err_mask = 0; qc->err_mask = 0;
ata_tf_init(qc->ap, &qc->tf, qc->dev->devno); ata_tf_init(qc->dev, &qc->tf);
/* init result_tf such that it indicates normal completion */ /* init result_tf such that it indicates normal completion */
qc->result_tf.command = ATA_DRDY; qc->result_tf.command = ATA_DRDY;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment