Hi Carlo,
> With commit e361d1f85855 ("ACPI / scan: Fix enumeration for special UART
> devices") UART devices are now expected to be enumerated by
> SerDev subsystem. This is breaking the enumeration of platform devices
> connected to the UART without a proper SerDev support, like in the
> rfkill-gpio case.
>
> Fix this moving the driver from a platform driver to a serdev device
> driver.
I do not like keeping this a RFKILL switch for the two GPS devices and that is
really all what is left for this driver.
static const struct acpi_device_id rfkill_acpi_match[] = {
{ "BCM4752", RFKILL_TYPE_GPS },
{ "LNV4752", RFKILL_TYPE_GPS },
{ },
};
Frankly what this needs is a serdev GPS driver. Even if it also exposes the
data path via character device or a new TTY. Trying to hook this into RFKILL
for powering on the GPS chip is not what we should do anymore. What you really
want is that if the GPS daemon or application open the node for the GPS device
that it gets powered on and when closed powered back down. Fiddling with RFKILL
to do that is not what a RFKILL switch is for. If you want to have an
additional RFKILL switch for killing power, then this has to be done the same
as WiFi and Bluetooth do it.
So this patch is just a bad hack and we better have a proper serdev GPS driver.
Regards
Marcel