linux-2.6.24: fix kernel oops upon driver unload for hipox machine
[openembedded.git] / recipes / linux / linux_2.6.24.bb
1 require linux.inc
2
3 # Mark archs/machines that this kernel supports
4 DEFAULT_PREFERENCE = "-1"
5 DEFAULT_PREFERENCE_gesbc-9302 = "1"
6 DEFAULT_PREFERENCE_mpc8313e-rdb = "1"
7 DEFAULT_PREFERENCE_simpad = "1"
8 DEFAULT_PREFERENCE_atngw100 = "1"
9 DEFAULT_PREFERENCE_at32stk1000 = "1"
10 DEFAULT_PREFERENCE_hipox = "1"
11 DEFAULT_PREFERENCE_cs-e9302 = "1"
12 DEFAULT_PREFERENCE_smartq5 = "1"
13
14 PR = "r34"
15
16 SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.24.tar.bz2 \
17            ${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/patch-${PV}.7.bz2;patch=1 \
18            file://squashfs-lzma-2.6.24.patch;patch=1 \
19            file://ubifs-v2.6.24.patch;patch=1 \
20            file://defconfig"
21
22 # Moved away temporarely until committed properly (work in progress).
23 #           file://powerpc-clockres.patch;patch=1 \
24 #           file://leds-cpu-activity.patch;patch=1 \
25 #           file://leds-cpu-activity-powerpc.patch;patch=1 \
26
27 SRC_URI_append_simpad = "\
28            file://linux-2.6.24-SIMpad-GPIO-MMC-mod.patch;patch=1 \
29            file://linux-2.6.24-SIMpad-battery-old-way-but-also-with-sysfs.patch;patch=1 \
30            file://linux-2.6.24-SIMpad-cs3-simpad.patch;patch=1 \
31            file://linux-2.6.24-SIMpad-mq200.patch;patch=1 \
32            file://linux-2.6.24-SIMpad-pcmcia.patch;patch=1 \
33            file://linux-2.6.24-SIMpad-serial-gpio_keys-and-cs3-ro.patch.v2;patch=1 \ 
34            file://linux-2.6.24-SIMpad-ucb1x00-switches.patch;patch=1 \
35            file://linux-2.6.24-SIMpad-ucb1x00-ts-supend-and-accuracy.patch;patch=1 \
36            file://linux-2.6.24-SIMpad-hostap_cs-shared-irq.patch;patch=1 \
37            file://linux-2.6.24-SIMpad-orinoco_cs-shared-irq.patch;patch=1 \ 
38            file://linux-2.6.24-SIMpad-rtc-sa1100.patch;patch=1 \
39            file://linux-2.6.24-SIMpad-ucb1x00-audio.patch;patch=1 \
40            file://connectplus-remove-ide-HACK.patch;patch=1 \
41            file://collie-kexec.patch;patch=1 \
42            file://export_atags-r2.patch;patch=1 \
43            "       
44
45 SRC_URI_append_gesbc-9302 = " \
46         file://0001-gesbc-nand.patch;patch=1 \
47         file://0002-gesbc-eth-platform.patch;patch=1 \
48         file://0005-ep93xx-reboot.patch;patch=1 \
49         "
50
51 SRC_URI_append_mpc8313e-rdb = "\
52         file://mpc831x-nand.patch;patch=1 \
53         file://mpc8313e-rdb-leds.patch;patch=1 \
54         file://mpc8313e-rdb-rtc.patch;patch=1 \
55         file://mpc8313e-rdb-cardbus.patch;patch=1 \
56         "
57
58 CMDLINE_gesbc-9302 = "console=ttyAM0 root=mtd5 rootfstype=jffs2 mtdparts=GESBC-NAND:64m(app),-(data)"
59
60 SRC_URI_append_cm-x270 = " \
61         file://0001-cm-x270-match-type.patch;patch=1 \
62         file://0002-ramdisk_load.patch;patch=1 \
63         file://0003-mmcsd_large_cards-r0.patch;patch=1 \
64         file://0004-cm-x270-nand-simplify-name.patch;patch=1 \
65         file://0005-add-display-set-default-16bpp.patch;patch=1 \
66         "
67
68 SRC_URI_avr32 = "http://avr32linux.org/twiki/pub/Main/LinuxPatches/linux-2.6.24.3.atmel.3.tar.bz2 \
69                  file://defconfig"
70 S_avr32 = "${WORKDIR}/linux-2.6.24.3.atmel.3"
71
72 SRC_URI_append_ts72xx = "\
73         file://ep93xx-gpio-interrupt-debounce.diff;patch=1 \
74         file://ep93xx-i2c-bus.diff;patch=1 \
75         file://ep93xx-i2c.diff;patch=1 \
76         file://ep93xx-leds.diff;patch=1 \
77         file://ep93xx-serial-uartbaud.diff;patch=1 \
78         file://ep93xx-serial-clocks.diff;patch=1 \
79         file://ep93xx-timer-accuracy.diff;patch=1 \
80         file://ep93xx-maverick-uniqid.patch;patch=1 \
81         file://ep93xx-eth-phylib-framework.patch;patch=1 \
82         file://ts72xx-nfbit-fix.patch;patch=1 \
83         file://ts72xx-machine-id-fix.patch;patch=1 \
84         file://ts72xx-watchdog.patch;patch=1 \
85         file://ts72xx-use-cpld-reset.patch;patch=1 \
86         file://ts72xx-rs485.patch;patch=1"
87
88 SRC_URI_append_hipox = " \
89         file://hipox-mach-type.patch;patch=1 \
90         file://hipox.patch;patch=1 \
91         file://hipox-uart.patch;patch=1 \
92         file://hipox-pci-config-delay.patch;patch=1 \
93         file://hipox-pci-max-size.patch;patch=1 \
94         file://hipox-nand.patch;patch=1 \
95         file://hipox-ubifs.patch;patch=1 \
96         file://hipox-kconfig.patch;patch=1 \
97         file://hipox-sata-module.patch;patch=1 \
98         file://hipox-OXE-INT2.patch;patch=1 \
99         file://hipox-rtc.patch;patch=1 \
100         file://hipox-nand-vs-pci.patch;patch=1 \
101         file://hipox-nand-vs-nor.patch;patch=1 \
102         "
103
104 EXTRA_OEMAKE_smartq5 = " OBJCOPY=${OBJCOPY}"
105 SRC_URI_smartq5 = " ${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.24.tar.bz2 \
106     http://ftp.kernel.org/pub/linux/kernel/v2.6/patch-2.6.24.7.bz2;patch=1 \
107     file://smartq-gitupdate.diff;patch=1 \
108     file://base/0001-Apply-samsung-kernel-patch.patch;patch=1 \
109     file://base/0002-Apply-smartq-patch.patch;patch=1 \
110     file://mer/0001-Mer-keymappings-change.patch;patch=1 \
111     file://mer/0002-no-DM9000.patch;patch=1 \
112     file://mer/0003-Mer-WPA-fix.patch;patch=1 \
113     file://mer/0004-Mer-hardwire-USB-OTG-gadget-type.patch;patch=1 \
114     file://mer/0005-backlight-parameter-and-fixes.patch;patch=1 \
115     file://mer/0006-tv-encoder.patch;patch=1 \
116     file://mer/0007-make-tv-encoder-scaler-compile.patch;patch=1 \
117     file://mer/0008-build-TV-by-default.patch;patch=1 \
118     file://mer/0009-Apply-cpufreq-patch-from-gqwang.patch;patch=1 \
119     file://mer/0010-Better-compatibility-with-some-memory-chips.patch;patch=1 \
120     file://mer/0011-Only-reserve-memory-for-TV-if-CONFIG_VIDEO_SAMSUNG_T.patch;patch=1 \
121     file://mer/0012-Disable-TV-out-to-save-RAM.patch;patch=1 \
122     file://defconfig \
123 "
124
125
126 CMDLINE_cm-x270 = "console=${CMX270_CONSOLE_SERIAL_PORT},38400 monitor=1 mem=64M mtdparts=physmap-flash.0:256k(boot)ro,0x180000(kernel),-(root);cm-x270-nand:64m(app),-(data) rdinit=/sbin/init root=mtd3 rootfstype=jffs2"
127
128 FILES_kernel-image_gesbc-9302 = ""
129
130 python do_compulab_image() {
131         import os
132         import os.path
133         import struct
134
135         machine = bb.data.getVar('MACHINE', d, 1)
136         if machine == "cm-x270":
137             deploy_dir = bb.data.getVar('DEPLOY_DIR_IMAGE', d, 1)
138             kernel_file = os.path.join(deploy_dir, bb.data.expand('${KERNEL_IMAGE_BASE_NAME}', d) + '.bin')
139             img_file = os.path.join(deploy_dir, bb.data.expand('${KERNEL_IMAGE_BASE_NAME}', d) + '.cmx270')
140
141             fo = open(img_file, 'wb')
142
143             image_data = open(kernel_file, 'rb').read()
144
145             # first write size into first 4 bytes
146             size_s = struct.pack('i', len(image_data))
147
148             # truncate size if we are running on a 64-bit host
149             size_s = size_s[:4]
150
151             fo.write(size_s)
152             fo.write(image_data)
153             fo.close()
154
155             os.chdir(deploy_dir)
156             link_file = bb.data.expand('${KERNEL_IMAGE_SYMLINK_NAME}', d) + '.cmx270'
157             img_file = bb.data.expand('${KERNEL_IMAGE_BASE_NAME}', d) + '.cmx270'
158             try:
159                 os.unlink(link_file)
160             except:
161                 pass
162             os.symlink(img_file, link_file)
163 }
164
165
166 addtask compulab_image after do_deploy before do_build
167