drivers/gpu/drm/i915/i915_sysfs.c

Source file repositories/reference/linux-study-clean/drivers/gpu/drm/i915/i915_sysfs.c

File Facts

System
Linux kernel
Corpus path
drivers/gpu/drm/i915/i915_sysfs.c
Extension
.c
Size
5401 bytes
Lines
201
Domain
Driver Families
Bucket
drivers/gpu
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

if (NUM_L3_SLICES(dev_priv) > 1) {
			ret = device_create_bin_file(kdev,
						     &dpf_attrs_1);
			if (ret)
				drm_err(&dev_priv->drm,
					"l3 parity slice 1 setup failed\n");
		}
	}

	dev_priv->sysfs_gt = kobject_create_and_add("gt", &kdev->kobj);
	if (!dev_priv->sysfs_gt)
		drm_warn(&dev_priv->drm,
			 "failed to register GT sysfs directory\n");

	i915_gpu_error_sysfs_setup(dev_priv);

	intel_engines_add_sysfs(dev_priv);
}

void i915_teardown_sysfs(struct drm_i915_private *dev_priv)
{
	struct device *kdev = dev_priv->drm.primary->kdev;

	i915_gpu_error_sysfs_teardown(dev_priv);

	device_remove_bin_file(kdev, &dpf_attrs_1);
	device_remove_bin_file(kdev, &dpf_attrs);

	kobject_put(dev_priv->sysfs_gt);
}

Annotation

Implementation Notes