On Tue, Feb 20, 2018 at 2:04 PM, Marcel Holtmann <[email protected]> wrote:
> Hi Carlo,
Hi Marcel,
>> 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.
Yeah, I know (that's also why I preferred to send this as RFC).
At least this patch could be useful to have things working until we
have something better in place, but I definitely agree that's a bad
hack.
Cheers,
--
Carlo Caione | +44.7384.69.16.04 | Endless