intel_gt_sysfs.h revision 1.1
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
15struct intel_gt;
16
17bool is_object_gt(struct kobject *kobj);
18
19struct drm_i915_private *kobj_to_i915(struct kobject *kobj);
20
21struct kobject *
22intel_gt_create_kobj(struct intel_gt *gt,
23		     struct kobject *dir,
24		     const char *name);
25
26static inline struct intel_gt *kobj_to_gt(struct kobject *kobj)
27{
28	return container_of(kobj, struct intel_gt, sysfs_gt);
29}
30
31void intel_gt_sysfs_register(struct intel_gt *gt);
32void intel_gt_sysfs_unregister(struct intel_gt *gt);
33struct intel_gt *intel_gt_sysfs_get_drvdata(struct device *dev,
34					    const char *name);
35
36#endif /* SYSFS_GT_H */
37