forked from luck/tmp_suning_uos_patched
[PATCH] [libata] Kill 'count' var in ata_device_add()
Eliminate redundant loop variable 'count' Signed-off-by: Jeff Garzik <jeff@garzik.org> Signed-off-by: Tejun Heo <htejun@gmail.com>
This commit is contained in:
parent
996139f1ce
commit
6d0500df5b
@ -5403,7 +5403,7 @@ void ata_host_set_init(struct ata_host_set *host_set,
|
||||
*/
|
||||
int ata_device_add(const struct ata_probe_ent *ent)
|
||||
{
|
||||
unsigned int count = 0, i;
|
||||
unsigned int i;
|
||||
struct device *dev = ent->dev;
|
||||
struct ata_host_set *host_set;
|
||||
int rc;
|
||||
@ -5422,7 +5422,7 @@ int ata_device_add(const struct ata_probe_ent *ent)
|
||||
host_set->private_data = ent->private_data;
|
||||
|
||||
/* register each port bound to this device */
|
||||
for (i = 0; i < ent->n_ports; i++) {
|
||||
for (i = 0; i < host_set->n_ports; i++) {
|
||||
struct ata_port *ap;
|
||||
unsigned long xfer_mode_mask;
|
||||
|
||||
@ -5448,12 +5448,8 @@ int ata_device_add(const struct ata_probe_ent *ent)
|
||||
ata_chk_status(ap);
|
||||
host_set->ops->irq_clear(ap);
|
||||
ata_eh_freeze_port(ap); /* freeze port before requesting IRQ */
|
||||
count++;
|
||||
}
|
||||
|
||||
if (!count)
|
||||
goto err_free_ret;
|
||||
|
||||
/* obtain irq, that is shared between channels */
|
||||
rc = request_irq(ent->irq, ent->port_ops->irq_handler, ent->irq_flags,
|
||||
DRV_NAME, host_set);
|
||||
@ -5465,13 +5461,11 @@ int ata_device_add(const struct ata_probe_ent *ent)
|
||||
|
||||
/* perform each probe synchronously */
|
||||
DPRINTK("probe begin\n");
|
||||
for (i = 0; i < count; i++) {
|
||||
struct ata_port *ap;
|
||||
for (i = 0; i < host_set->n_ports; i++) {
|
||||
struct ata_port *ap = host_set->ports[i];
|
||||
u32 scontrol;
|
||||
int rc;
|
||||
|
||||
ap = host_set->ports[i];
|
||||
|
||||
/* init sata_spd_limit to the current value */
|
||||
if (sata_scr_read(ap, SCR_CONTROL, &scontrol) == 0) {
|
||||
int spd = (scontrol >> 4) & 0xf;
|
||||
@ -5527,7 +5521,7 @@ int ata_device_add(const struct ata_probe_ent *ent)
|
||||
|
||||
/* probes are done, now scan each port's disk(s) */
|
||||
DPRINTK("host probe begin\n");
|
||||
for (i = 0; i < count; i++) {
|
||||
for (i = 0; i < host_set->n_ports; i++) {
|
||||
struct ata_port *ap = host_set->ports[i];
|
||||
|
||||
ata_scsi_scan_host(ap);
|
||||
@ -5539,14 +5533,14 @@ int ata_device_add(const struct ata_probe_ent *ent)
|
||||
return ent->n_ports; /* success */
|
||||
|
||||
err_out:
|
||||
for (i = 0; i < count; i++) {
|
||||
for (i = 0; i < host_set->n_ports; i++) {
|
||||
struct ata_port *ap = host_set->ports[i];
|
||||
if (ap) {
|
||||
ap->ops->port_stop(ap);
|
||||
scsi_host_put(ap->host);
|
||||
}
|
||||
}
|
||||
err_free_ret:
|
||||
|
||||
kfree(host_set);
|
||||
VPRINTK("EXIT, returning 0\n");
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user