mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-21 06:50:25 +00:00
ACPI: video: Remove code to unregister acpi_video backlight when a native backlight registers
Remove the code to unregister acpi_video backlight devices when a native backlight device gets registered later. Now that the acpi_video backlight device registration is a separate step which runs later, after the drm/kms driver is done setting up its own native backlight device, it is no longer necessary to monitor for a native (BACKLIGHT_RAW) device showing up later and to then unregister the acpi_video backlight device(s). Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
This commit is contained in:
parent
3dbc80a3e4
commit
6cb634d0dc
2 changed files with 0 additions and 38 deletions
|
@ -94,7 +94,6 @@ static void acpi_video_bus_notify(struct acpi_device *device, u32 event);
|
||||||
static void acpi_video_bus_register_backlight_work(struct work_struct *ignored);
|
static void acpi_video_bus_register_backlight_work(struct work_struct *ignored);
|
||||||
static DECLARE_DELAYED_WORK(video_bus_register_backlight_work,
|
static DECLARE_DELAYED_WORK(video_bus_register_backlight_work,
|
||||||
acpi_video_bus_register_backlight_work);
|
acpi_video_bus_register_backlight_work);
|
||||||
void acpi_video_detect_exit(void);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Indices in the _BCL method response: the first two items are special,
|
* Indices in the _BCL method response: the first two items are special,
|
||||||
|
@ -2342,7 +2341,6 @@ static int __init acpi_video_init(void)
|
||||||
|
|
||||||
static void __exit acpi_video_exit(void)
|
static void __exit acpi_video_exit(void)
|
||||||
{
|
{
|
||||||
acpi_video_detect_exit();
|
|
||||||
acpi_video_unregister();
|
acpi_video_unregister();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -38,10 +38,6 @@
|
||||||
|
|
||||||
void acpi_video_unregister_backlight(void);
|
void acpi_video_unregister_backlight(void);
|
||||||
|
|
||||||
static bool backlight_notifier_registered;
|
|
||||||
static struct notifier_block backlight_nb;
|
|
||||||
static struct work_struct backlight_notify_work;
|
|
||||||
|
|
||||||
static enum acpi_backlight_type acpi_backlight_cmdline = acpi_backlight_undef;
|
static enum acpi_backlight_type acpi_backlight_cmdline = acpi_backlight_undef;
|
||||||
static enum acpi_backlight_type acpi_backlight_dmi = acpi_backlight_undef;
|
static enum acpi_backlight_type acpi_backlight_dmi = acpi_backlight_undef;
|
||||||
|
|
||||||
|
@ -538,26 +534,6 @@ static const struct dmi_system_id video_detect_dmi_table[] = {
|
||||||
{ },
|
{ },
|
||||||
};
|
};
|
||||||
|
|
||||||
/* This uses a workqueue to avoid various locking ordering issues */
|
|
||||||
static void acpi_video_backlight_notify_work(struct work_struct *work)
|
|
||||||
{
|
|
||||||
if (acpi_video_get_backlight_type() != acpi_backlight_video)
|
|
||||||
acpi_video_unregister_backlight();
|
|
||||||
}
|
|
||||||
|
|
||||||
static int acpi_video_backlight_notify(struct notifier_block *nb,
|
|
||||||
unsigned long val, void *bd)
|
|
||||||
{
|
|
||||||
struct backlight_device *backlight = bd;
|
|
||||||
|
|
||||||
/* A raw bl registering may change video -> native */
|
|
||||||
if (backlight->props.type == BACKLIGHT_RAW &&
|
|
||||||
val == BACKLIGHT_REGISTERED)
|
|
||||||
schedule_work(&backlight_notify_work);
|
|
||||||
|
|
||||||
return NOTIFY_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Determine which type of backlight interface to use on this system,
|
* Determine which type of backlight interface to use on this system,
|
||||||
* First check cmdline, then dmi quirks, then do autodetect.
|
* First check cmdline, then dmi quirks, then do autodetect.
|
||||||
|
@ -587,12 +563,6 @@ static enum acpi_backlight_type __acpi_video_get_backlight_type(bool native)
|
||||||
acpi_walk_namespace(ACPI_TYPE_DEVICE, ACPI_ROOT_OBJECT,
|
acpi_walk_namespace(ACPI_TYPE_DEVICE, ACPI_ROOT_OBJECT,
|
||||||
ACPI_UINT32_MAX, find_video, NULL,
|
ACPI_UINT32_MAX, find_video, NULL,
|
||||||
&video_caps, NULL);
|
&video_caps, NULL);
|
||||||
INIT_WORK(&backlight_notify_work,
|
|
||||||
acpi_video_backlight_notify_work);
|
|
||||||
backlight_nb.notifier_call = acpi_video_backlight_notify;
|
|
||||||
backlight_nb.priority = 0;
|
|
||||||
if (backlight_register_notifier(&backlight_nb) == 0)
|
|
||||||
backlight_notifier_registered = true;
|
|
||||||
init_done = true;
|
init_done = true;
|
||||||
}
|
}
|
||||||
if (native)
|
if (native)
|
||||||
|
@ -639,9 +609,3 @@ void acpi_video_set_dmi_backlight_type(enum acpi_backlight_type type)
|
||||||
acpi_video_unregister_backlight();
|
acpi_video_unregister_backlight();
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(acpi_video_set_dmi_backlight_type);
|
EXPORT_SYMBOL(acpi_video_set_dmi_backlight_type);
|
||||||
|
|
||||||
void __exit acpi_video_detect_exit(void)
|
|
||||||
{
|
|
||||||
if (backlight_notifier_registered)
|
|
||||||
backlight_unregister_notifier(&backlight_nb);
|
|
||||||
}
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue