Commit 21fc506c authored by Rafael J. Wysocki's avatar Rafael J. Wysocki
Browse files

Merge branches 'acpi-bus', 'acpi-video' and 'acpi-misc'

Merge ACPI bus type driver changes, ACPI backlight driver updates and a
series of cleanups related to of.h for 6.4-rc1:

 - Ensure that ACPI notify handlers are not running after removal and
   clean up code in acpi_sb_notify() (Rafael Wysocki).

 - Remove register_backlight_delay module option and code and remove
   quirks for false-positive backlight control support advertised on
   desktop boards (Hans de Goede).

 - Replace irqdomain.h include with struct declarations in ACPI headers
   and update several pieces of code previously including of.h
   implicitly through those headers (Rob Herring).

* acpi-bus:
  ACPI: bus: Ensure that notify handlers are not running after removal
  ACPI: bus: Add missing braces to acpi_sb_notify()

* acpi-video:
  ACPI: video: Remove desktops without backlight DMI quirks
  ACPI: video: Remove register_backlight_delay module option and code

* acpi-misc:
  ACPI: Replace irqdomain.h include with struct declarations
  fpga: lattice-sysconfig-spi: Add explicit include for of.h
  tpm: atmel: Add explicit include for of.h
  virtio-mmio: Add explicit include for of.h
  pata: ixp4xx: Add explicit include for of.h
  ata: pata_macio: Add explicit include of irqdomain.h
  serial: 8250_tegra: Add explicit include for of.h
  net: rfkill-gpio: Add explicit include for of.h
  staging: iio: resolver: ad2s1210: Add explicit include for of.h
  iio: adc: ad7292: Add explicit include for of.h
Loading
Loading
Loading
Loading
+0 −38
Original line number Diff line number Diff line
@@ -70,12 +70,6 @@ module_param(device_id_scheme, bool, 0444);
static int only_lcd = -1;
module_param(only_lcd, int, 0444);

static int register_backlight_delay;
module_param(register_backlight_delay, int, 0444);
MODULE_PARM_DESC(register_backlight_delay,
	"Delay in seconds before doing fallback (non GPU driver triggered) "
	"backlight registration, set to 0 to disable.");

static bool may_report_brightness_keys;
static int register_count;
static DEFINE_MUTEX(register_count_mutex);
@@ -84,9 +78,6 @@ static LIST_HEAD(video_bus_head);
static int acpi_video_bus_add(struct acpi_device *device);
static void acpi_video_bus_remove(struct acpi_device *device);
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 DECLARE_DELAYED_WORK(video_bus_register_backlight_work,
			    acpi_video_bus_register_backlight_work);

/*
 * Indices in the _BCL method response: the first two items are special,
@@ -2096,11 +2087,6 @@ static void acpi_video_bus_remove(struct acpi_device *device)
	kfree(video);
}

static void acpi_video_bus_register_backlight_work(struct work_struct *ignored)
{
	acpi_video_register_backlight();
}

static int __init is_i740(struct pci_dev *dev)
{
	if (dev->device == 0x00D1)
@@ -2183,17 +2169,6 @@ static bool should_check_lcd_flag(void)
	return false;
}

/*
 * At least one graphics driver has reported that no LCD is connected
 * via the native interface. cancel the registration for fallback acpi_video0.
 * If another driver still deems this necessary, it can explicitly register it.
 */
void acpi_video_report_nolcd(void)
{
	cancel_delayed_work(&video_bus_register_backlight_work);
}
EXPORT_SYMBOL(acpi_video_report_nolcd);

int acpi_video_register(void)
{
	int ret = 0;
@@ -2222,18 +2197,6 @@ int acpi_video_register(void)
	 */
	register_count = 1;

	/*
	 * acpi_video_bus_add() skips registering the userspace visible
	 * backlight_device. The intend is for this to be registered by the
	 * drm/kms driver calling acpi_video_register_backlight() *after* it is
	 * done setting up its own native backlight device. The delayed work
	 * ensures that acpi_video_register_backlight() always gets called
	 * eventually, in case there is no drm/kms driver or it is disabled.
	 */
	if (register_backlight_delay)
		schedule_delayed_work(&video_bus_register_backlight_work,
				      register_backlight_delay * HZ);

leave:
	mutex_unlock(&register_count_mutex);
	return ret;
@@ -2244,7 +2207,6 @@ void acpi_video_unregister(void)
{
	mutex_lock(&register_count_mutex);
	if (register_count) {
		cancel_delayed_work_sync(&video_bus_register_backlight_work);
		acpi_bus_unregister_driver(&acpi_video_bus);
		register_count = 0;
		may_report_brightness_keys = false;
+3 −1
Original line number Diff line number Diff line
@@ -589,6 +589,7 @@ static void acpi_device_remove_notify_handler(struct acpi_device *device,
		acpi_remove_notify_handler(device->handle, type,
					   acpi_notify_device);
	}
	acpi_os_wait_events_complete();
}

/* Handle events targeting \_SB device (at present only graceful shutdown) */
@@ -623,9 +624,10 @@ static void acpi_sb_notify(acpi_handle handle, u32 event, void *data)
	if (event == ACPI_SB_NOTIFY_SHUTDOWN_REQUEST) {
		if (!work_busy(&acpi_sb_work))
			schedule_work(&acpi_sb_work);
	} else
	} else {
		pr_warn("event %x is not supported by \\_SB device\n", event);
	}
}

static int __init acpi_setup_sb_notify_handler(void)
{
+0 −35
Original line number Diff line number Diff line
@@ -130,12 +130,6 @@ static int video_detect_force_native(const struct dmi_system_id *d)
	return 0;
}

static int video_detect_force_none(const struct dmi_system_id *d)
{
	acpi_backlight_dmi = acpi_backlight_none;
	return 0;
}

static const struct dmi_system_id video_detect_dmi_table[] = {
	/*
	 * Models which should use the vendor backlight interface,
@@ -768,35 +762,6 @@ static const struct dmi_system_id video_detect_dmi_table[] = {
		DMI_MATCH(DMI_PRODUCT_NAME, "Vostro 15 3535"),
		},
	},

	/*
	 * Desktops which falsely report a backlight and which our heuristics
	 * for this do not catch.
	 */
	{
	 .callback = video_detect_force_none,
	 /* Dell OptiPlex 9020M */
	 .matches = {
		DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
		DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 9020M"),
		},
	},
	{
	 .callback = video_detect_force_none,
	 /* GIGABYTE GB-BXBT-2807 */
	 .matches = {
		DMI_MATCH(DMI_SYS_VENDOR, "GIGABYTE"),
		DMI_MATCH(DMI_PRODUCT_NAME, "GB-BXBT-2807"),
		},
	},
	{
	 .callback = video_detect_force_none,
	 /* MSI MS-7721 */
	 .matches = {
		DMI_MATCH(DMI_SYS_VENDOR, "MSI"),
		DMI_MATCH(DMI_PRODUCT_NAME, "MS-7721"),
		},
	},
	{ },
};

+1 −0
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
#include <linux/module.h>
#include <linux/libata.h>
#include <linux/irq.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/regmap.h>
#include <scsi/scsi_host.h>
+1 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@
#include <linux/adb.h>
#include <linux/pmu.h>
#include <linux/scatterlist.h>
#include <linux/irqdomain.h>
#include <linux/of.h>
#include <linux/gfp.h>
#include <linux/pci.h>
Loading