11bb76ff1Sjsg /* SPDX-License-Identifier: MIT */ 21bb76ff1Sjsg /* 31bb76ff1Sjsg * Copyright © 2022 Intel Corporation 41bb76ff1Sjsg */ 51bb76ff1Sjsg 61bb76ff1Sjsg #ifndef __SYSFS_GT_H__ 71bb76ff1Sjsg #define __SYSFS_GT_H__ 81bb76ff1Sjsg 91bb76ff1Sjsg #include <linux/ctype.h> 101bb76ff1Sjsg #include <linux/kobject.h> 111bb76ff1Sjsg 121bb76ff1Sjsg #include "i915_gem.h" /* GEM_BUG_ON() */ 131bb76ff1Sjsg #include "intel_gt_types.h" 141bb76ff1Sjsg 151bb76ff1Sjsg struct intel_gt; 161bb76ff1Sjsg 171bb76ff1Sjsg bool is_object_gt(struct kobject *kobj); 181bb76ff1Sjsg 191bb76ff1Sjsg struct drm_i915_private *kobj_to_i915(struct kobject *kobj); 201bb76ff1Sjsg kobj_to_gt(struct kobject * kobj)211bb76ff1Sjsgstatic inline struct intel_gt *kobj_to_gt(struct kobject *kobj) 221bb76ff1Sjsg { 231bb76ff1Sjsg return container_of(kobj, struct intel_gt, sysfs_gt); 241bb76ff1Sjsg } 251bb76ff1Sjsg 261bb76ff1Sjsg void intel_gt_sysfs_register(struct intel_gt *gt); 271bb76ff1Sjsg void intel_gt_sysfs_unregister(struct intel_gt *gt); 28*850b1841Sjsg struct intel_gt *intel_gt_sysfs_get_drvdata(struct kobject *kobj, 291bb76ff1Sjsg const char *name); 301bb76ff1Sjsg 311bb76ff1Sjsg #endif /* SYSFS_GT_H */ 32