1 /* SPDX-License-Identifier: MIT */ 2 /* 3 * Copyright © 2022 Intel Corporation 4 */ 5 6 #ifndef __SYSFS_GT_H__ 7 #define __SYSFS_GT_H__ 8 9 #include <linux/ctype.h> 10 #include <linux/kobject.h> 11 12 #include "i915_gem.h" /* GEM_BUG_ON() */ 13 #include "intel_gt_types.h" 14 15 struct intel_gt; 16 17 bool is_object_gt(struct kobject *kobj); 18 19 struct drm_i915_private *kobj_to_i915(struct kobject *kobj); 20 21 struct kobject * 22 intel_gt_create_kobj(struct intel_gt *gt, 23 struct kobject *dir, 24 const char *name); 25 kobj_to_gt(struct kobject * kobj)26static inline struct intel_gt *kobj_to_gt(struct kobject *kobj) 27 { 28 return container_of(kobj, struct intel_gt, sysfs_gt); 29 } 30 31 void intel_gt_sysfs_register(struct intel_gt *gt); 32 void intel_gt_sysfs_unregister(struct intel_gt *gt); 33 struct intel_gt *intel_gt_sysfs_get_drvdata(struct kobject *kobj, 34 const char *name); 35 36 #endif /* SYSFS_GT_H */ 37