On 29/04/2024 16:30, Witold Sadowski wrote: >>> >>> +#ifdef CONFIG_ACPI >>> +static const struct acpi_device_id cdns_xspi_acpi_match[] = { >>> + { >>> + .id = "cdns,xspi-nor", >>> + .driver_data = (kernel_ulong_t) &cdns_driver_data, >>> + }, >>> + { >>> + .id = "mrvl,xspi-nor", >>> + .driver_data = (kernel_ulong_t) &mrvl_driver_data, >> >> UEFI provides compatibles for ACPI? I think that's first such format in >> the kernel. > > Yes, that code is not doing what was expected. > Current usage scenario in ACPI mode is: > xSPI block with HID PRP0001, and additional compatible package set to > correct compatible string > With that approach only issue(in ACPI mode) is with matching device > with data field from of_device_id. It looks like there are functions > to match that when DTB is used, but in ACPI mode it fails. > I believe solution is to traverse dev->driver->of_match_table manually > To match device name with correct compatible data structure. > That will be included in next patchset. PRP0001 should be handled by regular of_device_id table, of course assuming your kernel has build-in CONFIG_OF. Best regards, Krzysztof