···208208 ;;
209209 esac
210210done
211211+# All INT* HIDs — need to know what pinctrl device (INT34C8 for JSL, INT34C5
212212+# for ICL, INT3450-INT3456 for other Intel platforms) is actually declared
213213+# on this firmware. Absence of any of these is the reason the Jasper Lake
214214+# pinctrl driver sits idle: the driver is linked and module_init ran, but
215215+# acpi_driver_match never fires without a matching device on the ACPI bus.
216216+echo "ACPI Intel HIDs (INT*):" >> $LOG
217217+for d in /sys/bus/acpi/devices/*; do
218218+ [ -d "$d" ] || continue
219219+ hid=$(cat "$d/hid" 2>/dev/null)
220220+ case "$hid" in
221221+ INT*)
222222+ drv=$(basename "$(readlink "$d/physical_node/driver" 2>/dev/null)" 2>/dev/null)
223223+ echo " $hid drv=${drv:-NONE}" >> $LOG
224224+ ;;
225225+ esac
226226+done
227227+# PNP + ACPI devices with the names coreboot uses for pinctrl on various
228228+# Intel platforms. Helps us find whether the board's DSDT simply uses a
229229+# different HID than upstream Linux expects.
230230+echo "ACPI pinctrl candidates:" >> $LOG
231231+for d in /sys/bus/acpi/devices/*; do
232232+ [ -d "$d" ] || continue
233233+ hid=$(cat "$d/hid" 2>/dev/null)
234234+ name=$(basename "$d")
235235+ case "$hid:$name" in
236236+ INT34*|*GPI*|*GPIO*|PNP0C*)
237237+ echo " $hid $name" >> $LOG
238238+ ;;
239239+ esac
240240+done
211241echo "SOF platform devices:" >> $LOG
212242ls /sys/bus/platform/devices/ 2>/dev/null | grep -iE "sof|jsl_rt5682|cs42l42|hda" >> $LOG
213243echo "Platform drivers (audio-related):" >> $LOG