6 # New files of CAN device interface and drivers
8 PATCH_DEVICE_NAME=socketcan-device.diff
10 include/linux/can/dev.h \
11 drivers/net/can/dev.c"
13 PATCH_SYSFS_NAME=socketcan-sysfs.diff
15 drivers/net/can/sysfs.c \
16 drivers/net/can/sysfs.h"
18 PATCH_DRIVER_SJA1000_NAME=socketcan-driver-sja1000.diff
19 PATCH_DRIVER_SJA1000_FILES="\
20 drivers/net/can/sja1000/sja1000.c \
21 drivers/net/can/sja1000/sja1000.h "
23 PATCH_DRIVER_SJA1000_EMS_PCI_NAME=socketcan-driver-sja1000-ems-pci.diff
24 PATCH_DRIVER_SJA1000_EMS_PCI_FILES="\
25 drivers/net/can/sja1000/ems_pci.c"
27 PATCH_DRIVER_SJA1000_IXXAT_PCI_NAME=socketcan-driver-sja1000-ixxat-pci.diff
28 PATCH_DRIVER_SJA1000_IXXAT_PCI_FILES="\
29 drivers/net/can/sja1000/ixxat_pci.c"
31 PATCH_DRIVER_SJA1000_KVASER_PCI_NAME=socketcan-driver-sja1000-kvaser-pci.diff
32 PATCH_DRIVER_SJA1000_KVASER_PCI_FILES="\
33 drivers/net/can/sja1000/kvaser_pci.c"
35 PATCH_DRIVER_SJA1000_PIPCAN_NAME=socketcan-driver-sja1000-pipcan.diff
36 PATCH_DRIVER_SJA1000_PIPCAN_FILES="\
37 drivers/net/can/sja1000/pipcan.c"
39 PATCH_DRIVER_SJA1000_PCM027_NAME=socketcan-driver-sja1000-pcm027.diff
40 PATCH_DRIVER_SJA1000_PCM027_FILES="\
41 drivers/net/can/sja1000/pcm027.c"
43 PATCH_DRIVER_SJA1000_PEAK_PCI_NAME=socketcan-driver-sja1000-peak-pci.diff
44 PATCH_DRIVER_SJA1000_PEAK_PCI_FILES="\
45 drivers/net/can/sja1000/peak_pci.c"
47 PATCH_DRIVER_MSCAN_NAME=socketcan-driver-mscan.diff
48 PATCH_DRIVER_MSCAN_FILES="\
49 drivers/net/can/mscan/mscan.c \
50 drivers/net/can/mscan/mscan.h \
51 drivers/net/can/mscan/mpc52xx_can.c"
54 # Old files of CAN core and VCAN driver
56 PATCH_CORE_NAME=socketcan-core.diff
59 include/linux/can/raw.h \
60 include/linux/can/bcm.h \
61 include/linux/can/core.h \
62 include/linux/can/error.h \
69 PATCH_DRIVER_VCAN_NAME=socketcan-driver-vcan.diff
70 PATCH_DRIVER_VCAN_FILES="\
71 drivers/net/can/vcan.c"
74 echo "usage: $0 <path-to-kernel-dir> <patch-to-output-dir>" >&2
82 SRC_DIR=$HERE/kernel/2.6
83 SCR_DIR=$HERE/`dirname $0`
84 PATCH_DIR=$SCR_DIR/patches
85 HDR_DIR=$SCR_DIR/headers
87 [ ! -e $1/MAINTAINERS ] && usage
93 DEST_DIR=${HERE}/socketcan-patches
97 if [ -e $DEST_DIR ]; then
98 echo "error: $DEST_DIR does already exist, exiting" >&2
102 # determine kernel version
103 KERNEL_MAJOR=$(grep "^VERSION =" ${KERNEL_DIR}/Makefile | sed -e "s/[ \t]//g" | sed -e "s/VERSION=//g")
104 KERNEL_MINOR=$(grep "^PATCHLEVEL =" ${KERNEL_DIR}/Makefile | sed -e "s/[ \t]//g" | sed -e "s/PATCHLEVEL=//g")
105 KERNEL_MICRO=$(grep "^SUBLEVEL =" ${KERNEL_DIR}/Makefile | sed -e "s/[ \t]//g" | sed -e "s/SUBLEVEL=//g")
106 KERNEL_EXTRA=$(grep "^EXTRAVERSION =" ${KERNEL_DIR}/Makefile | sed -e "s/[ \t]//g" | sed -e "s/EXTRAVERSION=//g")
109 export QUILT_PATCHES=$DEST_DIR
111 echo "Creating patches against kernel in $KERNEL_DIR"
120 DRIVER_SJA1000_EMS_PCI \
121 DRIVER_SJA1000_IXXAT_PCI \
122 DRIVER_SJA1000_KVASER_PCI \
123 DRIVER_SJA1000_PIPCAN \
124 DRIVER_SJA1000_PCM027 \
125 DRIVER_SJA1000_PEAK_PCI \
130 name=PATCH_${patch}_NAME
131 files=PATCH_${patch}_FILES
132 append=PATCH_${patch}_APPEND
136 [ -z "${!name}" ] && continue
138 patch_name=$(printf "%02i" $num)-${!name}
139 echo "${patch_name}..."
142 quilt new ${patch_name} > /dev/null
144 for file in ${!files}; do
145 quilt add ${file} > /dev/null
146 mkdir -p $(dirname ${KERNEL_DIR}/${file})
148 -v ${KERNEL_MAJOR}.${KERNEL_MINOR}.${KERNEL_MICRO} \
150 ${SRC_DIR}/${file} > ${KERNEL_DIR}/${file}
153 file=$PATCH_DIR/$patch.diff
154 if [ -r $file ]; then
156 patch -p1 --dry-run < $file > /dev/null && ok=y
158 quilt add `grep "Index: " $file | cut -d"/" -f 2-` > /dev/null
161 echo "Couldn't apply patch $file, please fix!"
165 quilt refresh --diffstat > /dev/null
167 file=$HDR_DIR/$patch.txt
168 if [ -r $file ]; then
169 quilt header --strip-trailing-whitespace -r < $file > /dev/null
173 quilt pop -a > /dev/null
176 # Check patches and add patch description
178 file=$DEST_DIR/checkpatch.log
179 echo "Checking patches, please inspect $file"
180 echo "Linux coding style issues reported by checkpatch.pl" > $file
181 for patch in $DEST_DIR/*.diff; do
183 echo "***************************************************" >> $file
184 echo "$patch" >> $file
186 ${KERNEL_DIR}/scripts/checkpatch.pl ${patch} >> $file