On my system the i2c busses are devices /dev/i2c-0 and so on. These are called adaptors, and are assigned dynamically as described in the kernel Documentation file i2c/dev-interface:
You should inspect /sys/class/i2c-dev/ or run "i2cdetect -l" to decide this. Adapter numbers are assigned somewhat dynamically, so you can not assume much about them. They can even change from one boot to the next.
sudo i2cdetect -l will list which bus does what, or you can look in /sys/class/i2c-dev/:
$ sudo i2cdetect -l|sort i2c-0 i2c i915 gmbus ssc I2C adapter i2c-1 i2c i915 gmbus vga I2C adapter i2c-2 i2c i915 gmbus panel I2C adapter ... $ head /sys/class/i2c-dev/i2c-*/name ==> /sys/class/i2c-dev/i2c-0/name <== i915 gmbus ssc ==> /sys/class/i2c-dev/i2c-1/name <== i915 gmbus vga ...
Note: Though often i2c bus numbers are assigned dynamically, on some platforms Linux will use information from a devicetree to assign specific numbers to an i2c adaptor. Presumably, some motherboards can similarly have platform drivers that request a particular bus number, to better represent the hardware layout. The kernel call is i2c_add_numbered_adapter().
udevto make a symlink, if it doesn't already does.udevmakesby-path,by-idetc. symlinks for input devices, partitions etc., and copy the style. For example,/dev/i2c/by-id/my-external-bus, or whatever. And just because so far the numbers have not changed, doesn't mean they won't change in the future ... maybe after the next kernel update, when you don't expect it (and have fun bughunting if it does).