devclass_find_internal traverses and modifies the devclass list, so we
need to hold the lock for that operation. Most callers of
devclass_create() won't be holding topo_lock, but arguably should since
that could be a write operation. devclass_find() is called in lots of
places for many different purposes, and it's a 'read only' operation so
the logical case for forcing one hold the topo_lock for the
implementation detail that the devclass is stored in a list is less
clear. Since we never delete a devclass, we don't need a reference
class. And it lokely could be protected by its own lock in the future
(for now it's the topo lock to avoid LoR until that work is done).
Sponsored by: Netflix