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

Reply via email to