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); |
