how can create new Linux buses?

A bus is a channel between the processor and one or more devices.

For the purposes of the device model, all devices are connected via a bus, even if it is an internal, virtual, “platform” bus. Buses can plug into each other—a USB controller is usually a PCI device, for example.

The device model represents the actual connections between buses and the devices they control.

 

For example, /proc/bus/pci/devices

 

lspci | cut -d: -f1-2

 

 cat /proc/bus/pci/devices | cut -d\        -f1,3

The two lists of devices are sorted in the same order, since lspci uses the /procfiles as its source of information. Taking the VGA video controller as an example, 0x128 means 01:05.0 when split into bus (eight bits), device (five bits) and function (three bits). The second field in the two listings shown shows the class of device and the interrupt number, respectively.

source:xml.com/ldd/chapter/book/ch15.html