--- /dev/null
+kernel/2.6/net/can/Kconfig
+kernel/2.6/net/can/Makefile.kernel Makefile
+kernel/2.6/net/can/af_can.c
+kernel/2.6/net/can/af_can.h
+kernel/2.6/net/can/proc.c
+kernel/2.6/net/can/raw.c
+kernel/2.6/net/can/bcm.c
+kernel/2.6/include/linux/can.h
+kernel/2.6/include/linux/can/core.h
+kernel/2.6/include/linux/can/version.h
+kernel/2.6/include/linux/can/error.h
+kernel/2.6/include/linux/can/raw.h
+kernel/2.6/include/linux/can/bcm.h
+#kernel/2.6/include/linux/can/ioctl.h
+#kernel/2.6/include/linux/can/dev.h
+kernel/2.6/drivers/net/can/Kconfig.kernel Kconfig
+kernel/2.6/drivers/net/can/Makefile.kernel Makefile
+kernel/2.6/drivers/net/can/vcan.c
+#kernel/2.6/drivers/net/can/slcan.c
+#kernel/2.6/drivers/net/can/mscan/Makefile
+#kernel/2.6/drivers/net/can/mscan/mpc52xx_can.c
+#kernel/2.6/drivers/net/can/mscan/mscan.c
+#kernel/2.6/drivers/net/can/mscan/mscan.h
+#kernel/2.6/drivers/net/can/sja1000/Makefile
+#kernel/2.6/drivers/net/can/sja1000/isa.c
+#kernel/2.6/drivers/net/can/sja1000/mem.c
+#kernel/2.6/drivers/net/can/sja1000/proc.c
+#kernel/2.6/drivers/net/can/sja1000/sja1000.c
+#kernel/2.6/drivers/net/can/sja1000/sja1000.h
+#kernel/2.6/drivers/net/can/sja1000/trajet-gw2.c
--- /dev/null
+#
+# $Id$
+#
+
+VERSION = $(shell awk '/^VERSION/ {print $$3}' $(KERNELDIR)/Makefile)
+PATCHLEVEL = $(shell awk '/^PATCHLEVEL/ {print $$3}' $(KERNELDIR)/Makefile)
+SUBLEVEL = $(shell awk '/^SUBLEVEL/ {print $$3}' $(KERNELDIR)/Makefile)
+EXTRAVERSION = $(shell awk '/^EXTRAVERSION/{print $$3}' $(KERNELDIR)/Makefile)
+KERNELRELEASE = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
+
+patch26:
+ ./mkpatch $(KERNELRELEASE) >patch-$(KERNELRELEASE)-socketcan < FILES-2.6
--- /dev/null
+#!/usr/bin/perl
+#
+# $Id$
+#
+# Generate a kernel patch to add socketcan to a kernel src tree.
+# The list of files to be added is read from stdin.
+
+$version = shift;
+
+if (-r "patches/$version.diff") {
+ copy_file("patches/$version.diff");
+}
+
+while (<>) {
+ next if (/^#/);
+ my ($file, $n) = split;
+ my ($name);
+ if ($n eq "") {
+ $name = $file;
+ } else {
+ $name = $file;
+ $name =~ s/[^\/]*$/$n/;
+ }
+ $name =~ s/[^\/]*\/[^\/]*\///;
+
+ add_file($file, $name);
+}
+
+close FILES;
+
+sub copy_file {
+ my ($file) = @_;
+
+ open file, "$file" || die "open $file\n";
+ while (<file>) {
+ print;
+ }
+ close file;
+}
+
+sub add_file {
+ my ($file, $name) = @_;
+ my (@lines, $count, $ts, $mtime);
+
+ open file, "./kv $version $file |" || die "open $file\n";
+ @lines = <file>;
+ $count = $#lines + 1;
+ use POSIX qw(strftime);
+ $mtime = (stat($file))[9];
+ $ts = strftime "%F %T", gmtime((stat($file))[9]);
+
+ print "--- a/$name 1970-01-01 00:00:00\n";
+ print "+++ b/$name $ts\n";
+ print "@@ -0,0 +1,$count @@\n";
+ for (@lines) {
+ print "+$_";
+ }
+ close file;
+}