Changeset 3347
- Timestamp:
- 07/24/99 15:19:29 (9 years ago)
- Files:
-
- i2c/trunk/kernel/i2c-core.c (modified) (1 diff)
- i2c/trunk/mkpatch/OLDI2C (added)
- i2c/trunk/mkpatch/mkpatch.pl (modified) (12 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
i2c/trunk/kernel/i2c-core.c
r3346 r3347 1135 1135 1136 1136 1137 int __init i2c_init(void)1137 static int __init i2c_init(void) 1138 1138 { 1139 1139 /* clear algorithms */ i2c/trunk/mkpatch/mkpatch.pl
r3345 r3347 20 20 use strict; 21 21 22 use vars qw($temp); 23 $temp = "mkpatch/.temp"; 24 22 25 # $_[0]: i2c package root (like /tmp/i2c) 23 26 # $_[1]: Linux kernel tree (like /usr/src/linux) … … 29 32 my ($diff_command,$dummy); 30 33 31 $diff_command = "diff -u2 $kernel_root/$kernel_file "; 32 $diff_command .= "$package_root/$package_file"; 33 open INPUT, "$diff_command|"; 34 $diff_command = "diff -u2"; 35 if ( -e "$kernel_root/$kernel_file") { 36 $diff_command .= " $kernel_root/$kernel_file "; 37 } else { 38 $diff_command .= " /dev/null "; 39 } 40 if ( -e "$package_root/$package_file") { 41 $diff_command .= " $package_root/$package_file "; 42 } else { 43 $diff_command .= " /dev/null"; 44 } 45 open INPUT, "$diff_command|" or die "Can't call `$diff_command'"; 34 46 $dummy = <INPUT>; 35 47 $dummy = <INPUT>; … … 43 55 } 44 56 57 # $_[0]: sensors package root (like /tmp/sensors) 58 # $_[1]: Linux kernel tree (like /usr/src/linux) 59 sub patch_old_i2c 60 { 61 my ($package_root,$kernel_root) = @_; 62 my (@files,$file); 63 print_diff $kernel_root,$kernel_root,"include/linux/i2c-old.h", 64 "include/linux/i2c.h" 65 if (not -e "$kernel_root/include/linux/i2c-old.h"); 66 67 open INPUT, "$package_root/mkpatch/OLDI2C" 68 or die "Can't open `$package_root/mkpatch/OLDI2C'"; 69 @files = <INPUT>; 70 close INPUT; 71 72 foreach $file (@files,"drivers/char/i2c-old.c") { 73 chomp $file; 74 if ($file eq "drivers/char/i2c-old.c") { 75 open INPUT, "$kernel_root/drivers/char/i2c.c" 76 or die "Can't open `$kernel_root/drivers/char/i2c.c'"; 77 } else { 78 open INPUT, "$kernel_root/$file" 79 or die "Can't open `$kernel_root/$file'"; 80 } 81 open OUTPUT, ">$package_root/$temp" 82 or die "Can't open `$package_root/$temp'"; 83 while (<INPUT>) { 84 s@(\s*#\s*include\s*)<linux/i2c.h>@\1<linux/i2c-old.h>@; 85 print OUTPUT; 86 } 87 close INPUT; 88 close OUTPUT; 89 print_diff $package_root,$kernel_root,$file,$temp; 90 } 91 } 92 45 93 # $_[0]: i2c package root (like /tmp/i2c) 46 94 # $_[1]: Linux kernel tree (like /usr/src/linux) … … 49 97 my ($package_root,$kernel_root) = @_; 50 98 my $kernel_file = "Makefile"; 51 my $package_file = "mkpatch/.temp";52 53 open INPUT,"$kernel_root/$kernel_file" 54 or die "Can't open `$kernel_root/$kernel_file'"; 55 open OUTPUT,">$package_root/ mkpatch/.temp"99 my $package_file = $temp; 100 101 open INPUT,"$kernel_root/$kernel_file" 102 or die "Can't open `$kernel_root/$kernel_file'"; 103 open OUTPUT,">$package_root/$package_file" 56 104 or die "Can't open $package_root/$package_file"; 57 105 while(<INPUT>) { … … 82 130 my ($package_root,$kernel_root) = @_; 83 131 my $kernel_file = "drivers/Makefile"; 84 my $package_file = "mkpatch/.temp";132 my $package_file = $temp; 85 133 my $i2c_present; 86 134 87 135 open INPUT,"$kernel_root/$kernel_file" 88 136 or die "Can't open `$kernel_root/$kernel_file'"; 89 open OUTPUT,">$package_root/ mkpatch/.temp"137 open OUTPUT,">$package_root/$package_file" 90 138 or die "Can't open $package_root/$package_file"; 91 139 while(<INPUT>) { … … 127 175 # $_[0]: i2c package root (like /tmp/i2c) 128 176 # $_[1]: Linux kernel tree (like /usr/src/linux) 177 sub gen_drivers_char_Makefile 178 { 179 my ($package_root,$kernel_root) = @_; 180 my $kernel_file = "drivers/char/Makefile"; 181 my $package_file = $temp; 182 open INPUT,"$kernel_root/$kernel_file" 183 or die "Can't open `$kernel_root/$kernel_file'"; 184 open OUTPUT,">$package_root/$package_file" 185 or die "Can't open $package_root/$package_file"; 186 while(<INPUT>) { 187 s@i2c\.o@i2c-old\.o@; 188 print OUTPUT; 189 } 190 close INPUT; 191 close OUTPUT; 192 print_diff $package_root,$kernel_root,$kernel_file,$package_file; 193 } 194 195 # $_[0]: i2c package root (like /tmp/i2c) 196 # $_[1]: Linux kernel tree (like /usr/src/linux) 129 197 sub gen_drivers_char_Config_in 130 198 { 131 199 my ($package_root,$kernel_root) = @_; 132 200 my $kernel_file = "drivers/char/Config.in"; 133 my $package_file = "mkpatch/.temp";201 my $package_file = $temp; 134 202 my $ready = 0; 135 203 my $done = 0; … … 137 205 open INPUT,"$kernel_root/$kernel_file" 138 206 or die "Can't open `$kernel_root/$kernel_file'"; 139 open OUTPUT,">$package_root/ mkpatch/.temp"207 open OUTPUT,">$package_root/$package_file" 140 208 or die "Can't open $package_root/$package_file"; 141 209 while(<INPUT>) { … … 166 234 my ($package_root,$kernel_root) = @_; 167 235 my $kernel_file = "drivers/char/mem.c"; 168 my $package_file = "mkpatch/.temp";236 my $package_file = $temp; 169 237 my $right_place = 0; 170 my $with_video = 0;171 238 my $done = 0; 172 239 my $atstart = 1; … … 174 241 open INPUT,"$kernel_root/$kernel_file" 175 242 or die "Can't open `$kernel_root/$kernel_file'"; 176 open OUTPUT,">$package_root/mkpatch/.temp" 177 or die "Can't open $package_root/$package_file"; 178 while(<INPUT>) { 243 open OUTPUT,">$package_root/$package_file" 244 or die "Can't open $package_root/$package_file"; 245 while(<INPUT>) { 246 if (m@#include <linux/i2c.h>@) { 247 $_=<INPUT>; 248 } 179 249 if ($atstart and m@#ifdef@) { 180 250 print OUTPUT << 'EOF'; 251 #ifdef CONFIG_VIDEO_BT848 252 extern int i2c_init(void); 253 #endif 181 254 #ifdef CONFIG_I2C 182 extern voidi2c_init_all(void);255 extern int i2c_init_all(void); 183 256 #endif 184 257 EOF 185 258 $atstart = 0; 186 259 } 187 if (not $right_place and m@CONFIG_I2C@) {260 while (not $right_place and (m@CONFIG_I2C@ or m@CONFIG_VIDEO_BT848@)) { 188 261 $_ = <INPUT> while not m@#endif@; 189 262 $_ = <INPUT>; 190 263 } 191 $with_video = 1 if m@CONFIG_VIDEO_BT848@;192 264 $right_place = 1 if (m@lp_init\(\);@); 265 if ($right_place and m@CONFIG_I2C@) { 266 $_ = <INPUT> while not m@#endif@; 267 $_ = <INPUT>; 268 } 193 269 if ($right_place and not $done and 194 (m@CONFIG_I2C@ or m@CONFIG_VIDEO_BT848@ or m@return 0;@)) { 195 if (not m@return 0;@) { 196 $_ = <INPUT> while not m@#endif@; 197 $_ = <INPUT>; 198 $_ = <INPUT> if m@^$@; 199 } 200 if ($with_video) { 201 print OUTPUT '#if defined(CONFIG_I2C) || defined(CONFIG_VIDEO_BT848)'; 202 } else { 203 print OUTPUT '#ifdef CONFIG_I2C'; 204 } 270 (m@CONFIG_VIDEO_BT848@ or m@return 0;@)) { 205 271 print OUTPUT <<'EOF'; 206 272 #ifdef CONFIG_I2C 207 273 i2c_init_all(); 208 274 #endif … … 231 297 die "Kernel root `$kernel_root' is not found\n" 232 298 unless -f "$kernel_root/Rules.make"; 299 300 patch_old_i2c $package_root, $kernel_root 301 if not -e "$kernel_root/drivers/char/i2c-old.c"; 233 302 234 303 # --> Read FILES … … 254 323 foreach $package_file (keys %files) { 255 324 $kernel_file = $files{$package_file}; 256 $diff_command = "diff -u2 "; 257 if ( -f "$kernel_root/$kernel_file") { 258 $diff_command .= "$kernel_root/$kernel_file"; 259 } else { 260 $diff_command .= "/dev/null"; 261 } 262 $diff_command .= " $package_root/$package_file"; 263 open INPUT, "$diff_command|"; 264 $dummy = <INPUT>; 265 $dummy = <INPUT>; 266 print "--- linux-old/$kernel_file\t".`date`; 267 print "+++ linux/$kernel_file\t".`date`; 268 325 open INPUT, "$package_root/$package_file" 326 or die "Can't open `$package_root/$package_file'"; 327 open OUTPUT, ">$package_root/$temp" 328 or die "Can't open `$package_root/$temp'"; 269 329 while (<INPUT>) { 270 330 eval $sedscript; 271 print ;331 print OUTPUT; 272 332 } 273 333 close INPUT; 334 close OUTPUT; 335 print_diff "$package_root","$kernel_root","$kernel_file","$temp"; 274 336 } 275 337 … … 278 340 gen_drivers_char_Config_in $package_root, $kernel_root; 279 341 gen_drivers_char_mem_c $package_root, $kernel_root; 342 gen_drivers_char_Makefile $package_root, $kernel_root; 280 343 } 281 344
