Lines Matching refs:starget
1329 static int scsi_target_add(struct scsi_target *starget)
1333 if (starget->state != STARGET_CREATED)
1336 error = device_add(&starget->dev);
1338 dev_err(&starget->dev, "target device_add failed, error %d\n", error);
1341 transport_add_device(&starget->dev);
1342 starget->state = STARGET_RUNNING;
1344 pm_runtime_set_active(&starget->dev);
1345 pm_runtime_enable(&starget->dev);
1346 device_enable_async_suspend(&starget->dev);
1362 struct scsi_target *starget = sdev->sdev_target;
1364 error = scsi_target_add(starget);
1368 transport_configure_device(&starget->dev);
1371 scsi_autopm_get_target(starget);
1376 scsi_autopm_put_target(starget);
1514 static void __scsi_remove_target(struct scsi_target *starget)
1516 struct Scsi_Host *shost = dev_to_shost(starget->dev.parent);
1529 if (sdev->channel != starget->channel ||
1530 sdev->id != starget->id)
1547 * @dev: generic starget or parent of generic stargets to be removed
1556 struct scsi_target *starget;
1561 list_for_each_entry(starget, &shost->__targets, siblings) {
1562 if (starget->state == STARGET_DEL ||
1563 starget->state == STARGET_REMOVE ||
1564 starget->state == STARGET_CREATED_REMOVE)
1566 if (starget->dev.parent == dev || &starget->dev == dev) {
1567 kref_get(&starget->reap_ref);
1568 if (starget->state == STARGET_CREATED)
1569 starget->state = STARGET_CREATED_REMOVE;
1571 starget->state = STARGET_REMOVE;
1573 __scsi_remove_target(starget);
1574 scsi_target_reap(starget);
1631 struct scsi_target *starget = sdev->sdev_target;
1651 sdev->scsi_level = starget->scsi_level;
1659 list_add_tail(&sdev->same_target_siblings, &starget->devices);
1667 kref_get(&starget->reap_ref);