This is a list of modules, the modules they depend on, and the module parameters they define. First, some things about managing all these modules. Managing Modules ================ The hardcore way is to insmod each of them by hand. This is not very practical, though. It is better to install them in a subdirectory that modprobe examines. /lib/modules/current/extra/misc comes to mind. You need to add this path to your /etc/modules.conf (or /etc/conf.modules, which file is used depends on your distribution): (modules-2.0.0): path[misc]=/lib/modules/current/extra/misc (modutils-2.1.x): path=/lib/modules/current/extra Do always a 'depmod -a' after changing either your configuration file or changing a module in one of the module directories; you also need to do a 'killall -HUP kerneld' if you still use kerneld (kernel 2.2.x usually uses kmod. Now you can do 'modprobe lm78', and all dependent modules are loaded automatically. You could, of course, add this statement (and related statements for other drivers) somewhere in your rc files. But, most distributions are set up to load automatically all files in the 'boot' directories on system start, so why not use this? The best way to do this is to create directory /lib/modules/boot, and to put *links* to the real modules in there. Why links? Well, by linking to /lib/modules/current/whatever, this will function for any kernel (provided /lib/modules/current is correctly set up to point to the current kernel). So: mkdir -p /lib/modules/boot ln -s ../current/extra/misc/lm78.o /lib/modules/boot/lm78.o # etc. It is also possible to specify default options, that you would normally enter at the insmod command, in the configuration file. The syntax is as follows: options i2c-core debug=2 Finally, it is possible to auto-load the i2c-dev module if a /dev/i2c-* file is accessed. You need the following line in the configuration file: alias char-major-89 i2c-dev With the above, the managing of all those modules is suddenly no problem at all! Available Modules ================= This does not list the chip and bus drivers; please examine the directories doc/chips and doc/busses for more information about them. (i2c) i2c-core: The core i2c module (surprise!). Almost everything else depends on this one. Module parameters: i2c_debug (i) Set debug level (src) i2c-proc: i2c-core Creates /proc/bus/i2c* files. (src) i2c-dev: smbus i2c-core Grants access to /dev/i2c-* files (src) smbus: i2c-core SMBus emulation on i2c busses. Base algorithm, on which SMBus-only adapters rely. (src/busses) i2c-isa: i2c-core Defines the ISA bus as being a I2C adapter. It isn't, of course; but this is often used by sensor client modules, to keep the code small and simple. (src) sensors: i2c-core General purpose routines for sensor client modules (i2c) algo-bit: i2c-core The 'bit' algorithm, used by many i2c adapters Module parameters: bit_test (i) Test the lines of the bus to see if it is stuck bit_scan (i) Scan for active chips on the bus i2c_debug (i) debug level - 0 off; 1 normal; 2,3 more verbose; 9 bit-protocol (i2c) bit-lp: algo-bit i2c-core I2C bus through the parallel port, Philips interface Do not insert this module unless you are sure you have this interface; it will block your parallel port, and cause fake devices to appear. Module parameters: base (i) Base address of parallel port (i2c) bit-velle: algo-bit i2c-core I2C bus through the parallel port, Vellemann K9000 interface Do not insert this module unless you are sure you have this interface; it will block your parallel port, and cause fake devices to appear. Module parameters: base (i) Base address of parallel port (i2c) i2c-dev: i2c-core /dev interface for I2C adapters. This is superseded by a module which will also implement SMBus access. Please do not use this anymore. Several other modules are not yet ported by Simon Vogl. They are mostly in i2c/old-code. Usually, if you load the modules through modprobe, you need the following commands: modprobe i2c-proc modprobe i2c-dev # Often not needed; see above modprobe i2c-isa # Unless you are certain no sensor chips live on the ISA bus modprobe i2c-piix4 # One such line for each adapter you own modprobe lm78 # One such line for each device you own