On Tue, Jun 21, 2022 at 1:05 AM Marcin Wojtas <mw@xxxxxxxxxxxx> wrote: > > pon., 20 cze 2022 o 19:53 Andy Shevchenko > <andriy.shevchenko@xxxxxxxxxxxxxxx> napisał(a): > > > > On Mon, Jun 20, 2022 at 05:02:21PM +0200, Marcin Wojtas wrote: > > > The MDIO bus is responsible for probing and registering its respective > > > children, such as PHYs or other kind of devices. > > > > > > It is required that ACPI scan code should not enumerate such > > > devices, leaving this task for the generic MDIO bus routines, > > > which are initiated by the controller driver. > > > > > > This patch prevents unwanted enumeration of the devices by setting > > > 'enumeration_by_parent' flag, depending on whether their parent > > > device is a member of a known list of MDIO controllers. For now, > > > the Marvell MDIO controllers' IDs are added. > > > > This flag is used for serial buses that are not self-discoverable. Not sure > > about MDIO, but the current usage has a relation to the _CRS. Have you > > considered to propose the MdioSerialBus() resource type to ACPI specification? > > > > Indeed, one of the cases checked in the > acpi_device_enumeration_by_parent() is checking _CRS (of the bus child > device) for being of the serial bus type. Currently I see > I2C/SPI/UARTSerialBus resource descriptors in the specification. Since > MDIO doesn't seem to require any special description macros like the > mentioned ones (for instance see I2CSerialBusV2 [1]), Based on > example: dfda4492322ed ("ACPI / scan: Do not enumerate Indirect IO > host children"), I thought of similar one perhaps being applicable. > > Maybe there is some different, more proper solution, I'd be happy to > hear from the ACPI Maintainers. > > [1] https://uefi.org/specs/ACPI/6.4/19_ASL_Reference/ACPI_Source_Language_Reference.html?highlight=i2cserialbus#i2cserialbusterm Well, the approach based on lists of device IDs is not scalable and generally used as the last resort one. It would be a lot better to have a way of representing connections to the MDIO bus as resources in _CRS.