diff options
Diffstat (limited to 'drivers/scsi/hosts.c')
| -rw-r--r-- | drivers/scsi/hosts.c | 15 | 
1 files changed, 3 insertions, 12 deletions
diff --git a/drivers/scsi/hosts.c b/drivers/scsi/hosts.c index 8049b00b6766..f69b77cbf538 100644 --- a/drivers/scsi/hosts.c +++ b/drivers/scsi/hosts.c @@ -61,6 +61,7 @@ static void scsi_host_cls_release(struct device *dev)  static struct class shost_class = {  	.name		= "scsi_host",  	.dev_release	= scsi_host_cls_release, +	.dev_groups	= scsi_shost_groups,  };  /** @@ -377,7 +378,7 @@ static struct device_type scsi_host_type = {  struct Scsi_Host *scsi_host_alloc(struct scsi_host_template *sht, int privsize)  {  	struct Scsi_Host *shost; -	int index, i, j = 0; +	int index;  	shost = kzalloc(sizeof(struct Scsi_Host) + privsize, GFP_KERNEL);  	if (!shost) @@ -483,17 +484,7 @@ struct Scsi_Host *scsi_host_alloc(struct scsi_host_template *sht, int privsize)  	shost->shost_dev.parent = &shost->shost_gendev;  	shost->shost_dev.class = &shost_class;  	dev_set_name(&shost->shost_dev, "host%d", shost->host_no); -	shost->shost_dev.groups = shost->shost_dev_attr_groups; -	shost->shost_dev_attr_groups[j++] = &scsi_shost_attr_group; -	if (sht->shost_groups) { -		for (i = 0; sht->shost_groups[i] && -			     j < ARRAY_SIZE(shost->shost_dev_attr_groups); -		     i++, j++) { -			shost->shost_dev_attr_groups[j] = -				sht->shost_groups[i]; -		} -	} -	WARN_ON_ONCE(j >= ARRAY_SIZE(shost->shost_dev_attr_groups)); +	shost->shost_dev.groups = sht->shost_groups;  	shost->ehandler = kthread_run(scsi_error_handler, shost,  			"scsi_eh_%d", shost->host_no);  |