OSDN Git Service

ACPI: scan: Create platform device for BCM4752 and LNV4752 ACPI nodes
authorHans de Goede <hdegoede@redhat.com>
Thu, 30 Dec 2021 11:57:47 +0000 (12:57 +0100)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 30 Dec 2021 16:34:27 +0000 (17:34 +0100)
commitf85196bdd5a50da74670250564740fc852b3c239
treec01b6fab74809039c742efea72b43a359a4442c0
parent99ece713773bfa17fdb4ee2a1fb3b7bee82e4b1a
ACPI: scan: Create platform device for BCM4752 and LNV4752 ACPI nodes

BCM4752 and LNV4752 ACPI nodes describe a Broadcom 4752 GPS module
attached to an UART of the system.

The GPS modules talk a custom protocol which only works with a closed-
source Android gpsd daemon which knows this protocol.

The ACPI nodes also describe GPIOs to turn the GPS on/off these are
handled by the net/rfkill/rfkill-gpio.c code. This handling predates the
addition of enumeration of ACPI instantiated serdevs to the kernel and
was broken by that addition, because the ACPI scan code now no longer
instantiates platform_device-s for these nodes.

Rename the i2c_multi_instantiate_ids HID list to ignore_serial_bus_ids
and add the BCM4752 and LNV4752 HIDs, so that rfkill-gpio gets
a platform_device to bind to again; and so that a tty cdev for gpsd
gets created for these.

Fixes: e361d1f85855 ("ACPI / scan: Fix enumeration for special UART devices")
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/scan.c