Commit b21a142f authored by Lyude Paul's avatar Lyude Paul

drm/nouveau/backlight: Just set all backlight types as RAW

Currently we can get a warning on systems with eDP backlights like so:

  nv_backlight: invalid backlight type
  WARNING: CPU: 4 PID: 454 at drivers/video/backlight/backlight.c:420
    backlight_device_register+0x226/0x250

This happens as a result of us not filling out props.type for the eDP
backlight, even though we do it for all other backlight types.

Since nothing in our driver uses anything but BACKLIGHT_RAW, let's take the
props\.type assignments out of the codepaths for individual backlight types
and just set it unconditionally to prevent this from happening again.
Signed-off-by: default avatarLyude Paul <lyude@redhat.com>
Fixes: 6eca310e ("drm/nouveau/kms/nv50-: Add basic DPCD backlight support for nouveau")
Cc: <stable@vger.kernel.org> # v5.15+
Reviewed-by: default avatarKarol Herbst <kherbst@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220204193319.451119-1-lyude@redhat.com
parent 6b007654
...@@ -101,7 +101,6 @@ nv40_backlight_init(struct nouveau_encoder *encoder, ...@@ -101,7 +101,6 @@ nv40_backlight_init(struct nouveau_encoder *encoder,
if (!(nvif_rd32(device, NV40_PMC_BACKLIGHT) & NV40_PMC_BACKLIGHT_MASK)) if (!(nvif_rd32(device, NV40_PMC_BACKLIGHT) & NV40_PMC_BACKLIGHT_MASK))
return -ENODEV; return -ENODEV;
props->type = BACKLIGHT_RAW;
props->max_brightness = 31; props->max_brightness = 31;
*ops = &nv40_bl_ops; *ops = &nv40_bl_ops;
return 0; return 0;
...@@ -343,7 +342,6 @@ nv50_backlight_init(struct nouveau_backlight *bl, ...@@ -343,7 +342,6 @@ nv50_backlight_init(struct nouveau_backlight *bl,
else else
*ops = &nva3_bl_ops; *ops = &nva3_bl_ops;
props->type = BACKLIGHT_RAW;
props->max_brightness = 100; props->max_brightness = 100;
return 0; return 0;
...@@ -411,6 +409,7 @@ nouveau_backlight_init(struct drm_connector *connector) ...@@ -411,6 +409,7 @@ nouveau_backlight_init(struct drm_connector *connector)
goto fail_alloc; goto fail_alloc;
} }
props.type = BACKLIGHT_RAW;
bl->dev = backlight_device_register(backlight_name, connector->kdev, bl->dev = backlight_device_register(backlight_name, connector->kdev,
nv_encoder, ops, &props); nv_encoder, ops, &props);
if (IS_ERR(bl->dev)) { if (IS_ERR(bl->dev)) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment