/* * Enable KMS by default, unless explicitly overridden by * either the i915.modeset parameter or by the * nomodeset boot option.
*/
if (i915_modparams.modeset == 0)
pr_warn("i915.modeset=0 is deprecated. Please use the 'nomodeset' kernel parameter instead.\n"); elseif (i915_modparams.modeset != -1)
pr_warn("i915.modeset=%d is deprecated. Please remove it and the 'nomodeset' kernel parameter instead.\n",
i915_modparams.modeset);
if (i915_modparams.modeset == 0)
use_kms = false;
if (drm_firmware_drivers_only() && i915_modparams.modeset == -1)
use_kms = false;
if (!use_kms) {
DRM_DEBUG_DRIVER("KMS disabled.\n"); return -ENODEV;
}
for (i = 0; i < ARRAY_SIZE(init_funcs); i++) {
err = init_funcs[i].init(); if (err < 0) { while (i--) { if (init_funcs[i].exit)
init_funcs[i].exit();
} return err;
} elseif (err > 0) { /* * Early-exit success is reserved for things which * don't have an exit() function because we have no * idea how far they got or how to partially tear * them down.
*/
WARN_ON(init_funcs[i].exit); break;
}
}
init_progress = i;
return 0;
}
staticvoid __exit i915_exit(void)
{ int i;
for (i = init_progress - 1; i >= 0; i--) {
GEM_BUG_ON(i >= ARRAY_SIZE(init_funcs)); if (init_funcs[i].exit)
init_funcs[i].exit();
}
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.