drm/xe: make GT sysfs init return void
authorTejas Upadhyay <tejas.upadhyay@intel.com>
Wed, 5 Jul 2023 08:36:33 +0000 (14:06 +0530)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Thu, 21 Dec 2023 16:35:07 +0000 (11:35 -0500)
Currently return from xe_gt_sysfs_init() is ignored
and also a failure in xe_gt_sysfs_init() isn't fatal
so make it return void.

V2 :
   - add drm_warn in error paths - Himal
   - Edit commit message - Nirmoy

Acked-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
Reviewed-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
Reviewed-by: Nirmoy Das <nirmoy.das@intel.com>
Signed-off-by: Tejas Upadhyay <tejas.upadhyay@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/xe/xe_gt_sysfs.c
drivers/gpu/drm/xe/xe_gt_sysfs.h

index 13570987a756958d30a7ba2b0a2cd63725099c2c..cdfe5995259b202a1c70d1de2b92a569f3bf0895 100644 (file)
@@ -29,30 +29,35 @@ static void gt_sysfs_fini(struct drm_device *drm, void *arg)
        kobject_put(gt->sysfs);
 }
 
-int xe_gt_sysfs_init(struct xe_gt *gt)
+void xe_gt_sysfs_init(struct xe_gt *gt)
 {
        struct xe_tile *tile = gt_to_tile(gt);
+       struct xe_device *xe = gt_to_xe(gt);
        struct kobj_gt *kg;
        int err;
 
        kg = kzalloc(sizeof(*kg), GFP_KERNEL);
-       if (!kg)
-               return -ENOMEM;
+       if (!kg) {
+               drm_warn(&xe->drm, "Allocating kobject failed.\n");
+               return;
+       }
 
        kobject_init(&kg->base, &xe_gt_sysfs_kobj_type);
        kg->gt = gt;
 
        err = kobject_add(&kg->base, tile->sysfs, "gt%d", gt->info.id);
        if (err) {
+               drm_warn(&xe->drm, "failed to add GT sysfs directory, err: %d\n", err);
                kobject_put(&kg->base);
-               return err;
+               return;
        }
 
        gt->sysfs = &kg->base;
 
-       err = drmm_add_action_or_reset(&gt_to_xe(gt)->drm, gt_sysfs_fini, gt);
-       if (err)
-               return err;
-
-       return 0;
+       err = drmm_add_action_or_reset(&xe->drm, gt_sysfs_fini, gt);
+       if (err) {
+               drm_warn(&xe->drm, "%s: drmm_add_action_or_reset failed, err: %d\n",
+                        __func__, err);
+               return;
+       }
 }
index ecbfcc5c7d42cf648c45429a9565614a7dd77dea..e3ec278ca0be063c4663254167c5eaa386b446d2 100644 (file)
@@ -8,7 +8,7 @@
 
 #include "xe_gt_sysfs_types.h"
 
-int xe_gt_sysfs_init(struct xe_gt *gt);
+void xe_gt_sysfs_init(struct xe_gt *gt);
 
 static inline struct xe_gt *
 kobj_to_gt(struct kobject *kobj)