@@ -839,10 +839,9 @@ static const struct hwmon_chip_info hwmon_chip_info = {
839
839
};
840
840
841
841
static void
842
- xe_hwmon_get_preregistration_info (struct xe_device * xe )
842
+ xe_hwmon_get_preregistration_info (struct xe_hwmon * hwmon )
843
843
{
844
- struct xe_mmio * mmio = xe_root_tile_mmio (xe );
845
- struct xe_hwmon * hwmon = xe -> hwmon ;
844
+ struct xe_mmio * mmio = xe_root_tile_mmio (hwmon -> xe );
846
845
long energy ;
847
846
u64 val_sku_unit = 0 ;
848
847
int channel ;
@@ -876,45 +875,47 @@ static void xe_hwmon_mutex_destroy(void *arg)
876
875
mutex_destroy (& hwmon -> hwmon_lock );
877
876
}
878
877
879
- void xe_hwmon_register (struct xe_device * xe )
878
+ int xe_hwmon_register (struct xe_device * xe )
880
879
{
881
880
struct device * dev = xe -> drm .dev ;
882
881
struct xe_hwmon * hwmon ;
882
+ int ret ;
883
883
884
884
/* hwmon is available only for dGfx */
885
885
if (!IS_DGFX (xe ))
886
- return ;
886
+ return 0 ;
887
887
888
888
/* hwmon is not available on VFs */
889
889
if (IS_SRIOV_VF (xe ))
890
- return ;
890
+ return 0 ;
891
891
892
892
hwmon = devm_kzalloc (dev , sizeof (* hwmon ), GFP_KERNEL );
893
893
if (!hwmon )
894
- return ;
895
-
896
- xe -> hwmon = hwmon ;
894
+ return - ENOMEM ;
897
895
898
896
mutex_init (& hwmon -> hwmon_lock );
899
- if (devm_add_action_or_reset (dev , xe_hwmon_mutex_destroy , hwmon ))
900
- return ;
897
+ ret = devm_add_action_or_reset (dev , xe_hwmon_mutex_destroy , hwmon );
898
+ if (ret )
899
+ return ret ;
901
900
902
901
/* There's only one instance of hwmon per device */
903
902
hwmon -> xe = xe ;
903
+ xe -> hwmon = hwmon ;
904
904
905
- xe_hwmon_get_preregistration_info (xe );
905
+ xe_hwmon_get_preregistration_info (hwmon );
906
906
907
907
drm_dbg (& xe -> drm , "Register xe hwmon interface\n" );
908
908
909
909
/* hwmon_dev points to device hwmon<i> */
910
910
hwmon -> hwmon_dev = devm_hwmon_device_register_with_info (dev , "xe" , hwmon ,
911
911
& hwmon_chip_info ,
912
912
hwmon_groups );
913
-
914
913
if (IS_ERR (hwmon -> hwmon_dev )) {
915
- drm_warn (& xe -> drm , "Failed to register xe hwmon (%pe)\n" , hwmon -> hwmon_dev );
914
+ drm_err (& xe -> drm , "Failed to register xe hwmon (%pe)\n" , hwmon -> hwmon_dev );
916
915
xe -> hwmon = NULL ;
917
- return ;
916
+ return PTR_ERR ( hwmon -> hwmon_dev ) ;
918
917
}
918
+
919
+ return 0 ;
919
920
}
920
921
0 commit comments