@@ -955,6 +955,18 @@ int target_configure_device(struct se_device *dev)
return ret;
}
+int target_get_device(struct se_device *dev)
+{
+ return config_item_get_unless_zero(&dev->dev_group.cg_item) != NULL;
+}
+EXPORT_SYMBOL(target_get_device);
+
+void target_put_device(struct se_device *dev)
+{
+ config_item_put(&dev->dev_group.cg_item);
+}
+EXPORT_SYMBOL(target_put_device);
+
void target_free_device(struct se_device *dev)
{
struct se_hba *hba = dev->se_hba;
@@ -86,6 +86,8 @@ int core_dev_setup_virtual_lun0(void);
void core_dev_release_virtual_lun0(void);
struct se_device *target_alloc_device(struct se_hba *hba, const char *name);
int target_configure_device(struct se_device *dev);
+int target_get_device(struct se_device *dev);
+void target_put_device(struct se_device *dev);
void target_free_device(struct se_device *);
/* target_core_configfs.c */
These new functions will be used by the next patch in this series. Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com> Cc: Hannes Reinecke <hare@suse.com> Cc: Christoph Hellwig <hch@lst.de> Cc: David Disseldorp <ddiss@suse.de> --- drivers/target/target_core_device.c | 12 ++++++++++++ drivers/target/target_core_internal.h | 2 ++ 2 files changed, 14 insertions(+)