Changeset 5091
- Timestamp:
- 01/05/08 10:44:29 (11 months ago)
- Files:
-
- i2c-tools/trunk/stub/i2c-stub-from-dump (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
i2c-tools/trunk/stub/i2c-stub-from-dump
r5002 r5091 24 24 use strict; 25 25 use vars qw($bus_nr $addr $count); 26 27 # Kernel version detection code by Mark M. Hoffman, 28 # copied from sensors-detect. 29 use vars qw(@kernel_version); 30 31 sub initialize_kernel_version 32 { 33 `uname -r` =~ /(\d+)\.(\d+)\.(\d+)(.*)/; 34 @kernel_version = ($1, $2, $3, $4); 35 } 36 37 sub kernel_version_at_least 38 { 39 my ($vers, $plvl, $slvl) = @_; 40 return 1 if ($kernel_version[0] > $vers || 41 ($kernel_version[0] == $vers && 42 ($kernel_version[1] > $plvl || 43 ($kernel_version[1] == $plvl && 44 ($kernel_version[2] >= $slvl))))); 45 return 0; 46 } 26 47 27 48 # Find out the i2c bus number of i2c-stub … … 63 84 } 64 85 86 initialize_kernel_version(); 87 65 88 # Load the required kernel drivers if needed 66 89 system("/sbin/modprobe", "i2c-dev") == 0 || exit 1; 67 system("/sbin/modprobe", "i2c-stub", "chip_addr=$addr") == 0 || exit 1; 90 if (kernel_version_at_least(2, 6, 19)) { 91 system("/sbin/modprobe", "i2c-stub", "chip_addr=$addr") == 0 || exit 1; 92 } else { 93 system("/sbin/modprobe", "i2c-stub") == 0 || exit 1; 94 } 68 95 sleep(1); # udev may take some time to create the device node 69 96
