OpenCloudOS-Kernel/include/acpi
Jarkko Nikula e4330d8bf6 ACPI / scan: Fix enumeration for special SPI and I2C devices
Commit f406270bf7 ("ACPI / scan: Set the visited flag for all
enumerated devices") caused that two group of special SPI or I2C
devices do not enumerate. SPI and I2C devices are expected to be
enumerated by the SPI and I2C subsystems but change caused that
acpi_bus_attach() marks those devices with acpi_device_set_enumerated().

First group of devices are matched using Device Tree compatible property
with special _HID "PRP0001". Those devices have matched scan handler,
acpi_scan_attach_handler() retuns 1 and acpi_bus_attach() marks them
with acpi_device_set_enumerated().

Second group of devices without valid _HID such as "LNXVIDEO" have
device->pnp.type.platform_id set to zero and change again marks them
with acpi_device_set_enumerated().

Fix this by flagging the SPI and I2C devices during struct acpi_device
object initialization time and let the code in acpi_bus_attach() to go
through the device_attach() and acpi_default_enumeration() path for all
SPI and I2C devices.

Fixes: f406270bf7 (ACPI / scan: Set the visited flag for all enumerated devices)
Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Cc: 4.11+ <stable@vger.kernel.org> # 4.11+
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2017-06-21 23:14:55 +02:00
..
platform ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
acbuffer.h ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
acconfig.h ACPICA: iasl: add ASL conversion tool 2017-04-28 21:56:10 +02:00
acexcep.h ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
acnames.h ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
acoutput.h ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
acpi.h ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
acpi_bus.h ACPI / scan: Fix enumeration for special SPI and I2C devices 2017-06-21 23:14:55 +02:00
acpi_drivers.h Revert "ACPI, PCI, IRQ: remove redundant code in acpi_irq_penalty_init()" 2016-07-02 01:38:34 +02:00
acpi_io.h ACPI / osl: Remove deprecated acpi_get_table_with_size()/early_acpi_os_unmap_memory() 2016-12-21 02:36:38 +01:00
acpi_lpat.h ACPI / LPAT: Common table processing functions 2015-01-29 21:02:10 +08:00
acpi_numa.h ACPI / NUMA: move bad_srat() and srat_disabled() to drivers/acpi/numa.c 2016-05-30 14:27:08 +02:00
acpiosxf.h ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
acpixf.h ACPICA: Update version to 20170303 2017-04-28 21:57:32 +02:00
acrestyp.h ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
actbl.h ACPICA: Tables: Mechanism to handle late stage acpi_get_table() imbalance 2017-06-12 14:09:29 +02:00
actbl1.h ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
actbl2.h More ACPI updates for v4.12-rc1 2017-05-10 09:35:42 -07:00
actbl3.h ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
actypes.h ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
acuuid.h ACPICA: Source tree: Update copyright notices to 2017 2017-02-09 14:47:02 +01:00
apei.h acpi, apei, ghes: Factor out ioremap virtual memory for IRQ and NMI context. 2014-07-22 15:05:06 -07:00
button.h ACPI: Eliminate CONFIG_.*{, _MODULE} #ifdef in favor of IS_ENABLED() 2015-09-15 03:05:45 +02:00
cppc_acpi.h ACPI / CPPC: add sysfs entries for CPPC perf capabilities 2017-04-18 23:37:50 +02:00
ghes.h ACPICA: Restore error table definitions to reduce code differences between Linux and ACPICA upstream. 2014-06-16 22:33:50 +02:00
hed.h ACPI Hardware Error Device (PNP0C33) support 2010-05-19 22:40:24 -04:00
pcc.h mailbox: PCC: Fix return value of pcc_mbox_request_channel() 2016-10-17 14:26:49 +02:00
pdc_intel.h ACPI: Enable bit 11 in _PDC to advertise hw coord 2009-02-07 00:41:14 -05:00
processor.h ACPI / processor: Make acpi_processor_ppc_has_changed() void 2016-11-21 14:35:42 +01:00
reboot.h Add the ability to reset the machine using the RESET_REG in ACPI's FADT table. 2008-07-16 23:27:08 +02:00
video.h ACPI / video: Move ACPI_VIDEO_NOTIFY_* defines to acpi/video.h 2016-11-16 23:07:43 +01:00