On Fri, Aug 19, 2022 at 11:05 AM John Garry <[email protected]> wrote:
>
> On 18/08/2022 20:31, Andy Shevchenko wrote:
> >> For the hisi_lpc driver, for the UART ACPI node we have a binding like:
> >>
> >> Device (LPC0.CON0) {
> >> Name (_HID, "HISI1031")
> >> Name (_CID, "PNP0501")
> >> Name (LORS, ResourceTemplate() {
> >> QWordIO (
> >>
> >> We have the compat and hid string. The ACPI/PNP code matches the compat
> >> string first, and creates the PNP device. In doing so, the acpi_device
> >> created has physical_node_count member set in acpi_bind_one().
> >>
> >> The hisi_lpc driver also creates a platform device serial device for uart,
> >> which is the actual uart which we want to use - see
> >> hisi_lpc_acpi_add_child(). That function does not check
> >> physical_node_count value, but acpi_create_platform_device() does check it.
> >> So if we were to move hisi_lpc_acpi_add_child() across to use
> >> acpi_create_platform_device(), then the change in this patch is required to
> >> not create the PNP binding (so that physical_node_count is not set from
> >> PNP probe).
> > Hmm... The flag, as I interpret it, is equal to "the device in
> > question is a peripheral device to the non-discoverable bus, such as
> > SPI, I2C or UART". I.o.w. I do not see how PNP suits here. So, from my
> > point of view it seems like an abuse of the flag. Not sure the current
> > state of affairs in ACPI glue layer regarding this, though.
> Sorry, but I'm not following you here. Which flag are you talking about?
"enumerated by parent".
--
With Best Regards,
Andy Shevchenko