habanalabs: move common function out of debugfs.c
authorOded Gabbay <ogabbay@kernel.org>
Sun, 31 Jul 2022 06:10:24 +0000 (09:10 +0300)
committerOded Gabbay <ogabbay@kernel.org>
Sun, 18 Sep 2022 10:29:51 +0000 (13:29 +0300)
A common function that is called from multiple places can't be
located in degugfs.c because that file is only compiled if
debugfs is enabled in the kernel config file.

This can lead to undefined symbol compilation error.

Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
drivers/misc/habanalabs/common/debugfs.c
drivers/misc/habanalabs/common/device.c

index c297248748d31f23611dee194d6a7e8762736767..69fd3ed7680acb052c2f735005c4a9ac0b59b0b7 100644 (file)
@@ -586,31 +586,6 @@ err:
        return -EINVAL;
 }
 
-void hl_engine_data_sprintf(struct engines_data *e, const char *fmt, ...)
-{
-       va_list args;
-       int str_size;
-
-       va_start(args, fmt);
-       /* Calculate formatted string length. Assuming each string is null terminated, hence
-        * increment result by 1
-        */
-       str_size = vsnprintf(NULL, 0, fmt, args) + 1;
-       va_end(args);
-
-       if ((e->actual_size + str_size) < e->allocated_buf_size) {
-               va_start(args, fmt);
-               vsnprintf(e->buf + e->actual_size, str_size, fmt, args);
-               va_end(args);
-       }
-
-       /* Need to update the size even when not updating destination buffer to get the exact size
-        * of all input strings
-        */
-       e->actual_size += str_size;
-
-}
-
 static int engines_show(struct seq_file *s, void *data)
 {
        struct hl_debugfs_entry *entry = s->private;
index 6a98aae90f496de064219af2e746ed0bddbfe601..ab2497b6d16491103e8dc97f9a504f889dde4cf8 100644 (file)
@@ -267,6 +267,30 @@ int hl_access_dev_mem(struct hl_device *hdev, enum pci_region region_type,
        return 0;
 }
 
+void hl_engine_data_sprintf(struct engines_data *e, const char *fmt, ...)
+{
+       va_list args;
+       int str_size;
+
+       va_start(args, fmt);
+       /* Calculate formatted string length. Assuming each string is null terminated, hence
+        * increment result by 1
+        */
+       str_size = vsnprintf(NULL, 0, fmt, args) + 1;
+       va_end(args);
+
+       if ((e->actual_size + str_size) < e->allocated_buf_size) {
+               va_start(args, fmt);
+               vsnprintf(e->buf + e->actual_size, str_size, fmt, args);
+               va_end(args);
+       }
+
+       /* Need to update the size even when not updating destination buffer to get the exact size
+        * of all input strings
+        */
+       e->actual_size += str_size;
+}
+
 enum hl_device_status hl_device_status(struct hl_device *hdev)
 {
        enum hl_device_status status;