On Fri, Feb 16, 2024 at 09:17:19PM +0100, Hans de Goede wrote: > In some cases UART attached devices which require an in kernel driver, > e.g. UART attached Bluetooth HCIs are described in the ACPI tables > by an ACPI device with a broken or missing UartSerialBusV2() resource. > > This causes the kernel to create a /dev/ttyS# char-device for the UART > instead of creating an in kernel serdev-controller + serdev-device pair > for the in kernel driver. > > The quirk handling in acpi_quirk_skip_serdev_enumeration() makes the kernel > create a serdev-controller device for these UARTs instead of a /dev/ttyS#. > > Instantiating the actual serdev-device to bind to is up to pdx86 code, > so far this was handled by the x86-android-tablets code. But since > commit b286f4e87e32 ("serial: core: Move tty and serdev to be children of > serial core port device") the serdev-controller device has moved in the > device hierarchy from (e.g.) /sys/devices/pci0000:00/8086228A:00/serial0 to > /sys/devices/pci0000:00/8086228A:00/8086228A:00:0/8086228A:00:0.0/serial0 . > > This makes this a bit trickier to do and another driver is in the works > which will also need this functionality. > > Add a new helper to get the serdev-controller device, so that the new > code for this can be shared. The above doesn't explain why the new code is h-file. ... > +#include <linux/acpi.h> + err.h > +#include <linux/device.h> > +#include <linux/printk.h> + sprintf.h + string.h -- With Best Regards, Andy Shevchenko