Provided are a method, system, and program for interfacing with device
hardware supporting a plurality of devices. A device interface driver is
initialized to represent the device hardware as a virtual bus to an
operating system and to represent to the operating system each device
supported in the device hardware as a device attached to the virtual bus.
The device hardware is initialized and accessed to determine devices
supported by the device hardware. One device object is generated for each
determined device supported by the device hardware, wherein each
generated device object represents the determined device to the operating
system. The determined devices are reported to the operating system,
wherein the operating system loads a device driver for each of the
reported devices supported by the device hardware.