driver-core: use klist for class device list and implement iterator