Merge commit 'origin/opendreambox-1.6' into vuplus-1.6
[vuplus_openembedded] / recipes / linux / gumstix-kernel_2.6.21.bb
1 require linux.inc
2
3 S = "${WORKDIR}/linux-${PV}"
4
5 SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \
6        file://defconfig \
7        file://tsc2003.c \
8        file://tsc2003-config.diff;patch=1 \
9        file://pxa-regs-additions.patch;patch=1 \
10        file://header.patch;patch=1 \
11        file://arch-config.patch;patch=1 \
12        file://board-init.patch;patch=1 \
13        file://compact-flash.patch;patch=1 \
14        file://flash.patch;patch=1 \
15        file://pxa2xx_udc.patch;patch=1 \
16        file://bkpxa-pxa-cpu.patch;patch=1 \
17        file://bkpxa-pxa-cpufreq.patch;patch=1 \
18        file://proc-gpio.patch;patch=1 \
19        file://serial-ether-addr.patch;patch=1 \
20        file://cpufreq-better-freqs.patch;patch=1 \
21        file://ethernet-config.patch;patch=1 \
22        file://smc-ether-addr.patch;patch=1 \
23        file://cpufreq-ondemand-by-default.patch;patch=1 \
24        file://modular-init-bluetooth.patch;patch=1 \
25        file://modular-init-smc91x.patch;patch=1 \
26        file://modular-init-usb-gadget.patch;patch=1 \
27        file://bugfix-i2c-include.patch;patch=1 \
28        file://bugfix-mmc-clock.patch;patch=1 \
29        file://bugfix-pxa-cpufreq.patch;patch=1 \
30        file://bugfix-serial-interrupt.patch;patch=1 \
31        file://bugfix-serial-register-status.patch;patch=1 \
32        file://mach-types-fix.patch;patch=1 \
33        file://pcm-gcc-411-bugfix.patch;patch=1 \
34        file://ucb1400-ac97-audio.patch;patch=1 \
35        file://gumstix-asoc.patch;patch=1 \
36        file://disable-uncompress-message.patch;patch=1 \
37        file://serial-divisor.patch;patch=1 \
38        file://mmc-card-detect.patch;patch=1 \
39        file://misalignment-handling.patch;patch=1 \
40        file://compile-fix-pxa_cpufreq.patch;patch=1 \
41        file://pxafb-definition.patch;patch=1 \
42        file://270-usb-gadget-udc.patch;patch=1 \
43        file://gumstix-pxa270-usb-host.patch;patch=1 \
44        file://cpufreq-fixup.patch;patch=1 \
45        file://uImage-in-own-partition.patch;patch=1 \
46        file://pxa-regs-fixup.patch;patch=1 \
47        file://gumstix-fb-logo.patch;patch=1 \
48        file://gumstix-pxa270-mmc.patch;patch=1 \
49        file://pxafb-18bpp-mode.patch;patch=1 \
50        file://smc911x-fixup.patch;patch=1 \
51        file://smc91x-fail-if-no-chip.patch;patch=1 \
52        file://one-wire.patch;patch=1 \
53        ${@base_contains('MACHINE_FEATURES', 'rgb16','file://pxafb-backto16.patch;patch=1', '',d)} \
54        "
55
56 do_configure_prepend() {
57
58        cp ${WORKDIR}/tsc2003.c ${S}/drivers/i2c/chips/
59
60        # turn off frame buffer support in kernel if lcd MACHINE_FEATURES not defined    
61        ${@base_contains('MACHINE_FEATURES', 'lcd','','sed -i "s/CONFIG_FB=y/# CONFIG_FB is not set/" ${WORKDIR}/defconfig',d)}
62        ${@base_contains('MACHINE_FEATURES', 'lcd','','sed -i "s/CONFIG_FB_PXA=y/# CONFIG_FB_PXA is not set/" ${WORKDIR}/defconfig',d)}
63        ${@base_contains('MACHINE_FEATURES', 'lcd','','sed -i "s/CONFIG_FRAMEBUFFER_CONSOLE=y/# CONFIG_FRAMEBUFFER_CONSOLE is not set/" ${WORKDIR}/defconfig',d)}
64        ${@base_contains('MACHINE_FEATURES', 'lcd','','sed -i "s/CONFIG_LOGO=y/# CONFIG_LOGO is not set/" ${WORKDIR}/defconfig',d)}
65
66        # if mmcroot MACHINE_FEATURES requested disable jffs2 and enable mmc and ext2 support in kernel
67        ${@base_contains('MACHINE_FEATURES', 'mmcroot','sed -i "s/CONFIG_JFFS2_FS=y/CONFIG_JFFS2_FS=m/" ${WORKDIR}/defconfig','',d)}
68        ${@base_contains('MACHINE_FEATURES', 'mmcroot','sed -i "s/CONFIG_EXT2_FS=m/CONFIG_EXT2_FS=y/" ${WORKDIR}/defconfig','',d)}
69        ${@base_contains('MACHINE_FEATURES', 'mmcroot','sed -i "s/CONFIG_MMC=m/CONFIG_MMC=y/" ${WORKDIR}/defconfig','',d)}
70        ${@base_contains('MACHINE_FEATURES', 'mmcroot','sed -i "s/CONFIG_MMC_PXA=m/CONFIG_MMC_PXA=y/" ${WORKDIR}/defconfig','',d)} 
71        ${@base_contains('MACHINE_FEATURES', 'mmcroot','sed -i "s/CONFIG_MMC_BLOCK=m/CONFIG_MMC_BLOCK=y/" ${WORKDIR}/defconfig','',d)} 
72
73        # if cfroot MACHINE_FEATURES requested disable jffs2 and enable pcmcia and ext2 support in kernel
74        ${@base_contains('MACHINE_FEATURES', 'cfroot','sed -i "s/CONFIG_JFFS2_FS=y/CONFIG_JFFS2_FS=m/" ${WORKDIR}/defconfig','',d)}
75        ${@base_contains('MACHINE_FEATURES', 'cfroot','sed -i "s/CONFIG_EXT2_FS=m/CONFIG_EXT2_FS=y/" ${WORKDIR}/defconfig','',d)}
76        ${@base_contains('MACHINE_FEATURES', 'cfroot','sed -i "s/CONFIG_PCCARD=m/CONFIG_PCCARD=y/" ${WORKDIR}/defconfig','',d)}
77        ${@base_contains('MACHINE_FEATURES', 'cfroot','sed -i "s/CONFIG_PCMCIA=m/CONFIG_PCMCIA=y/" ${WORKDIR}/defconfig','',d)}
78        ${@base_contains('MACHINE_FEATURES', 'cfroot','sed -i "s/CONFIG_PCMCIA_PXA2XX=m/CONFIG_PCMCIA_PXA2XX=y/" ${WORKDIR}/defconfig','',d)}
79        ${@base_contains('MACHINE_FEATURES', 'cfroot','sed -i "s/CONFIG_IDE=m/CONFIG_IDE=y/" ${WORKDIR}/defconfig','',d)}
80        ${@base_contains('MACHINE_FEATURES', 'cfroot','sed -i "s/CONFIG_BLK_DEV_IDE=m/CONFIG_BLK_DEV_IDE=y/" ${WORKDIR}/defconfig','',d)}
81        ${@base_contains('MACHINE_FEATURES', 'cfroot','sed -i "s/CONFIG_BLK_DEV_IDEDISK=m/CONFIG_BLK_DEV_IDEDISK=y/" ${WORKDIR}/defconfig','',d)}
82        ${@base_contains('MACHINE_FEATURES', 'cfroot','sed -i "s/CONFIG_BLK_DEV_IDECS=m/CONFIG_BLK_DEV_IDECS=y/" ${WORKDIR}/defconfig','',d)}
83
84 }