diff options
Diffstat (limited to 'drivers/scsi/scsi_scan.c')
-rw-r--r-- | drivers/scsi/scsi_scan.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/drivers/scsi/scsi_scan.c b/drivers/scsi/scsi_scan.c index e67c14e31bab..e1644b270cdc 100644 --- a/drivers/scsi/scsi_scan.c +++ b/drivers/scsi/scsi_scan.c | |||
@@ -331,9 +331,14 @@ static void scsi_target_dev_release(struct device *dev) | |||
331 | put_device(parent); | 331 | put_device(parent); |
332 | } | 332 | } |
333 | 333 | ||
334 | struct device_type scsi_target_type = { | ||
335 | .name = "scsi_target", | ||
336 | .release = scsi_target_dev_release, | ||
337 | }; | ||
338 | |||
334 | int scsi_is_target_device(const struct device *dev) | 339 | int scsi_is_target_device(const struct device *dev) |
335 | { | 340 | { |
336 | return dev->release == scsi_target_dev_release; | 341 | return dev->type == &scsi_target_type; |
337 | } | 342 | } |
338 | EXPORT_SYMBOL(scsi_is_target_device); | 343 | EXPORT_SYMBOL(scsi_is_target_device); |
339 | 344 | ||
@@ -391,9 +396,12 @@ static struct scsi_target *scsi_alloc_target(struct device *parent, | |||
391 | device_initialize(dev); | 396 | device_initialize(dev); |
392 | starget->reap_ref = 1; | 397 | starget->reap_ref = 1; |
393 | dev->parent = get_device(parent); | 398 | dev->parent = get_device(parent); |
394 | dev->release = scsi_target_dev_release; | ||
395 | sprintf(dev->bus_id, "target%d:%d:%d", | 399 | sprintf(dev->bus_id, "target%d:%d:%d", |
396 | shost->host_no, channel, id); | 400 | shost->host_no, channel, id); |
401 | #ifndef CONFIG_SYSFS_DEPRECATED | ||
402 | dev->bus = &scsi_bus_type; | ||
403 | #endif | ||
404 | dev->type = &scsi_target_type; | ||
397 | starget->id = id; | 405 | starget->id = id; |
398 | starget->channel = channel; | 406 | starget->channel = channel; |
399 | INIT_LIST_HEAD(&starget->siblings); | 407 | INIT_LIST_HEAD(&starget->siblings); |