HomeFreeBSD

Fix imx6 hdmi init after r323553.

Description

Fix imx6 hdmi init after r323553.

This is a direct commit to 11-stable because major architectural changes in
12 prevent a direct MFC of the affected code. Conceptually, this is...

MFC r324416:

Fix imx6 hdmi init after r323553, which used a config_intrhook to defer the
attachment of i2c devices needed by hdmi.

The hdmi init also uses an intrhook callback to defer initialization, and if
the hdmi callback runs first, the i2c devices will not yet have registered
their device_t in association with their FDT phandle, which allows cross-
device references on FDT systems.

Now the hdmi deferred init checks for the i2c device registration, and if
it's not complete yet, it registers as an eventhandler watching for newbus
attach events. When the i2c device eventually attaches, the hdmi driver
unregisters from watching further events, and continues with the hdmi init.
Because the function signatures for an intrhook callback and an event
handler callback are the same, a single function is used for both callbacks.

Reported by: Russell Haley <russ.haley@gmail.com>

Details

Provenance
ianAuthored on
Parents
rS327632: Branch vendor/lldb/dist to vendor/lldb/dist-release_60, to allow for
Branches
Unknown
Tags
Unknown