diff options
author | Marcin Juszkiewicz <hrw@openedhand.com> | 2007-11-07 17:17:51 +0000 |
---|---|---|
committer | Marcin Juszkiewicz <hrw@openedhand.com> | 2007-11-07 17:17:51 +0000 |
commit | 404bbb63872d24f40a29b9a55615bc52bd4e2a1c (patch) | |
tree | 7a2b3a87f8bc228acc4107c315a8e09eab225fc8 /meta/packages/linux | |
parent | 83dd625f05d2a962d2115e92ff3ba08a072bc0ed (diff) | |
download | openembedded-core-404bbb63872d24f40a29b9a55615bc52bd4e2a1c.tar.gz openembedded-core-404bbb63872d24f40a29b9a55615bc52bd4e2a1c.tar.bz2 openembedded-core-404bbb63872d24f40a29b9a55615bc52bd4e2a1c.zip |
linux-openmoko: added 2.6.22.5 from OE, dropped linux-gta01
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@3096 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'meta/packages/linux')
-rw-r--r-- | meta/packages/linux/linux-gta01.inc | 106 | ||||
-rw-r--r-- | meta/packages/linux/linux-gta01_2.6.21.6.bb | 10 | ||||
-rw-r--r-- | meta/packages/linux/linux-openmoko.inc | 9 | ||||
-rw-r--r-- | meta/packages/linux/linux-openmoko/defconfig-2.6.22.5 (renamed from meta/packages/linux/linux-gta01/defconfig-2.6.21.6-fic-gta01) | 369 | ||||
-rw-r--r-- | meta/packages/linux/linux-openmoko/fix-EVIOCGRAB-semantics-2.6.22.5.patch | 91 | ||||
-rw-r--r-- | meta/packages/linux/linux-openmoko/fix-EVIOCGRAB-semantics.patch (renamed from meta/packages/linux/linux-gta01/fix-EVIOCGRAB-semantics.patch) | 0 | ||||
-rw-r--r-- | meta/packages/linux/linux-openmoko/fix-gta01-flowcontrol2-2.6.22.5.patch | 193 | ||||
-rw-r--r-- | meta/packages/linux/linux-openmoko/logo_linux_clut224.ppm (renamed from meta/packages/linux/linux-gta01/logo_linux_clut224.ppm) | 0 | ||||
-rw-r--r-- | meta/packages/linux/linux-openmoko_2.6.22.5.bb | 63 |
9 files changed, 518 insertions, 323 deletions
diff --git a/meta/packages/linux/linux-gta01.inc b/meta/packages/linux/linux-gta01.inc deleted file mode 100644 index b9d4d5c435..0000000000 --- a/meta/packages/linux/linux-gta01.inc +++ /dev/null @@ -1,106 +0,0 @@ -DESCRIPTION = "2.6 Linux Development Kernel for FIC Neo1973 (GTA01)" -SECTION = "kernel" -AUTHOR = "Harald Welte <laforge@openmoko.org>" -HOMEPAGE = "N/A" -LICENSE = "GPL" -DEPENDS += "u-boot-mkimage-openmoko-native" - -inherit kernel - -FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/linux-gta01" - -############################################################## -# source and patches -# -SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${VANILLA_VERSION}.tar.bz2 \ - file://defconfig-${VANILLA_VERSION}-${MACHINE} \ - file://logo_linux_clut224.ppm" -S = "${WORKDIR}/linux-${VANILLA_VERSION}" - -############################################################## -# kernel image resides on a seperate flash partition (for now) -# -FILES_kernel-image = "" -ALLOW_EMPTY = "1" - -COMPATIBLE_MACHINE = 'fic-gta01' - -CMDLINE_CON = "" -#CMDLINE_ROOT = "root=/dev/mmcblk0p1 rootfstype=ext3 rootdelay=5" -# uncomment if you want to boot over NFS -#CMDLINE_ROOT = "root=/dev/nfs nfsroot=192.168.1.10:/export/opie-image rootdelay=5 3" -# uncomment to enable dyntick -#CMDLINE_OTHER = "dyntick=enable" -CMDLINE_DEBUG = '${@base_conditional("DISTRO_TYPE", "release", "quiet", "debug",d)}' -CMDLINE_IP = "ip=192.168.1.2:192.168.1.10:192.168.1.10:255.255.255.0:ezx:usb0:off" -CMDLINE = "${CMDLINE_CON} ${CMDLINE_ROOT} ${CMDLINE_IP} ${CMDLINE_ROTATE} ${CMDLINE_OTHER} ${CMDLINE_DEBUG}" - -############################################################### -# module configs specific to this kernel -# - -# usb -module_autoload_ohci-hcd = "ohci-hcd" -module_autoload_hci_usb = "hci_usb" -module_autoload_g_ether = "g_ether" -# audio -module_autoload_snd-soc-neo1973-wm8753 = "snd-soc-neo1973-wm8753" -# sd/mmc -module_autoload_s3cmci = "s3cmci" - -do_prepatch() { - mv ${WORKDIR}/patches ${S}/patches && cd ${S} && quilt push -av - mv patches patches.openmoko - mv .pc .pc.old -} - -do_configure() { - install -m 0644 ${WORKDIR}/logo_linux_clut224.ppm drivers/video/logo/logo_linux_clut224.ppm - - if [ ! -e ${WORKDIR}/defconfig-${VANILLA_VERSION}-${MACHINE} ]; then - die "No default configuration for ${MACHINE} available." - fi - - echo "CONFIG_CMDLINE=\"${CMDLINE}\"" >> ${S}/.config - - if [ "${TARGET_OS}" = "linux-gnueabi" ]; then - echo "CONFIG_AEABI=y" >> ${S}/.config - echo "CONFIG_OABI_COMPAT=y" >> ${S}/.config - else - echo "# CONFIG_AEABI is not set" >> ${S}/.config - echo "# CONFIG_OABI_COMPAT is not set" >> ${S}/.config - fi - - sed -e '/CONFIG_AEABI/d' \ - -e '/CONFIG_OABI_COMPAT=/d' \ - -e '/CONFIG_CMDLINE=/d' \ - -e '/CONFIG_MTD_MTDRAM_SA1100=/d' \ - -e '/CONFIG_MTDRAM_TOTAL_SIZE=/d' \ - -e '/CONFIG_MTDRAM_ERASE_SIZE=/d' \ - -e '/CONFIG_MTDRAM_ABS_POS=/d' \ - '${WORKDIR}/defconfig-${VANILLA_VERSION}-${MACHINE}' >>'${S}/.config' - - yes '' | oe_runmake oldconfig -} - -############################################################### -# put into deploy directory and append u-boot header -# -do_deploy() { - install -d ${DEPLOY_DIR_IMAGE} - install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${PV}-${PR}-${MACHINE}-${DATETIME}.bin - tar -cvzf ${DEPLOY_DIR_IMAGE}/modules-${KERNEL_RELEASE}-${PR}-${MACHINE}.tgz -C ${D} lib - ${OBJCOPY} -O binary -R .note -R .comment -S vmlinux linux.bin - rm -f linux.bin.gz - gzip -9 linux.bin - ${STAGING_BINDIR_NATIVE}/uboot-mkimage -A arm -O linux -T kernel -C gzip -a 30008000 -e 30008000 -n "OpenMoko Kernel Image Neo1973(GTA01)" -d linux.bin.gz ${DEPLOY_DIR_IMAGE}/uImage-${PV}-${PR}-${MACHINE}.bin - cd ${DEPLOY_DIR_IMAGE} - ln -sf uImage-${PV}-${PR}-${MACHINE}.bin uImage-${MACHINE}-latest.bin - rm -f linux.bin.gz -} - -do_deploy[dirs] = "${S}" - -addtask prepatch before do_patch after do_unpack -addtask deploy before do_package after do_install - diff --git a/meta/packages/linux/linux-gta01_2.6.21.6.bb b/meta/packages/linux/linux-gta01_2.6.21.6.bb deleted file mode 100644 index 89dc7200fe..0000000000 --- a/meta/packages/linux/linux-gta01_2.6.21.6.bb +++ /dev/null @@ -1,10 +0,0 @@ -require linux-gta01.inc - -SRC_URI += "svn://svn.openmoko.org/branches/src/target/kernel/2.6.21.x;module=patches;proto=http;rev=2832" -SRC_URI += "file://fix-EVIOCGRAB-semantics.patch;patch=1" - -MOKOR = "moko11" -PR = "${MOKOR}-r2" - -VANILLA_VERSION = "2.6.21.6" - diff --git a/meta/packages/linux/linux-openmoko.inc b/meta/packages/linux/linux-openmoko.inc new file mode 100644 index 0000000000..fc4a547fd7 --- /dev/null +++ b/meta/packages/linux/linux-openmoko.inc @@ -0,0 +1,9 @@ +# extra stuff we need for openmoko that is not in linux.inc + +do_deploy_append() { + mv ${DEPLOY_DIR_IMAGE}/modules-${KERNEL_RELEASE}-${PR}-${MACHINE}.tgz ${DEPLOY_DIR_IMAGE}/modules-${PV}-${PR}-${MACHINE_CLASS}.tgz + mv ${DEPLOY_DIR_IMAGE}/uImage-${PV}-${PR}-${MACHINE}-${DATETIME}.bin ${DEPLOY_DIR_IMAGE}/uImage-${PV}-${PR}-${MACHINE_CLASS}.bin + rm -f ${KERNEL_IMAGE_SYMLINK_NAME}.bin + ln -sf ${DEPLOY_DIR_IMAGE}/uImage-${PV}-${PR}-${MACHINE_CLASS}.bin ${DEPLOY_DIR_IMAGE}/uImage-${MACHINE_CLASS}-latest.bin +} + diff --git a/meta/packages/linux/linux-gta01/defconfig-2.6.21.6-fic-gta01 b/meta/packages/linux/linux-openmoko/defconfig-2.6.22.5 index 7851fbe19d..7aa23df77c 100644 --- a/meta/packages/linux/linux-gta01/defconfig-2.6.21.6-fic-gta01 +++ b/meta/packages/linux/linux-openmoko/defconfig-2.6.22.5 @@ -1,15 +1,18 @@ # # Automatically generated make config: don't edit -# Linux kernel version: 2.6.21.3 -# Mon Jun 11 18:32:32 2007 +# Linux kernel version: 2.6.22.5 +# Wed Oct 3 13:55:25 2007 # CONFIG_ARM=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y CONFIG_GENERIC_GPIO=y # CONFIG_GENERIC_TIME is not set +# CONFIG_GENERIC_CLOCKEVENTS is not set CONFIG_MMU=y CONFIG_NO_IOPORT=y CONFIG_GENERIC_HARDIRQS=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_LOCKDEP_SUPPORT=y CONFIG_TRACE_IRQFLAGS_SUPPORT=y CONFIG_HARDIRQS_SW_RESEND=y CONFIG_GENERIC_IRQ_PROBE=y @@ -45,6 +48,7 @@ CONFIG_SYSVIPC_SYSCTL=y # CONFIG_UTS_NS is not set # CONFIG_AUDIT is not set # CONFIG_IKCONFIG is not set +CONFIG_LOG_BUF_SHIFT=14 # CONFIG_SYSFS_DEPRECATED is not set # CONFIG_RELAY is not set CONFIG_BLK_DEV_INITRD=y @@ -63,14 +67,19 @@ CONFIG_BUG=y CONFIG_ELF_CORE=y CONFIG_BASE_FULL=y CONFIG_FUTEX=y +CONFIG_ANON_INODES=y CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y CONFIG_SHMEM=y -CONFIG_SLAB=y CONFIG_VM_EVENT_COUNTERS=y +CONFIG_SLAB=y +# CONFIG_SLUB is not set +# CONFIG_SLOB is not set CONFIG_RT_MUTEXES=y # CONFIG_TINY_SHMEM is not set CONFIG_BASE_SMALL=0 -# CONFIG_SLOB is not set # # Loadable module support @@ -120,13 +129,14 @@ CONFIG_DEFAULT_IOSCHED="deadline" # CONFIG_ARCH_NETX is not set # CONFIG_ARCH_H720X is not set # CONFIG_ARCH_IMX is not set +# CONFIG_ARCH_IOP13XX is not set # CONFIG_ARCH_IOP32X is not set # CONFIG_ARCH_IOP33X is not set -# CONFIG_ARCH_IOP13XX is not set -# CONFIG_ARCH_IXP4XX is not set -# CONFIG_ARCH_IXP2000 is not set # CONFIG_ARCH_IXP23XX is not set +# CONFIG_ARCH_IXP2000 is not set +# CONFIG_ARCH_IXP4XX is not set # CONFIG_ARCH_L7200 is not set +# CONFIG_ARCH_KS8695 is not set # CONFIG_ARCH_NS9XXX is not set # CONFIG_ARCH_PNX4008 is not set # CONFIG_ARCH_PXA is not set @@ -135,6 +145,7 @@ CONFIG_DEFAULT_IOSCHED="deadline" CONFIG_ARCH_S3C2410=y # CONFIG_ARCH_SHARK is not set # CONFIG_ARCH_LH7A40X is not set +# CONFIG_ARCH_DAVINCI is not set # CONFIG_ARCH_OMAP is not set CONFIG_PLAT_S3C24XX=y CONFIG_CPU_S3C244X=y @@ -173,6 +184,7 @@ CONFIG_MACH_NEO1973_GTA01=y # S3C2412 Machines # # CONFIG_MACH_SMDK2413 is not set +# CONFIG_MACH_SMDK2412 is not set # CONFIG_MACH_VSTMS is not set CONFIG_CPU_S3C2440=y CONFIG_S3C2440_DMA=y @@ -188,11 +200,12 @@ CONFIG_ARCH_S3C2440=y CONFIG_SMDK2440_CPU2440=y CONFIG_MACH_HXD8=y CONFIG_MACH_NEO1973_GTA02=y +CONFIG_CPU_S3C2442=y # # S3C2442 Machines # -# CONFIG_SMDK2440_CPU2442 is not set +CONFIG_SMDK2440_CPU2442=y # # S3C2443 Machines @@ -225,6 +238,7 @@ CONFIG_ARM_THUMB=y # # Bus support # +# CONFIG_ARCH_SUPPORTS_MSI is not set # # PCCARD (PCMCIA/CardBus) support @@ -234,11 +248,11 @@ CONFIG_ARM_THUMB=y # # Kernel Features # +# CONFIG_TICK_ONESHOT is not set CONFIG_PREEMPT=y CONFIG_NO_IDLE_HZ=y CONFIG_HZ=200 -CONFIG_AEABI=y -CONFIG_OABI_COMPAT=y +# CONFIG_AEABI is not set # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set CONFIG_SELECT_MEMORY_MODEL=y CONFIG_FLATMEM_MANUAL=y @@ -257,7 +271,7 @@ CONFIG_ALIGNMENT_TRAP=y # CONFIG_ZBOOT_ROM_TEXT=0x0 CONFIG_ZBOOT_ROM_BSS=0x0 -CONFIG_CMDLINE="console=ttySAC0,115200n8 ip=192.168.1.2:192.168.1.10:192.168.1.10:255.255.255.0:ezx:usb0:off debug" +CONFIG_CMDLINE="ip=192.168.1.2:192.168.1.10:192.168.1.10:255.255.255.0:ezx:usb0:off" # CONFIG_XIP_KERNEL is not set CONFIG_KEXEC=y @@ -269,6 +283,7 @@ CONFIG_KEXEC=y # At least one emulation must be selected # CONFIG_FPE_NWFPE=y +# CONFIG_FPE_NWFPE_XP is not set # CONFIG_FPE_FASTFPE is not set # @@ -297,8 +312,7 @@ CONFIG_NET=y # # Networking options # -# CONFIG_NETDEBUG is not set -CONFIG_PACKET=y +CONFIG_PACKET=m CONFIG_PACKET_MMAP=y CONFIG_UNIX=y CONFIG_XFRM=y @@ -340,14 +354,11 @@ CONFIG_INET_TCP_DIAG=y CONFIG_TCP_CONG_CUBIC=y CONFIG_DEFAULT_TCP_CONG="cubic" CONFIG_TCP_MD5SIG=y - -# -# IP: Virtual Server Configuration -# # CONFIG_IP_VS is not set CONFIG_IPV6=m # CONFIG_IPV6_PRIVACY is not set # CONFIG_IPV6_ROUTER_PREF is not set +# CONFIG_IPV6_OPTIMISTIC_DAD is not set CONFIG_INET6_AH=m CONFIG_INET6_ESP=m CONFIG_INET6_IPCOMP=m @@ -373,8 +384,6 @@ CONFIG_NETFILTER_NETLINK=m CONFIG_NETFILTER_NETLINK_QUEUE=m CONFIG_NETFILTER_NETLINK_LOG=m CONFIG_NF_CONNTRACK_ENABLED=m -CONFIG_NF_CONNTRACK_SUPPORT=y -# CONFIG_IP_NF_CONNTRACK_SUPPORT is not set CONFIG_NF_CONNTRACK=m CONFIG_NF_CT_ACCT=y CONFIG_NF_CONNTRACK_MARK=y @@ -511,20 +520,8 @@ CONFIG_BRIDGE_EBT_REDIRECT=m CONFIG_BRIDGE_EBT_SNAT=m CONFIG_BRIDGE_EBT_LOG=m CONFIG_BRIDGE_EBT_ULOG=m - -# -# DCCP Configuration (EXPERIMENTAL) -# # CONFIG_IP_DCCP is not set - -# -# SCTP Configuration (EXPERIMENTAL) -# # CONFIG_IP_SCTP is not set - -# -# TIPC Configuration (EXPERIMENTAL) -# # CONFIG_TIPC is not set # CONFIG_ATM is not set CONFIG_BRIDGE=y @@ -544,9 +541,6 @@ CONFIG_LLC=y # CONFIG_NET_SCHED=y CONFIG_NET_SCH_FIFO=y -# CONFIG_NET_SCH_CLK_JIFFIES is not set -CONFIG_NET_SCH_CLK_GETTIMEOFDAY=y -# CONFIG_NET_SCH_CLK_CPU is not set # # Queueing/Scheduling @@ -610,10 +604,19 @@ CONFIG_BT_HCIUSB_SCO=y # CONFIG_BT_HCIBPA10X is not set # CONFIG_BT_HCIBFUSB is not set # CONFIG_BT_HCIVHCI is not set -# CONFIG_IEEE80211 is not set +# CONFIG_AF_RXRPC is not set CONFIG_FIB_RULES=y # +# Wireless +# +# CONFIG_CFG80211 is not set +# CONFIG_WIRELESS_EXT is not set +# CONFIG_MAC80211 is not set +# CONFIG_IEEE80211 is not set +# CONFIG_RFKILL is not set + +# # Device Drivers # @@ -631,10 +634,6 @@ CONFIG_FW_LOADER=m # Connector - unified userspace <-> kernelspace linker # CONFIG_CONNECTOR=m - -# -# Memory Technology Devices (MTD) -# CONFIG_MTD=y # CONFIG_MTD_DEBUG is not set # CONFIG_MTD_CONCAT is not set @@ -673,7 +672,6 @@ CONFIG_MTD_CFI_I2=y # CONFIG_MTD_RAM is not set # CONFIG_MTD_ROM is not set # CONFIG_MTD_ABSENT is not set -# CONFIG_MTD_OBSOLETE_CHIPS is not set # # Mapping drivers for chip access @@ -697,13 +695,10 @@ CONFIG_MTD_CFI_I2=y # CONFIG_MTD_DOC2000 is not set # CONFIG_MTD_DOC2001 is not set # CONFIG_MTD_DOC2001PLUS is not set - -# -# NAND Flash Device Drivers -# CONFIG_MTD_NAND=y CONFIG_MTD_NAND_VERIFY_WRITE=y # CONFIG_MTD_NAND_ECC_SMC is not set +# CONFIG_MTD_NAND_MUSEUM_IDS is not set CONFIG_MTD_NAND_IDS=y CONFIG_MTD_NAND_S3C2410=y CONFIG_MTD_NAND_S3C2410_BBT=y @@ -712,11 +707,13 @@ CONFIG_MTD_NAND_S3C2410_HWECC=y CONFIG_MTD_NAND_S3C2410_CLKSTOP=y # CONFIG_MTD_NAND_DISKONCHIP is not set # CONFIG_MTD_NAND_NANDSIM is not set +# CONFIG_MTD_NAND_PLATFORM is not set +# CONFIG_MTD_ONENAND is not set # -# OneNAND Flash Device Drivers +# UBI - Unsorted block images # -# CONFIG_MTD_ONENAND is not set +# CONFIG_MTD_UBI is not set # # Parallel port support @@ -742,10 +739,6 @@ CONFIG_BLK_DEV_RAM_SIZE=4096 CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 # CONFIG_CDROM_PKTCDVD is not set # CONFIG_ATA_OVER_ETH is not set - -# -# ATA/ATAPI/MFM/RLL support -# # CONFIG_IDE is not set # @@ -775,6 +768,7 @@ CONFIG_CHR_DEV_SG=m # CONFIG_SCSI_CONSTANTS is not set # CONFIG_SCSI_LOGGING is not set CONFIG_SCSI_SCAN_ASYNC=y +CONFIG_SCSI_WAIT_SCAN=m # # SCSI Transports @@ -790,10 +784,6 @@ CONFIG_SCSI_SCAN_ASYNC=y # # CONFIG_ISCSI_TCP is not set # CONFIG_SCSI_DEBUG is not set - -# -# Serial ATA (prod) and Parallel ATA (experimental) drivers -# # CONFIG_ATA is not set # @@ -808,19 +798,7 @@ CONFIG_DM_SNAPSHOT=m # CONFIG_DM_MIRROR is not set # CONFIG_DM_ZERO is not set # CONFIG_DM_MULTIPATH is not set - -# -# Fusion MPT device support -# -# CONFIG_FUSION is not set - -# -# IEEE 1394 (FireWire) support -# - -# -# I2O device support -# +# CONFIG_DM_DELAY is not set # # Network device support @@ -830,10 +808,6 @@ CONFIG_NETDEVICES=y # CONFIG_BONDING is not set # CONFIG_EQUALIZER is not set CONFIG_TUN=m - -# -# PHY device support -# # CONFIG_PHYLIB is not set # @@ -845,27 +819,40 @@ CONFIG_MII=m # CONFIG_DM9000 is not set CONFIG_NET_PCI=y CONFIG_CS89x0=m +# CONFIG_NETDEV_1000 is not set +# CONFIG_NETDEV_10000 is not set # -# Ethernet (1000 Mbit) -# - -# -# Ethernet (10000 Mbit) -# - -# -# Token Ring devices +# Wireless LAN # +# CONFIG_WLAN_PRE80211 is not set +# CONFIG_WLAN_80211 is not set # -# Wireless LAN (non-hamradio) -# -# CONFIG_NET_RADIO is not set - -# -# Wan interfaces +# USB Network Adapters # +CONFIG_USB_CATC=m +CONFIG_USB_KAWETH=m +CONFIG_USB_PEGASUS=m +CONFIG_USB_RTL8150=m +CONFIG_USB_USBNET_MII=m +CONFIG_USB_USBNET=m +CONFIG_USB_NET_AX8817X=m +CONFIG_USB_NET_CDCETHER=m +CONFIG_USB_NET_DM9601=m +CONFIG_USB_NET_GL620A=m +CONFIG_USB_NET_NET1080=m +CONFIG_USB_NET_PLUSB=m +CONFIG_USB_NET_MCS7830=m +CONFIG_USB_NET_RNDIS_HOST=m +CONFIG_USB_NET_CDC_SUBSET=m +CONFIG_USB_ALI_M5632=y +CONFIG_USB_AN2720=y +CONFIG_USB_BELKIN=y +CONFIG_USB_ARMLINUX=y +CONFIG_USB_EPSON2888=y +CONFIG_USB_KC2190=y +CONFIG_USB_NET_ZAURUS=m # CONFIG_WAN is not set CONFIG_PPP=m CONFIG_PPP_MULTILINK=y @@ -893,6 +880,7 @@ CONFIG_SLHC=m # CONFIG_INPUT=y # CONFIG_INPUT_FF_MEMLESS is not set +# CONFIG_INPUT_POLLDEV is not set # # Userland interfaces @@ -922,8 +910,10 @@ CONFIG_KEYBOARD_QT2410=y CONFIG_INPUT_MOUSE=y # CONFIG_MOUSE_PS2 is not set # CONFIG_MOUSE_SERIAL is not set +# CONFIG_MOUSE_APPLETOUCH is not set # CONFIG_MOUSE_VSXXXAA is not set # CONFIG_INPUT_JOYSTICK is not set +# CONFIG_INPUT_TABLET is not set CONFIG_INPUT_TOUCHSCREEN=y # CONFIG_TOUCHSCREEN_ADS7846 is not set CONFIG_TOUCHSCREEN_S3C2410=y @@ -936,6 +926,7 @@ CONFIG_TOUCHSCREEN_S3C2410=y # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set # CONFIG_TOUCHSCREEN_TOUCHWIN is not set # CONFIG_TOUCHSCREEN_UCB1400 is not set +# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set # CONFIG_INPUT_MISC is not set # @@ -975,10 +966,6 @@ CONFIG_UNIX98_PTYS=y # IPMI # # CONFIG_IPMI_HANDLER is not set - -# -# Watchdog Cards -# CONFIG_WATCHDOG=y # CONFIG_WATCHDOG_NOWAYOUT is not set @@ -994,7 +981,6 @@ CONFIG_S3C2410_WATCHDOG=m # CONFIG_USBPCWATCHDOG is not set # CONFIG_HW_RANDOM is not set # CONFIG_NVRAM is not set -# CONFIG_DTLK is not set # CONFIG_R3964 is not set # CONFIG_RAW_DRIVER is not set @@ -1003,11 +989,8 @@ CONFIG_S3C2410_WATCHDOG=m # # CONFIG_TCG_TPM is not set # CONFIG_TS0710_MUX is not set - -# -# I2C support -# CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y CONFIG_I2C_CHARDEV=y # @@ -1020,11 +1003,13 @@ CONFIG_I2C_CHARDEV=y # # I2C Hardware Bus support # +# CONFIG_I2C_GPIO is not set # CONFIG_I2C_OCORES is not set # CONFIG_I2C_PARPORT_LIGHT is not set CONFIG_I2C_S3C2410=y +# CONFIG_I2C_SIMTEC is not set # CONFIG_I2C_STUB is not set -# CONFIG_I2C_PCA_ISA is not set +# CONFIG_I2C_TINY_USB is not set # # Miscellaneous I2C Chip support @@ -1062,19 +1047,17 @@ CONFIG_SPI_S3C24XX_GPIO=y # SPI Protocol Masters # # CONFIG_SPI_AT25 is not set +# CONFIG_SPI_SPIDEV is not set CONFIG_SPI_SLAVE_JBT6K74=y # # Dallas's 1-wire bus # # CONFIG_W1 is not set - -# -# Hardware Monitoring support -# CONFIG_HWMON=y # CONFIG_HWMON_VID is not set # CONFIG_SENSORS_ABITUGURU is not set +# CONFIG_SENSORS_AD7418 is not set # CONFIG_SENSORS_ADM1021 is not set # CONFIG_SENSORS_ADM1025 is not set # CONFIG_SENSORS_ADM1026 is not set @@ -1102,6 +1085,7 @@ CONFIG_HWMON=y # CONFIG_SENSORS_LM90 is not set # CONFIG_SENSORS_LM92 is not set # CONFIG_SENSORS_MAX1619 is not set +# CONFIG_SENSORS_MAX6650 is not set # CONFIG_SENSORS_PC87360 is not set # CONFIG_SENSORS_PC87427 is not set # CONFIG_SENSORS_SMSC47M1 is not set @@ -1149,11 +1133,8 @@ CONFIG_LEDS_TRIGGER_TIMER=y # Multimedia devices # # CONFIG_VIDEO_DEV is not set - -# -# Digital Video Broadcasting Devices -# -# CONFIG_DVB is not set +# CONFIG_DVB_CORE is not set +CONFIG_DAB=y # CONFIG_USB_DABUSB is not set # @@ -1163,12 +1144,23 @@ CONFIG_BACKLIGHT_LCD_SUPPORT=y CONFIG_BACKLIGHT_CLASS_DEVICE=y CONFIG_LCD_CLASS_DEVICE=y CONFIG_BACKLIGHT_GTA01=y + +# +# Display device support +# +# CONFIG_DISPLAY_SUPPORT is not set +# CONFIG_VGASTATE is not set CONFIG_FB=y # CONFIG_FIRMWARE_EDID is not set # CONFIG_FB_DDC is not set CONFIG_FB_CFB_FILLRECT=y CONFIG_FB_CFB_COPYAREA=y CONFIG_FB_CFB_IMAGEBLIT=y +# CONFIG_FB_SYS_FILLRECT is not set +# CONFIG_FB_SYS_COPYAREA is not set +# CONFIG_FB_SYS_IMAGEBLIT is not set +# CONFIG_FB_SYS_FOPS is not set +CONFIG_FB_DEFERRED_IO=y # CONFIG_FB_SVGALIB is not set # CONFIG_FB_MACMODES is not set # CONFIG_FB_BACKLIGHT is not set @@ -1180,7 +1172,7 @@ CONFIG_FB_CFB_IMAGEBLIT=y # # CONFIG_FB_S1D13XXX is not set CONFIG_FB_S3C2410=y -CONFIG_FB_S3C2410_DEBUG=y +# CONFIG_FB_S3C2410_DEBUG is not set CONFIG_GLAMO=y CONFIG_FB_GLAMO=y CONFIG_GLAMO_SPI_GPIO=y @@ -1205,14 +1197,7 @@ CONFIG_FONT_6x11=y # CONFIG_FONT_SUN8x16 is not set # CONFIG_FONT_SUN12x22 is not set # CONFIG_FONT_10x18 is not set - -# -# Logo configuration -# # CONFIG_LOGO is not set -# CONFIG_LOGO_LINUX_MONO is not set -# CONFIG_LOGO_LINUX_VGA16 is not set -# CONFIG_LOGO_LINUX_CLUT224 is not set # # Sound @@ -1254,37 +1239,20 @@ CONFIG_SND_VERBOSE_PROCFS=y # USB devices # CONFIG_SND_USB_AUDIO=m +# CONFIG_SND_USB_CAIAQ is not set # -# SoC audio support +# System on Chip audio support # CONFIG_SND_SOC=y - -# -# SoC Platforms -# - -# -# SoC Audio for the Atmel AT91 -# - -# -# SoC Audio for the Freescale i.MX -# - -# -# SoC Audio for the Intel PXA2xx -# - -# -# SoC Audio for the Samsung S3C24XX -# CONFIG_SND_S3C24XX_SOC=m CONFIG_SND_S3C24XX_SOC_I2S=m -CONFIG_SND_S3C24XX_SOC_SMDK2440=m CONFIG_SND_S3C24XX_SOC_NEO1973_WM8753=m + +# +# SoC Audio support for SuperH +# CONFIG_SND_SOC_WM8753=m -CONFIG_SND_SOC_UDA1380=m # # Open Sound System @@ -1298,6 +1266,20 @@ CONFIG_HID=y # CONFIG_HID_DEBUG is not set # +# USB Input Devices +# +CONFIG_USB_HID=m +# CONFIG_USB_HIDINPUT_POWERBOOK is not set +# CONFIG_HID_FF is not set +# CONFIG_USB_HIDDEV is not set + +# +# USB HID Boot Protocol drivers +# +# CONFIG_USB_KBD is not set +# CONFIG_USB_MOUSE is not set + +# # USB support # CONFIG_USB_ARCH_HAS_HCD=y @@ -1310,6 +1292,7 @@ CONFIG_USB=y # Miscellaneous USB options # CONFIG_USB_DEVICEFS=y +CONFIG_USB_DEVICE_CLASS=y # CONFIG_USB_DYNAMIC_MINORS is not set # CONFIG_USB_SUSPEND is not set # CONFIG_USB_OTG is not set @@ -1351,63 +1334,10 @@ CONFIG_USB_STORAGE_KARMA=y CONFIG_USB_LIBUSUAL=y # -# USB Input Devices -# -CONFIG_USB_HID=m -# CONFIG_USB_HIDINPUT_POWERBOOK is not set -# CONFIG_HID_FF is not set -# CONFIG_USB_HIDDEV is not set - -# -# USB HID Boot Protocol drivers -# -# CONFIG_USB_KBD is not set -# CONFIG_USB_MOUSE is not set -# CONFIG_USB_AIPTEK is not set -# CONFIG_USB_WACOM is not set -# CONFIG_USB_ACECAD is not set -# CONFIG_USB_KBTAB is not set -# CONFIG_USB_POWERMATE is not set -# CONFIG_USB_TOUCHSCREEN is not set -# CONFIG_USB_YEALINK is not set -# CONFIG_USB_XPAD is not set -# CONFIG_USB_ATI_REMOTE is not set -# CONFIG_USB_ATI_REMOTE2 is not set -# CONFIG_USB_KEYSPAN_REMOTE is not set -# CONFIG_USB_APPLETOUCH is not set -CONFIG_USB_GTCO=m - -# # USB Imaging devices # # CONFIG_USB_MDC800 is not set # CONFIG_USB_MICROTEK is not set - -# -# USB Network Adapters -# -CONFIG_USB_CATC=m -CONFIG_USB_KAWETH=m -CONFIG_USB_PEGASUS=m -CONFIG_USB_RTL8150=m -CONFIG_USB_USBNET_MII=m -CONFIG_USB_USBNET=m -CONFIG_USB_NET_AX8817X=m -CONFIG_USB_NET_CDCETHER=m -CONFIG_USB_NET_DM9601=m -CONFIG_USB_NET_GL620A=m -CONFIG_USB_NET_NET1080=m -CONFIG_USB_NET_PLUSB=m -CONFIG_USB_NET_MCS7830=m -CONFIG_USB_NET_RNDIS_HOST=m -CONFIG_USB_NET_CDC_SUBSET=m -CONFIG_USB_ALI_M5632=y -CONFIG_USB_AN2720=y -CONFIG_USB_BELKIN=y -CONFIG_USB_ARMLINUX=y -CONFIG_USB_EPSON2888=y -CONFIG_USB_KC2190=y -CONFIG_USB_NET_ZAURUS=m CONFIG_USB_MON=y # @@ -1503,6 +1433,7 @@ CONFIG_USB_IOWARRIOR=m CONFIG_USB_GADGET=y # CONFIG_USB_GADGET_DEBUG_FILES is not set CONFIG_USB_GADGET_SELECTED=y +# CONFIG_USB_GADGET_FSL_USB2 is not set # CONFIG_USB_GADGET_NET2280 is not set # CONFIG_USB_GADGET_PXA2XX is not set # CONFIG_USB_GADGET_GOKU is not set @@ -1521,14 +1452,19 @@ CONFIG_USB_ETH_RNDIS=y # CONFIG_USB_FILE_STORAGE is not set # CONFIG_USB_G_SERIAL is not set # CONFIG_USB_MIDI_GADGET is not set +CONFIG_MMC=y +# CONFIG_MMC_DEBUG is not set +CONFIG_MMC_UNSAFE_RESUME=y # -# MMC/SD Card support +# MMC/SD Card Drivers # -CONFIG_MMC=y -# CONFIG_MMC_DEBUG is not set CONFIG_MMC_BLOCK=y -CONFIG_MMC_S3C=m + +# +# MMC/SD Host Controller Drivers +# +CONFIG_MMC_S3C=y # # Real Time Clock @@ -1536,7 +1472,7 @@ CONFIG_MMC_S3C=m CONFIG_RTC_LIB=y CONFIG_RTC_CLASS=y CONFIG_RTC_HCTOSYS=y -CONFIG_RTC_HCTOSYS_DEVICE=rtc0 +CONFIG_RTC_HCTOSYS_DEVICE="rtc0" CONFIG_RTC_DEBUG=y # @@ -1546,27 +1482,41 @@ CONFIG_RTC_INTF_SYSFS=y CONFIG_RTC_INTF_PROC=y CONFIG_RTC_INTF_DEV=y # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set +# CONFIG_RTC_DRV_TEST is not set # -# RTC drivers +# I2C RTC drivers # -# CONFIG_RTC_DRV_CMOS is not set -# CONFIG_RTC_DRV_X1205 is not set # CONFIG_RTC_DRV_DS1307 is not set -# CONFIG_RTC_DRV_DS1553 is not set -# CONFIG_RTC_DRV_ISL1208 is not set # CONFIG_RTC_DRV_DS1672 is not set -# CONFIG_RTC_DRV_DS1742 is not set +# CONFIG_RTC_DRV_MAX6900 is not set +# CONFIG_RTC_DRV_RS5C372 is not set +# CONFIG_RTC_DRV_ISL1208 is not set +# CONFIG_RTC_DRV_X1205 is not set # CONFIG_RTC_DRV_PCF8563 is not set +# CONFIG_RTC_DRV_PCF8583 is not set + +# +# SPI RTC drivers +# # CONFIG_RTC_DRV_RS5C348 is not set -# CONFIG_RTC_DRV_RS5C372 is not set -CONFIG_RTC_DRV_S3C=m -# CONFIG_RTC_DRV_M48T86 is not set -# CONFIG_RTC_DRV_TEST is not set # CONFIG_RTC_DRV_MAX6902 is not set + +# +# Platform RTC drivers +# +# CONFIG_RTC_DRV_CMOS is not set +# CONFIG_RTC_DRV_DS1553 is not set +# CONFIG_RTC_DRV_DS1742 is not set +# CONFIG_RTC_DRV_M48T86 is not set # CONFIG_RTC_DRV_V3020 is not set # +# on-CPU RTC drivers +# +CONFIG_RTC_DRV_S3C=m + +# # File systems # CONFIG_EXT2_FS=m @@ -1635,7 +1585,7 @@ CONFIG_CONFIGFS_FS=m # CONFIG_EFS_FS is not set CONFIG_YAFFS_FS=y CONFIG_YAFFS_YAFFS1=y -# CONFIG_YAFFS_DOES_ECC is not set +CONFIG_YAFFS_9BYTE_TAGS=y CONFIG_YAFFS_YAFFS2=y CONFIG_YAFFS_AUTO_YAFFS2=y # CONFIG_YAFFS_DISABLE_LAZY_LOAD is not set @@ -1679,6 +1629,7 @@ CONFIG_EXPORTFS=m CONFIG_NFS_COMMON=y CONFIG_SUNRPC=y CONFIG_SUNRPC_GSS=y +# CONFIG_SUNRPC_BIND34 is not set CONFIG_RPCSEC_GSS_KRB5=y # CONFIG_RPCSEC_GSS_SPKM3 is not set # CONFIG_SMB_FS is not set @@ -1764,16 +1715,17 @@ CONFIG_MAGIC_SYSRQ=y # CONFIG_HEADERS_CHECK is not set CONFIG_DEBUG_KERNEL=y # CONFIG_DEBUG_SHIRQ is not set -CONFIG_LOG_BUF_SHIFT=14 CONFIG_DETECT_SOFTLOCKUP=y # CONFIG_SCHEDSTATS is not set -CONFIG_TIMER_STATS=y +# CONFIG_TIMER_STATS is not set # CONFIG_DEBUG_SLAB is not set CONFIG_DEBUG_PREEMPT=y # CONFIG_DEBUG_RT_MUTEXES is not set # CONFIG_RT_MUTEX_TESTER is not set # CONFIG_DEBUG_SPINLOCK is not set # CONFIG_DEBUG_MUTEXES is not set +# CONFIG_DEBUG_LOCK_ALLOC is not set +# CONFIG_PROVE_LOCKING is not set # CONFIG_DEBUG_SPINLOCK_SLEEP is not set # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set # CONFIG_DEBUG_KOBJECT is not set @@ -1821,6 +1773,7 @@ CONFIG_CRYPTO_ECB=m CONFIG_CRYPTO_CBC=y CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_LRW=m +# CONFIG_CRYPTO_CRYPTD is not set CONFIG_CRYPTO_DES=y CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_BLOWFISH=m @@ -1850,6 +1803,7 @@ CONFIG_CRYPTO_TEST=m CONFIG_BITREVERSE=y CONFIG_CRC_CCITT=m CONFIG_CRC16=m +# CONFIG_CRC_ITU_T is not set CONFIG_CRC32=y CONFIG_LIBCRC32C=m CONFIG_ZLIB_INFLATE=y @@ -1860,3 +1814,4 @@ CONFIG_TEXTSEARCH_BM=m CONFIG_TEXTSEARCH_FSM=m CONFIG_PLIST=y CONFIG_HAS_IOMEM=y +CONFIG_HAS_DMA=y diff --git a/meta/packages/linux/linux-openmoko/fix-EVIOCGRAB-semantics-2.6.22.5.patch b/meta/packages/linux/linux-openmoko/fix-EVIOCGRAB-semantics-2.6.22.5.patch new file mode 100644 index 0000000000..cc74c0e289 --- /dev/null +++ b/meta/packages/linux/linux-openmoko/fix-EVIOCGRAB-semantics-2.6.22.5.patch @@ -0,0 +1,91 @@ +Index: linux-2.6.22.5/drivers/input/evdev.c +=================================================================== +--- linux-2.6.22.5.orig/drivers/input/evdev.c ++++ linux-2.6.22.5/drivers/input/evdev.c +@@ -28,7 +28,7 @@ struct evdev { + char name[16]; + struct input_handle handle; + wait_queue_head_t wait; +- struct evdev_client *grab; ++ int grab; + struct list_head client_list; + }; + +@@ -36,6 +36,7 @@ struct evdev_client { + struct input_event buffer[EVDEV_BUFFER_SIZE]; + int head; + int tail; ++ int grab; + struct fasync_struct *fasync; + struct evdev *evdev; + struct list_head node; +@@ -48,8 +49,7 @@ static void evdev_event(struct input_han + struct evdev *evdev = handle->private; + struct evdev_client *client; + +- if (evdev->grab) { +- client = evdev->grab; ++ list_for_each_entry(client, &evdev->client_list, node) { + + do_gettimeofday(&client->buffer[client->head].time); + client->buffer[client->head].type = type; +@@ -58,17 +58,7 @@ static void evdev_event(struct input_han + client->head = (client->head + 1) & (EVDEV_BUFFER_SIZE - 1); + + kill_fasync(&client->fasync, SIGIO, POLL_IN); +- } else +- list_for_each_entry(client, &evdev->client_list, node) { +- +- do_gettimeofday(&client->buffer[client->head].time); +- client->buffer[client->head].type = type; +- client->buffer[client->head].code = code; +- client->buffer[client->head].value = value; +- client->head = (client->head + 1) & (EVDEV_BUFFER_SIZE - 1); +- +- kill_fasync(&client->fasync, SIGIO, POLL_IN); +- } ++ } + + wake_up_interruptible(&evdev->wait); + } +@@ -105,9 +95,10 @@ static int evdev_release(struct inode *i + struct evdev_client *client = file->private_data; + struct evdev *evdev = client->evdev; + +- if (evdev->grab == client) { +- input_release_device(&evdev->handle); +- evdev->grab = NULL; ++ if (client->grab) { ++ if(!--evdev->grab && evdev->exist) ++ input_release_device(&evdev->handle); ++ client->grab = 0; + } + + evdev_fasync(-1, file, 0); +@@ -488,17 +479,19 @@ static long evdev_ioctl_handler(struct f + + case EVIOCGRAB: + if (p) { +- if (evdev->grab) +- return -EBUSY; +- if (input_grab_device(&evdev->handle)) ++ if (client->grab) + return -EBUSY; +- evdev->grab = client; ++ if (!evdev->grab++) ++ if (input_grab_device(&evdev->handle)) ++ return -EBUSY; ++ client->grab = 0; + return 0; + } else { +- if (evdev->grab != client) ++ if (!client->grab) + return -EINVAL; +- input_release_device(&evdev->handle); +- evdev->grab = NULL; ++ if (!--evdev->grab) ++ input_release_device(&evdev->handle); ++ client->grab = 0; + return 0; + } + diff --git a/meta/packages/linux/linux-gta01/fix-EVIOCGRAB-semantics.patch b/meta/packages/linux/linux-openmoko/fix-EVIOCGRAB-semantics.patch index 3c96faa271..3c96faa271 100644 --- a/meta/packages/linux/linux-gta01/fix-EVIOCGRAB-semantics.patch +++ b/meta/packages/linux/linux-openmoko/fix-EVIOCGRAB-semantics.patch diff --git a/meta/packages/linux/linux-openmoko/fix-gta01-flowcontrol2-2.6.22.5.patch b/meta/packages/linux/linux-openmoko/fix-gta01-flowcontrol2-2.6.22.5.patch new file mode 100644 index 0000000000..ddb58f0cdb --- /dev/null +++ b/meta/packages/linux/linux-openmoko/fix-gta01-flowcontrol2-2.6.22.5.patch @@ -0,0 +1,193 @@ +--- linux-2.6.22.5/arch/arm/common/gta01_pm_gsm.c.orig 2007-09-27 11:23:20.000000000 -0500 ++++ linux-2.6.22.5/arch/arm/common/gta01_pm_gsm.c 2007-09-27 21:09:00.000000000 -0500 +@@ -23,6 +23,9 @@ + #include <asm/arch/gta01.h> + #include <asm/arch/gta02.h> + ++#include <linux/serial_core.h> ++void s3c24xx_set_flow_control(struct uart_port *port, int fc_on); ++ + struct gta01pm_priv { + int gpio_ngsm_en; + struct console *con; +@@ -49,6 +52,23 @@ + static ssize_t gsm_read(struct device *dev, struct device_attribute *attr, + char *buf) + { ++ struct uart_driver *udrive = NULL; ++ struct uart_state *ustate = NULL; ++ struct uart_port *uport = NULL; ++ ++ if (gta01_gsm.con) { ++ udrive = gta01_gsm.con->data; ++ if (udrive) { ++ ustate = udrive->state; ++ if (ustate) { ++ uport = ustate->port; ++ } ++ } ++ } ++ printk("gsm: gsm_read of \"%s\"\n", attr->attr.name); ++ printk("gsm: con=%p udrive=%p ustate=%p uport=%p\n", ++ gta01_gsm.con, udrive, ustate, uport); ++ + if (!strcmp(attr->attr.name, "power_on")) { + if (s3c2410_gpio_getpin(GTA01_GPIO_MODEM_ON)) + goto out_1; +@@ -58,6 +78,24 @@ + } else if (!strcmp(attr->attr.name, "download")) { + if (s3c2410_gpio_getpin(GTA01_GPIO_MODEM_DNLOAD)) + goto out_1; ++ } else if (!strcmp(attr->attr.name, "flowcontrol")) { ++ if (uport) { ++ if (uport->unused[2] & 0x2) { ++ if (uport->unused[2] & 0x1) { ++ printk("gsm: flow control allowed and on\n"); ++ goto out_1; ++ } else { ++ printk("gsm: flow control allowed and not on\n"); ++ } ++ } else { ++ if (uport->unused[2] & 0x1) ++ printk("gsm: flow control not allowed, " ++ "but is pending\n"); ++ else ++ printk("gsm: flow control not allowed, " ++ "not pending\n"); ++ } ++ } + } + + return strlcpy(buf, "0\n", 3); +@@ -68,10 +106,26 @@ + static ssize_t gsm_write(struct device *dev, struct device_attribute *attr, + const char *buf, size_t count) + { ++ struct uart_driver *udrive = NULL; ++ struct uart_state *ustate = NULL; ++ struct uart_port *uport = NULL; ++ static int was_on = 0; + unsigned long on = simple_strtoul(buf, NULL, 10); + ++ if (gta01_gsm.con) { ++ udrive = gta01_gsm.con->data; ++ if (udrive) { ++ ustate = udrive->state; ++ if (ustate) { ++ uport = ustate->port; ++ } ++ } ++ } ++ printk("gsm: con=%p udrive=%p ustate=%p uport=%p\n", ++ gta01_gsm.con, udrive, ustate, uport); ++ + if (!strcmp(attr->attr.name, "power_on")) { +- if (on) { ++ if (on && !was_on) { + if (gta01_gsm.con) { + dev_info(dev, "powering up GSM, thus " + "disconnecting serial console\n"); +@@ -83,7 +137,24 @@ + s3c2410_gpio_setpin(gta01_gsm.gpio_ngsm_en, 0); + + s3c2410_gpio_setpin(GTA01_GPIO_MODEM_ON, 1); +- } else { ++ ++ if (uport) { ++ /* set any pending flow-control mode */ ++ uport->unused[2] |= 0x2; ++ s3c24xx_set_flow_control(uport, ++ (uport->unused[2] & 0x1)); ++ dev_info(dev, "flow control allowed\n"); ++ } ++ ++ was_on = 1; ++ ++ } else if (!on && was_on) { ++ if (uport) { ++ uport->unused[2] &= ~0x2; ++ s3c24xx_set_flow_control(uport, 0); ++ dev_info(dev, "flow control not allowed\n"); ++ } ++ + s3c2410_gpio_setpin(GTA01_GPIO_MODEM_ON, 0); + + if (gta01_gsm.gpio_ngsm_en) +@@ -95,6 +166,8 @@ + dev_info(dev, "powered down GSM, thus enabling " + "serial console\n"); + } ++ ++ was_on = 0; + } + } else if (!strcmp(attr->attr.name, "reset")) { + s3c2410_gpio_setpin(GTA01_GPIO_MODEM_RST, on); +@@ -105,6 +178,7 @@ + return count; + } + ++static DEVICE_ATTR(flowcontrol, 0644, gsm_read, gsm_write); + static DEVICE_ATTR(power_on, 0644, gsm_read, gsm_write); + static DEVICE_ATTR(reset, 0644, gsm_read, gsm_write); + static DEVICE_ATTR(download, 0644, gsm_read, gsm_write); +@@ -136,6 +210,7 @@ + #endif + + static struct attribute *gta01_gsm_sysfs_entries[] = { ++ &dev_attr_flowcontrol.attr, + &dev_attr_power_on.attr, + &dev_attr_reset.attr, + NULL, +--- linux-2.6.22.5/drivers/serial/s3c2410.c.orig 2007-09-27 11:23:27.000000000 -0500 ++++ linux-2.6.22.5/drivers/serial/s3c2410.c 2007-09-27 21:07:21.000000000 -0500 +@@ -80,6 +80,8 @@ + + #include <asm/arch/regs-serial.h> + #include <asm/arch/regs-gpio.h> ++#include <asm/mach-types.h> ++#include <asm/arch/gta01.h> + + /* structures */ + +@@ -729,6 +731,17 @@ + return best->quot; + } + ++/* This routine is called whenever the gta01 modem/console switches */ ++void s3c24xx_set_flow_control(struct uart_port *port, int fc_on) ++{ ++ unsigned int umcon; ++ if (machine_is_neo1973_gta01() && port) { ++ umcon = (fc_on) ? S3C2410_UMCOM_AFC : 0; ++ wr_regl(port, S3C2410_UMCON, umcon); ++ } ++} ++EXPORT_SYMBOL(s3c24xx_set_flow_control); ++ + static void s3c24xx_serial_set_termios(struct uart_port *port, + struct ktermios *termios, + struct ktermios *old) +@@ -803,6 +816,23 @@ + + umcon = (termios->c_cflag & CRTSCTS) ? S3C2410_UMCOM_AFC : 0; + ++ /* ++ * Custom handling of flow control on hwport 0 for the GTA01: ++ * Save the desired state for flow control, but if the port ++ * is being used as a console, then do not actually enable ++ * flow control unless the flag permiting us to do so is set. ++ */ ++ if (machine_is_neo1973_gta01() && (cfg->hwport == 0)) { ++ if (umcon) ++ port->unused[2] |= 0x1; ++ else ++ port->unused[2] &= ~0x1; ++ if (port->cons && (port->cons->index >= 0)) { ++ if (!(port->unused[2] & 0x2)) ++ umcon = 0; ++ } ++ } ++ + if (termios->c_cflag & PARENB) { + if (termios->c_cflag & PARODD) + ulcon |= S3C2410_LCON_PODD; diff --git a/meta/packages/linux/linux-gta01/logo_linux_clut224.ppm b/meta/packages/linux/linux-openmoko/logo_linux_clut224.ppm index c3e8dec6f8..c3e8dec6f8 100644 --- a/meta/packages/linux/linux-gta01/logo_linux_clut224.ppm +++ b/meta/packages/linux/linux-openmoko/logo_linux_clut224.ppm diff --git a/meta/packages/linux/linux-openmoko_2.6.22.5.bb b/meta/packages/linux/linux-openmoko_2.6.22.5.bb new file mode 100644 index 0000000000..348537e4d2 --- /dev/null +++ b/meta/packages/linux/linux-openmoko_2.6.22.5.bb @@ -0,0 +1,63 @@ +require linux.inc +require linux-openmoko.inc + +DESCRIPTION = "Linux 2.6.x kernel for FIC SmartPhones shipping w/ OpenMoko" +VANILLA_VERSION = "2.6.22" +KERNEL_RELEASE = "2.6.22.5" + +# If you use a rc, you will need to use this: +#PV = "${VANILLA_VERSION}+${KERNEL_RELEASE}-moko11+svnr${SRCREV}" + +PV = "${KERNEL_RELEASE}-moko11+svnr${SRCREV}" +PR = "r6" + +KERNEL_IMAGETYPE = "uImage" +UBOOT_ENTRYPOINT = "30008000" + +############################################################## +# source and patches +# +SRCREV_FORMAT = "patches" + +SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${VANILLA_VERSION}.tar.bz2 \ + ${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/patch-${KERNEL_RELEASE}.bz2;patch=1 \ + svn://svn.openmoko.org/trunk/src/target/kernel;module=patches;proto=http \ + file://fix-EVIOCGRAB-semantics-2.6.22.5.patch;patch=1 \ + file://fix-gta01-flowcontrol2-2.6.22.5.patch;patch=1 \ + file://defconfig-${KERNEL_RELEASE}" + +S = "${WORKDIR}/linux-${VANILLA_VERSION}" + +############################################################## +# kernel image resides on a seperate flash partition (for now) +# +FILES_kernel-image = "" +ALLOW_EMPTY = "1" + +COMPATIBLE_HOST = "arm.*-linux" +COMPATIBLE_MACHINE = 'fic-gta01|fic-gta02' + +CMDLINE = "unused -- bootloader passes ATAG list" + +############################################################### +# module configs specific to this kernel +# + +# usb +module_autoload_ohci-hcd = "ohci-hcd" +module_autoload_hci_usb = "hci_usb" +module_autoload_g_ether = "g_ether" +# audio +module_autoload_snd-soc-neo1973-wm8753 = "snd-soc-neo1973-wm8753" +# sd/mmc +module_autoload_s3cmci = "s3cmci" + +do_prepatch() { + mv ${WORKDIR}/patches ${S}/patches && cd ${S} && quilt push -av + mv patches patches.openmoko + mv .pc .pc.old + mv ${WORKDIR}/defconfig-${KERNEL_RELEASE} ${WORKDIR}/defconfig +} + +addtask prepatch after do_unpack before do_patch + |