Changeset 5293 for i2c-tools/trunk
- Timestamp:
- 06/28/08 11:24:12 (3 months ago)
- Files:
-
- i2c-tools/trunk/CHANGES (modified) (1 diff)
- i2c-tools/trunk/stub/i2c-stub-from-dump (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
i2c-tools/trunk/CHANGES
r5292 r5293 24 24 Report if only garbage is found in dump file 25 25 Behave properly when i2c-stub is already loaded 26 Stop on i2cset error 26 27 27 28 3.0.1 (2008-04-04) i2c-tools/trunk/stub/i2c-stub-from-dump
r5292 r5293 23 23 24 24 use strict; 25 use vars qw($bus_nr $addr $bytes $words );25 use vars qw($bus_nr $addr $bytes $words $err); 26 26 27 27 # Kernel version detection code by Mark M. Hoffman, … … 109 109 { 110 110 my $dump = shift; 111 my $err = 0; 111 112 112 113 open(DUMP, $dump) || die "Can't open $dump: $!\n"; … … 120 121 for (my $i = 0; $i < 16 && (my $val = shift(@values)); $i++) { 121 122 next if $val =~ m/X/; 122 last OUTER_LOOP if system("i2cset", "-y", 123 $bus_nr, $addr, 124 sprintf("0x\%02x", $offset+$i), 125 "0x$val", "b"); 123 if (system("i2cset", "-y", $bus_nr, $addr, 124 sprintf("0x\%02x", $offset+$i), 125 "0x$val", "b")) { 126 $err = 3; 127 last OUTER_LOOP; 128 } 126 129 $bytes++; 127 130 } … … 133 136 for (my $i = 0; $i < 8 && (my $val = shift(@values)); $i++) { 134 137 next if $val =~ m/X/; 135 last OUTER_LOOP if system("i2cset", "-y", 136 $bus_nr, $addr, 137 sprintf("0x\%02x", $offset+$i), 138 "0x$val", "w"); 138 if (system("i2cset", "-y", $bus_nr, $addr, 139 sprintf("0x\%02x", $offset+$i), 140 "0x$val", "w")) { 141 $err = 3; 142 last OUTER_LOOP; 143 } 139 144 $words++; 140 145 } … … 142 147 } 143 148 close(DUMP); 149 150 return $err; 144 151 } 145 152 … … 169 176 open(SAVEOUT, ">&STDOUT"); 170 177 open(STDOUT, ">/dev/null"); 171 process_dump($ARGV[1]);178 $err = process_dump($ARGV[1]); 172 179 close(STDOUT); 173 180 … … 182 189 } 183 190 184 if ( $bytes + $words == 0) {191 if (!$err && ($bytes + $words == 0)) { 185 192 printf SAVEOUT "Only garbage found in dump file $ARGV[1]\n"; 186 193 exit(1); 187 194 } 188 195 189 exit( 0);196 exit($err);
