xref: /openbsd/sys/dev/pci/drm/i915/gt/intel_gt_sysfs.h (revision f005ef32)
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)211bb76ff1Sjsg static 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