linux-gta01: update to 2.6.21.6 from OE

git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2593 311d38ba-8fff-0310-9ca6-ca027cbcb966
This commit is contained in:
Marcin Juszkiewicz
2007-08-29 11:48:12 +00:00
parent 2fc0b59463
commit ff0a6211cd
6 changed files with 179 additions and 74 deletions

View File

@@ -13,7 +13,8 @@ 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://defconfig-${VANILLA_VERSION}-${MACHINE} \
file://logo_linux_clut224.ppm"
S = "${WORKDIR}/linux-${VANILLA_VERSION}"
##############################################################
@@ -37,24 +38,32 @@ CMDLINE = "${CMDLINE_CON} ${CMDLINE_ROOT} ${CMDLINE_IP} ${CMDLINE_ROTATE} ${CMDL
###############################################################
# 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"
#module_autoload_snd-pcm-oss = "snd-pcm-oss"
#module_autoload_snd-soc-corgi_c7x0 = "snd-soc-s3c24xx"
# 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
rm -Rf patches .pc
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
if [ "${TARGET_OS}" = "linux-gnueabi" ]; then
echo "CONFIG_AEABI=y" >> ${S}/.config
echo "CONFIG_OABI_COMPAT=y" >> ${S}/.config
else
@@ -84,7 +93,8 @@ do_deploy() {
${OBJCOPY} -O binary -R .note -R .comment -S vmlinux linux.bin
rm -f linux.bin.gz
gzip -9 linux.bin
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}-${DATETIME}.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
ln -sf ${DEPLOY_DIR_IMAGE}/uImage-${PV}-${PR}-${MACHINE}.bin ${DEPLOY_DIR_IMAGE}/uImage-${MACHINE}-latest.bin
rm -f linux.bin.gz
}

View File

@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.21.1
# Fri May 18 12:58:24 2007
# Linux kernel version: 2.6.21.3
# Mon Jun 11 18:32:32 2007
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -33,7 +33,7 @@ CONFIG_INIT_ENV_ARG_LIMIT=32
#
# General setup
#
CONFIG_LOCALVERSION="-moko10"
CONFIG_LOCALVERSION="-moko11"
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
@@ -44,8 +44,7 @@ CONFIG_SYSVIPC_SYSCTL=y
# CONFIG_TASKSTATS is not set
# CONFIG_UTS_NS is not set
# CONFIG_AUDIT is not set
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
# CONFIG_IKCONFIG is not set
# CONFIG_SYSFS_DEPRECATED is not set
# CONFIG_RELAY is not set
CONFIG_BLK_DEV_INITRD=y
@@ -167,7 +166,7 @@ CONFIG_S3C2410_CLOCK=y
# CONFIG_MACH_OTOM is not set
# CONFIG_MACH_AML_M5900 is not set
# CONFIG_MACH_VR1000 is not set
# CONFIG_MACH_QT2410 is not set
CONFIG_MACH_QT2410=y
CONFIG_MACH_NEO1973_GTA01=y
#
@@ -188,6 +187,7 @@ CONFIG_ARCH_S3C2440=y
# CONFIG_MACH_NEXCODER_2440 is not set
CONFIG_SMDK2440_CPU2440=y
CONFIG_MACH_HXD8=y
CONFIG_MACH_NEO1973_GTA02=y
#
# S3C2442 Machines
@@ -257,7 +257,7 @@ CONFIG_ALIGNMENT_TRAP=y
#
CONFIG_ZBOOT_ROM_TEXT=0x0
CONFIG_ZBOOT_ROM_BSS=0x0
CONFIG_CMDLINE=" ip=192.168.1.2:192.168.1.10:192.168.1.10:255.255.255.0:ezx:usb0:off debug"
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_XIP_KERNEL is not set
CONFIG_KEXEC=y
@@ -268,22 +268,24 @@ CONFIG_KEXEC=y
#
# At least one emulation must be selected
#
# CONFIG_FPE_NWFPE is not set
CONFIG_FPE_FASTFPE=y
CONFIG_FPE_NWFPE=y
# CONFIG_FPE_FASTFPE is not set
#
# Userspace binary formats
#
CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_AOUT is not set
CONFIG_BINFMT_MISC=m
# CONFIG_BINFMT_MISC is not set
# CONFIG_ARTHUR is not set
#
# Power management options
#
CONFIG_PM=y
# CONFIG_PM_LEGACY is not set
# CONFIG_PM_DEBUG is not set
CONFIG_PM_LEGACY=y
CONFIG_PM_DEBUG=y
CONFIG_DISABLE_CONSOLE_SUSPEND=y
# CONFIG_PM_SYSFS_DEPRECATED is not set
CONFIG_APM_EMULATION=y
@@ -314,7 +316,10 @@ CONFIG_IP_FIB_HASH=y
CONFIG_IP_MULTIPLE_TABLES=y
# CONFIG_IP_ROUTE_MULTIPATH is not set
# CONFIG_IP_ROUTE_VERBOSE is not set
# CONFIG_IP_PNP is not set
CONFIG_IP_PNP=y
# CONFIG_IP_PNP_DHCP is not set
# CONFIG_IP_PNP_BOOTP is not set
# CONFIG_IP_PNP_RARP is not set
CONFIG_NET_IPIP=m
CONFIG_NET_IPGRE=m
# CONFIG_NET_IPGRE_BROADCAST is not set
@@ -838,6 +843,8 @@ CONFIG_NET_ETHERNET=y
CONFIG_MII=m
# CONFIG_SMC91X is not set
# CONFIG_DM9000 is not set
CONFIG_NET_PCI=y
CONFIG_CS89x0=m
#
# Ethernet (1000 Mbit)
@@ -911,6 +918,7 @@ CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_STOWAWAY=m
CONFIG_KEYBOARD_GPIO=m
CONFIG_KEYBOARD_GTA01=y
CONFIG_KEYBOARD_QT2410=y
CONFIG_INPUT_MOUSE=y
# CONFIG_MOUSE_PS2 is not set
# CONFIG_MOUSE_SERIAL is not set
@@ -1005,9 +1013,9 @@ CONFIG_I2C_CHARDEV=y
#
# I2C Algorithms
#
CONFIG_I2C_ALGOBIT=m
CONFIG_I2C_ALGOPCF=m
CONFIG_I2C_ALGOPCA=m
# CONFIG_I2C_ALGOBIT is not set
# CONFIG_I2C_ALGOPCF is not set
# CONFIG_I2C_ALGOPCA is not set
#
# I2C Hardware Bus support
@@ -1025,11 +1033,12 @@ CONFIG_I2C_S3C2410=y
# CONFIG_SENSORS_DS1374 is not set
# CONFIG_SENSORS_EEPROM is not set
CONFIG_SENSORS_PCF50606=y
CONFIG_SENSORS_PCF50633=y
# CONFIG_SENSORS_PCF8574 is not set
# CONFIG_SENSORS_PCA9539 is not set
# CONFIG_SENSORS_PCF8591 is not set
# CONFIG_SENSORS_MAX6875 is not set
# CONFIG_SENSORS_TSL256X is not set
CONFIG_SENSORS_TSL256X=m
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
@@ -1126,7 +1135,7 @@ CONFIG_LEDS_CLASS=y
#
# LED drivers
#
# CONFIG_LEDS_S3C24XX is not set
CONFIG_LEDS_S3C24XX=m
CONFIG_LEDS_GTA01=y
#
@@ -1134,7 +1143,7 @@ CONFIG_LEDS_GTA01=y
#
CONFIG_LEDS_TRIGGERS=y
CONFIG_LEDS_TRIGGER_TIMER=y
CONFIG_LEDS_TRIGGER_HEARTBEAT=m
# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
#
# Multimedia devices
@@ -1172,6 +1181,10 @@ CONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_FB_S1D13XXX is not set
CONFIG_FB_S3C2410=y
CONFIG_FB_S3C2410_DEBUG=y
CONFIG_GLAMO=y
CONFIG_FB_GLAMO=y
CONFIG_GLAMO_SPI_GPIO=y
CONFIG_FB_GLAMO_SPI=y
# CONFIG_FB_VIRTUAL is not set
#
@@ -1196,10 +1209,10 @@ CONFIG_FONT_6x11=y
#
# Logo configuration
#
CONFIG_LOGO=y
# CONFIG_LOGO is not set
# CONFIG_LOGO_LINUX_MONO is not set
# CONFIG_LOGO_LINUX_VGA16 is not set
CONFIG_LOGO_LINUX_CLUT224=y
# CONFIG_LOGO_LINUX_CLUT224 is not set
#
# Sound
@@ -1266,11 +1279,11 @@ CONFIG_SND_SOC=y
#
# SoC Audio for the Samsung S3C24XX
#
CONFIG_SND_S3C24XX_SOC=y
CONFIG_SND_S3C24XX_SOC_I2S=y
CONFIG_SND_S3C24XX_SOC=m
CONFIG_SND_S3C24XX_SOC_I2S=m
CONFIG_SND_S3C24XX_SOC_SMDK2440=m
CONFIG_SND_S3C24XX_SOC_NEO1973_WM8753=y
CONFIG_SND_SOC_WM8753=y
CONFIG_SND_S3C24XX_SOC_NEO1973_WM8753=m
CONFIG_SND_SOC_WM8753=m
CONFIG_SND_SOC_UDA1380=m
#
@@ -1515,14 +1528,15 @@ CONFIG_USB_ETH_RNDIS=y
CONFIG_MMC=y
# CONFIG_MMC_DEBUG is not set
CONFIG_MMC_BLOCK=y
CONFIG_MMC_S3C=y
CONFIG_MMC_S3C=m
#
# Real Time Clock
#
CONFIG_RTC_LIB=y
CONFIG_RTC_CLASS=y
# CONFIG_RTC_HCTOSYS is not set
CONFIG_RTC_HCTOSYS=y
CONFIG_RTC_HCTOSYS_DEVICE=rtc0
CONFIG_RTC_DEBUG=y
#
@@ -1566,11 +1580,7 @@ CONFIG_JBD=y
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
CONFIG_FS_POSIX_ACL=y
CONFIG_XFS_FS=m
# CONFIG_XFS_QUOTA is not set
# CONFIG_XFS_SECURITY is not set
# CONFIG_XFS_POSIX_ACL is not set
# CONFIG_XFS_RT is not set
# CONFIG_XFS_FS is not set
# CONFIG_GFS2_FS is not set
# CONFIG_OCFS2_FS is not set
# CONFIG_MINIX_FS is not set
@@ -1623,7 +1633,16 @@ CONFIG_CONFIGFS_FS=m
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
# CONFIG_YAFFS_FS is not set
CONFIG_YAFFS_FS=y
CONFIG_YAFFS_YAFFS1=y
# CONFIG_YAFFS_DOES_ECC is not set
CONFIG_YAFFS_YAFFS2=y
CONFIG_YAFFS_AUTO_YAFFS2=y
# CONFIG_YAFFS_DISABLE_LAZY_LOAD is not set
CONFIG_YAFFS_CHECKPOINT_RESERVED_BLOCKS=10
# CONFIG_YAFFS_DISABLE_WIDE_TNODES is not set
# CONFIG_YAFFS_ALWAYS_CHECK_CHUNK_ERASED is not set
CONFIG_YAFFS_SHORT_NAMES_IN_RAM=y
CONFIG_JFFS2_FS=y
CONFIG_JFFS2_FS_DEBUG=0
CONFIG_JFFS2_FS_WRITEBUFFER=y
@@ -1653,6 +1672,7 @@ CONFIG_NFSD_V3=y
# CONFIG_NFSD_V3_ACL is not set
CONFIG_NFSD_V4=y
CONFIG_NFSD_TCP=y
CONFIG_ROOT_NFS=y
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
CONFIG_EXPORTFS=m
@@ -1749,7 +1769,7 @@ CONFIG_DETECT_SOFTLOCKUP=y
# CONFIG_SCHEDSTATS is not set
CONFIG_TIMER_STATS=y
# CONFIG_DEBUG_SLAB is not set
# CONFIG_DEBUG_PREEMPT 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
@@ -1758,7 +1778,7 @@ CONFIG_TIMER_STATS=y
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
# CONFIG_DEBUG_KOBJECT is not set
CONFIG_DEBUG_BUGVERBOSE=y
# CONFIG_DEBUG_INFO is not set
CONFIG_DEBUG_INFO=y
# CONFIG_DEBUG_VM is not set
# CONFIG_DEBUG_LIST is not set
CONFIG_FRAME_POINTER=y

View File

@@ -0,0 +1,97 @@
diff --git a/drivers/input/evdev.c b/drivers/input/evdev.c
index 12c7ab8..c7e741b 100644
--- a/drivers/input/evdev.c
+++ b/drivers/input/evdev.c
@@ -29,7 +29,7 @@ struct evdev {
char name[16];
struct input_handle handle;
wait_queue_head_t wait;
- struct evdev_list *grab;
+ int grab;
struct list_head list;
};
@@ -37,6 +37,7 @@ struct evdev_list {
struct input_event buffer[EVDEV_BUFFER_SIZE];
int head;
int tail;
+ int grab;
struct fasync_struct *fasync;
struct evdev *evdev;
struct list_head node;
@@ -49,8 +50,7 @@ static void evdev_event(struct input_han
struct evdev *evdev = handle->private;
struct evdev_list *list;
- if (evdev->grab) {
- list = evdev->grab;
+ list_for_each_entry(list, &evdev->list, node) {
do_gettimeofday(&list->buffer[list->head].time);
list->buffer[list->head].type = type;
@@ -59,17 +59,7 @@ static void evdev_event(struct input_han
list->head = (list->head + 1) & (EVDEV_BUFFER_SIZE - 1);
kill_fasync(&list->fasync, SIGIO, POLL_IN);
- } else
- list_for_each_entry(list, &evdev->list, node) {
-
- do_gettimeofday(&list->buffer[list->head].time);
- list->buffer[list->head].type = type;
- list->buffer[list->head].code = code;
- list->buffer[list->head].value = value;
- list->head = (list->head + 1) & (EVDEV_BUFFER_SIZE - 1);
-
- kill_fasync(&list->fasync, SIGIO, POLL_IN);
- }
+ }
wake_up_interruptible(&evdev->wait);
}
@@ -104,9 +94,10 @@ static int evdev_release(struct inode *
{
struct evdev_list *list = file->private_data;
- if (list->evdev->grab == list) {
- input_release_device(&list->evdev->handle);
- list->evdev->grab = NULL;
+ if (list->grab) {
+ if(!--list->evdev->grab && list->evdev->exist)
+ input_release_device(&list->evdev->handle);
+ list->grab = 0;
}
evdev_fasync(-1, file, 0);
@@ -483,17 +474,19 @@ static long evdev_ioctl_handler(struct f
case EVIOCGRAB:
if (p) {
- if (evdev->grab)
- return -EBUSY;
- if (input_grab_device(&evdev->handle))
+ if (list->grab)
return -EBUSY;
- evdev->grab = list;
+ if (!evdev->grab++)
+ if (input_grab_device(&evdev->handle))
+ return -EBUSY;
+ list->grab = 0;
return 0;
} else {
- if (evdev->grab != list)
+ if (!list->grab)
return -EINVAL;
- input_release_device(&evdev->handle);
- evdev->grab = NULL;
+ if (!--evdev->grab)
+ input_release_device(&evdev->handle);
+ list->grab = 0;
return 0;
}
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

View File

@@ -1,22 +0,0 @@
Index: linux-2.6.17.14-fic1/drivers/usb/gadget/s3c2410_udc.c
===================================================================
--- linux-2.6.17.14-fic1.orig/drivers/usb/gadget/s3c2410_udc.c 2006-11-03 01:22:14.000000000 +0100
+++ linux-2.6.17.14-fic1/drivers/usb/gadget/s3c2410_udc.c 2006-11-03 12:41:52.000000000 +0100
@@ -1492,7 +1492,7 @@
return -ENODEV;
if (udc->driver)
return -EBUSY;
- if (!driver->bind || !driver->unbind || !driver->setup
+ if (!driver->bind || !driver->setup
|| driver->speed == USB_SPEED_UNKNOWN)
return -EINVAL;
@@ -1700,6 +1700,8 @@
}
dprintk(DEBUG_VERBOSE, "%s: got irq %i\n", gadget_name, IRQ_USBD);
+ s3c2410_modify_misccr(S3C2410_MISCCR_USBHOST|S3C2410_MISCCR_USBSUSPND0|S3C2410_MISCCR_USBSUSPND1, 0);
+
#ifdef ENABLE_SYSFS
/* create device files */
device_create_file(&pdev->dev, &dev_attr_regs);

View File

@@ -1,10 +0,0 @@
require linux-gta01.inc
DEFAULT_PREFERENCE = "-6"
MOKOR = "moko10"
PR = "${MOKOR}-r0"
VANILLA_VERSION = "2.6.21.1"
SRC_URI += "svn://svn.openmoko.org/trunk/src/target/kernel;module=patches;proto=http;rev=2688"

View File

@@ -0,0 +1,10 @@
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"