[Intel-gfx] [PATCH] drm/i915: Check for nomodeset in i915_init() first
Jason Ekstrand
jason at jlekstrand.net
Tue Jul 20 15:53:10 UTC 2021
On Mon, Jul 19, 2021 at 3:35 AM Daniel Vetter <daniel.vetter at ffwll.ch> wrote:
>
> Jason is trying to sort out the unwinding in i915_init and i915_exit,
> while reviewing those patches I noticed that we also have the
> nomodeset handling now in the middle of things.
>
> Pull that out for simplisity in unwinding - if you run selftest with
> nomodeset you get nothing, *shrug*.
>
> Cc: Jason Ekstrand <jason at jlekstrand.net>
> Signed-off-by: Daniel Vetter <daniel.vetter at intel.com>
> ---
> drivers/gpu/drm/i915/i915_pci.c | 16 ++++++++--------
> 1 file changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c
> index 67696d752271..6fe709ac1b4b 100644
> --- a/drivers/gpu/drm/i915/i915_pci.c
> +++ b/drivers/gpu/drm/i915/i915_pci.c
> @@ -1199,14 +1199,6 @@ static int __init i915_init(void)
> bool use_kms = true;
> int err;
>
> - err = i915_globals_init();
> - if (err)
> - return err;
> -
> - err = i915_mock_selftests();
> - if (err)
> - return err > 0 ? 0 : err;
> -
> /*
> * Enable KMS by default, unless explicitly overriden by
> * either the i915.modeset prarameter or by the
> @@ -1225,6 +1217,14 @@ static int __init i915_init(void)
> return 0;
> }
>
> + err = i915_globals_init();
> + if (err)
> + return err;
> +
> + err = i915_mock_selftests();
> + if (err)
> + return err > 0 ? 0 : err;
> +
Annoyingly, this actually makes i915_exit() harder because now we need
to conditionals: One for "do you have globals?" and one for "do you
have anything at all?". It's actually easier to get right if we have
i915_globals_init()
/* Everything that can return 0 early */
fully_loaded = true
/* Everything that can fail */
> i915_pmu_init();
>
> err = pci_register_driver(&i915_pci_driver);
> --
> 2.32.0
>
More information about the Intel-gfx
mailing list