All chip drivers have a few insmod module parameters in common. These parameters can be used when a module is inserted, to give some additional information about how it should function. In this case, they tell where the module should look for what chips. Usually, you don't need them, and if you do, you are often told by sensors-detect which ones you need. I2C/SMBus adapters are numbered in the order they are inserted. If you want to know what number an adapter has, please make sure module `i2c-proc' is inserted, and look at file /proc/bus/i2c. The ISA bus always has the symbolic number 9191 (`I' is the ninth letter of the alphabet, `S' the nineteenth and `A' the first). If you want 'any I2C bus', use '-1' (or 65535). Each adapter has a number of addresses on I2C/SMBus adapters and/or the ISA bus that are always scanned if no insmod parameters are given. The parameters below override those addresses that are scanned by default. All insmod parameters described below take lists of positive integers (unsigned, in the range of 0 to 65535) as their arguments. Integers are separated by comma's, and may be given as ordinary decimal numbers, as octal numbers (by starting them with a `0') or as hexadecimal numbers (by starting them with a `0x'). More information can be found by entering `man insmod'. `force', `force_*', `ignore' and `probe' parameters take pairs of numbers. Each first (odd) number is a bus number, each second (even) number is an (I2C or ISA) address. `ignore_range' and `probe_range' parameters take triples of numbers. Each first number is a bus number, each second number is the start address of a range, and each third number is the end address of a range. Ranges are always inclusive. `probe' and `probe_range' parameters tell the module to scan additional addresses for a specific bus. These are treated just as the ordinary addresses scanned. This is useful for some chips that can be anywhere; to keep loading time (and false detections) down, only the most common addresses are scanned by default. `ignore' and `ignore_range' parameters tell the module not to scan specific addresses. They overrule the default addresses and any addresses specified by `probe' and `probe_range' statements. The `force' parameter tells the module a supported chip is found at a specific address. It overrules all previously mentioned parameters. Sometimes, a chip can be in a specific internal state that makes detection impossible. If you specify it with the `force' parameter, it is first put into a recognizable state. Also, some detection routines are skipped. If the module supports several chips, it will still try to determine what chip is found on that address. If it can't determine this, the address will still not be used. There is a `force_*' parameter for each type of chip supported by a module. This is the strongest statement possible - it says that a specific type of chip is found on a specific address, and the module will skip all detection and recognition routines. This can lead to very strange results... An example: insmod lm78 force_lm79=9191,0x390 ignore=0,0x2d,1,0x20 probe_range=-1,0,0x7f # ISA address 0x390 contains a LM79 # Scan all I2C addresses (from 0 to 0x7f) for all I2C adapters # But skip address 0x2d on adapter 0, and address 0x20 on adapter 1