On Tue, Dec 5, 2017 at 3:25 PM, Adrian Hunter <adrian.hunter@xxxxxxxxx> wrote: > On 04/12/17 17:00, Rafael J. Wysocki wrote: >> On Monday, December 4, 2017 3:41:45 PM CET Adrian Hunter wrote: >>> On 04/12/17 16:33, Hans de Goede wrote: >>>> Hi, >>>> >>>> On 04-12-17 15:30, Adrian Hunter wrote: >>>>> On 04/12/17 15:48, Hans de Goede wrote: >>>>>> Hi, >>>>>> >>>>>> Wouldn't it be easier to use the ACPI _DEP tracking for this, e.g. >>>>> >>>>> It is using _DEP, see acpi_lpss_dep() >>>>> >>>>>> add something like this to the the probe function: >>>>>> >>>>>> struct acpi_device = ACPI_COMPANION(device); >>>>>> >>>>>> if (acpi_device->dep_unmet) >>>>>> return -EPROBE_DEFER; >>>>>> >>>>>> No idea if this will work, but if it does work, using the deps described >>>>>> in the ACPI tables seems like a better solution then hardcoding this. >>>>> >>>>> That would not work because there are other devices listed in the _DEP >>>>> method so dep_unmet is always true. So we are left checking _DEP but only >>>>> for specific device dependencies. >>>> >>>> Ugh, understood thank you for explaining this. Perhaps it is a good idea >>>> to mention in the commit message why acpi_dev->dep_unmet cannot be used >>>> here? >>> >>> dep_unmet predates device links, but now we have device links, they are >>> better anyway. >> >> Right (they cover PM too, for example), but it would be good to note why >> it is necessary to hardcode the links information in the code. > > It isn't entirely necessary to hardcode the links information. For example, > another possibility is to create device links for all LPSS devices with _DEP > methods that point to other LPSS devices i.e. match against > acpi_lpss_device_ids. The assumptions would be that all LPSS devices have > drivers so it would be safe to create links between them, and that the > nature of the dependency is correctly represented by a device link. > > An advantage of that approach would be that it might work for future > dependencies between LPSS devices without having to add entries to a table. > The disadvantage would be the possibility that creating a device link > somehow turns out not to be the right thing to do. OK To me, hardcoding is fine for the time being, but I would just add the above information as a comment to explain the choice made. Thanks, Rafael -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html