Commit 213eca2b authored by Hans de Goede's avatar Hans de Goede Committed by Alex Deucher
Browse files

drm/amd/display/amdgpu_dm: Make amdgpu_dm_register_backlight_device() take an amdgpu_dm_connector



Make amdgpu_dm_register_backlight_device() take an amdgpu_dm_connector
pointer to the connector for which it should register the backlight
as its only argument.

This is a preparation patch for moving the actual backlight class device
registering to drm_connector_funcs.late_register.

Reviewed-by: default avatarRodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
Signed-off-by: default avatarRodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 618e51cd
Loading
Loading
Loading
Loading
+12 −12
Original line number Diff line number Diff line
@@ -4177,13 +4177,15 @@ static const struct backlight_ops amdgpu_dm_backlight_ops = {
};

static void
amdgpu_dm_register_backlight_device(struct amdgpu_display_manager *dm)
amdgpu_dm_register_backlight_device(struct amdgpu_dm_connector *aconnector)
{
	char bl_name[16];
	struct drm_device *drm = aconnector->base.dev;
	struct amdgpu_display_manager *dm = &drm_to_adev(drm)->dm;
	struct backlight_properties props = { 0 };
	char bl_name[16];

	if (!acpi_video_backlight_use_native()) {
		drm_info(adev_to_drm(dm->adev), "Skipping amdgpu DM backlight registration\n");
		drm_info(drm, "Skipping amdgpu DM backlight registration\n");
		/* Try registering an ACPI video backlight device instead. */
		acpi_video_register_backlight();
		return;
@@ -4194,17 +4196,15 @@ amdgpu_dm_register_backlight_device(struct amdgpu_display_manager *dm)
	props.type = BACKLIGHT_RAW;

	snprintf(bl_name, sizeof(bl_name), "amdgpu_bl%d",
		 adev_to_drm(dm->adev)->primary->index + dm->num_of_edps);
		 drm->primary->index + aconnector->bl_idx);

	dm->backlight_dev[dm->num_of_edps] = backlight_device_register(bl_name,
								       adev_to_drm(dm->adev)->dev,
								       dm,
								       &amdgpu_dm_backlight_ops,
								       &props);
	dm->backlight_dev[aconnector->bl_idx] =
		backlight_device_register(bl_name, drm->dev, dm,
					  &amdgpu_dm_backlight_ops, &props);

	if (IS_ERR(dm->backlight_dev[dm->num_of_edps])) {
	if (IS_ERR(dm->backlight_dev[aconnector->bl_idx])) {
		DRM_ERROR("DM: Backlight registration failed!\n");
		dm->backlight_dev[dm->num_of_edps] = NULL;
		dm->backlight_dev[aconnector->bl_idx] = NULL;
	} else
		DRM_DEBUG_DRIVER("DM: Registered Backlight device: %s\n", bl_name);
}
@@ -4270,7 +4270,7 @@ static void setup_backlight_device(struct amdgpu_display_manager *dm,
	amdgpu_dm_update_backlight_caps(dm, bl_idx);
	dm->brightness[bl_idx] = AMDGPU_MAX_BL_LEVEL;

	amdgpu_dm_register_backlight_device(dm);
	amdgpu_dm_register_backlight_device(aconnector);
	if (!dm->backlight_dev[bl_idx]) {
		aconnector->bl_idx = -1;
		return;