From: 黄涛 Date: Tue, 23 Aug 2011 06:51:45 +0000 (+0800) Subject: Merge remote-tracking branch 'kernel-2.6.32/develop' into develop-2.6.36 X-Git-Tag: firefly_0821_release~9772 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=237861ff518a4309f892b1597388c62f8f8f4d00;p=firefly-linux-kernel-4.4.55.git Merge remote-tracking branch 'kernel-2.6.32/develop' into develop-2.6.36 Conflicts: .gitignore arch/arm/include/asm/mach/map.h arch/arm/mach-rk29/vpu_service.c drivers/base/power/main.c drivers/gpio/Makefile drivers/input/touchscreen/Kconfig drivers/media/video/Kconfig drivers/media/video/gc0309.c drivers/media/video/gc2015.c drivers/mfd/Kconfig drivers/mfd/Makefile drivers/regulator/Kconfig drivers/regulator/Makefile drivers/usb/gadget/f_mass_storage.c drivers/video/Kconfig --- 237861ff518a4309f892b1597388c62f8f8f4d00 diff --cc .gitignore index 48dce78b1338,d3f61fd66aae..ea3e54bd9701 --- a/.gitignore +++ b/.gitignore @@@ -36,18 -34,13 +36,19 @@@ Untitled Project. # # Top-level generic files # -tags -TAGS -vmlinux -kernel.img -System.map -Module.markers -Module.symvers +/tags +/TAGS +/linux +/vmlinux +/vmlinuz +/System.map +/Module.markers +/Module.symvers ++/kernel.img + +# +# git files that we don't want to ignore even it they are dot-files +# !.gitignore !.mailmap diff --cc Makefile index 389b1844df1e,7be29d6c48cd..12bbf67fd532 --- a/Makefile +++ b/Makefile @@@ -189,14 -181,10 +189,10 @@@ SUBARCH := $(shell uname -m | sed -e s/ # Note: Some architectures assign CROSS_COMPILE in their arch/*/Makefile export KBUILD_BUILDHOST := $(SUBARCH) #ARCH ?= $(SUBARCH) -#CROSS_COMPILE ?= +#CROSS_COMPILE ?= $(CONFIG_CROSS_COMPILE:"%"=%) ARCH ?= arm - ifneq ($(wildcard ../toolchain/arm-eabi-4.4.0),) - CROSS_COMPILE ?= ../toolchain/arm-eabi-4.4.0/bin/arm-eabi- - endif - ifneq ($(wildcard ../prebuilt/linux-x86/toolchain/arm-eabi-4.4.0),) - CROSS_COMPILE ?= ../prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- - endif + #CROSS_COMPILE :=/opt/android0320/mydroid/prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin/arm-eabi- + CROSS_COMPILE ?=../toolchain/arm-eabi-4.4.0/bin/arm-eabi- # Architecture as present in compile.h UTS_MACHINE := $(ARCH) diff --cc arch/arm/include/asm/mach/map.h index d2fedb5aeb1f,1f8efc90ded2..0d96c8c0f6d2 --- a/arch/arm/include/asm/mach/map.h +++ b/arch/arm/include/asm/mach/map.h @@@ -27,8 -27,7 +27,9 @@@ struct map_desc #define MT_MEMORY 9 #define MT_ROM 10 #define MT_MEMORY_NONCACHED 11 -#define MT_DEVICE_STRONGLY_ORDERED 12 +#define MT_MEMORY_DTCM 12 +#define MT_MEMORY_ITCM 13 ++#define MT_DEVICE_STRONGLY_ORDERED 14 #ifdef CONFIG_MMU extern void iotable_init(struct map_desc *, int); diff --cc arch/arm/mach-rk29/board-rk29phonepadsdk.c index 2dcf75d5c4eb,6c09dc89515b..b03ed0dd6590 mode 100755,100644..100644 --- a/arch/arm/mach-rk29/board-rk29phonepadsdk.c +++ b/arch/arm/mach-rk29/board-rk29phonepadsdk.c diff --cc arch/arm/mach-rk29/vpu_service.c index fb146d35c918,1ccc145ddf9d..e36ccb9b5b78 --- a/arch/arm/mach-rk29/vpu_service.c +++ b/arch/arm/mach-rk29/vpu_service.c @@@ -34,8 -34,7 +34,8 @@@ #include #include #include - #include +#include + #include #include diff --cc drivers/base/power/main.c index 1ba3de8015b5,d2226210de41..3bb0cd0b3ebe --- a/drivers/base/power/main.c +++ b/drivers/base/power/main.c @@@ -23,10 -23,12 +23,13 @@@ #include #include #include -#include #include +#include +#include #include + #ifdef CONFIG_ARCH_RK29 + #include + #endif #include "../base.h" #include "power.h" @@@ -632,28 -507,23 +641,34 @@@ static void dpm_resume(pm_message_t sta INIT_LIST_HEAD(&list); mutex_lock(&dpm_list_mtx); - while (!list_empty(&dpm_list)) { - struct device *dev = to_device(dpm_list.next); + pm_transition = state; + list_for_each_entry(dev, &dpm_list, power.entry) { + if (dev->power.status < DPM_OFF) + continue; + + INIT_COMPLETION(dev->power.completion); + if (is_async(dev)) { + get_device(dev); + async_schedule(async_resume, dev); + } + } + + while (!list_empty(&dpm_list)) { + dev = to_device(dpm_list.next); get_device(dev); - if (dev->power.status >= DPM_OFF) { + if (dev->power.status >= DPM_OFF && !is_async(dev)) { int error; - dev->power.status = DPM_RESUMING; mutex_unlock(&dpm_list_mtx); + #ifdef CONFIG_ARCH_RK29 + dpm_drv_wdset(dev); + #endif - error = device_resume(dev, state); + error = device_resume(dev, state, false); + #ifdef CONFIG_ARCH_RK29 + dpm_drv_wdclr(dev); + #endif mutex_lock(&dpm_list_mtx); if (error) diff --cc drivers/input/touchscreen/Kconfig index a6705e36187e,845c63510856..6a00172a05ef mode 100755,100644..100644 --- a/drivers/input/touchscreen/Kconfig +++ b/drivers/input/touchscreen/Kconfig @@@ -858,36 -761,33 +864,65 @@@ config TOUCHSCREEN_FT540 in its table of I2C devices. If unsure, say N(but it's safe to say "Y"). + +config TOUCHSCREEN_TPS6507X + tristate "TPS6507x based touchscreens" + depends on I2C + help + Say Y here if you have a TPS6507x based touchscreen + controller. + + If unsure, say N. + + To compile this driver as a module, choose M here: the + module will be called tps6507x_ts. + +config TOUCHSCREEN_STMPE + tristate "STMicroelectronics STMPE touchscreens" + depends on MFD_STMPE + help + Say Y here if you want support for STMicroelectronics + STMPE touchscreen controllers. + + To compile this driver as a module, choose M here: the + module will be called stmpe-ts. + +config TOUCHSCREEN_QUANTUM_OBP + tristate "Quantum OBP based touchscreens" + depends on I2C + help + Say Y here if you have a Quantum touchscreen that uses + the Object Based Protocol based firmware. + + If unsure, say N. + + config ATMEL_MXT1386 + tristate "ATMEL_MXT1386 touchscreen panel support" + depends on I2C + help + Say Y here to enable support for I2C connected ATMEL_MXT1386 touch panels. + + To compile this driver as a module, choose M here: the + module will be called atmel_mxt1386_ts. + + config ATMEL_MXT1386_MAX_X + int "ATMEL_MXT1386_MAX_X" + depends on ATMEL_MXT1386 + default 4095 + help + RK29 ATMEL_MXT1386 touch max X size + + config ATMEL_MXT1386_MAX_Y + int "ATMEL_MXT1386_MAX_Y" + depends on ATMEL_MXT1386 + default 4095 + help + RK29 ATMEL_MXT1386 touch max Y size + + config ATMEL_MXT1386_DEBUG + bool "ATMEL_MXT1386 debug" + depends on ATMEL_MXT1386 + default n + help + RK29 ATMEL_MXT1386 touch debug endif diff --cc drivers/media/video/Kconfig index 551ef42ecb03,59219546784d..eb5a53dc52c7 --- a/drivers/media/video/Kconfig +++ b/drivers/media/video/Kconfig @@@ -965,8 -981,12 +965,14 @@@ config SOC_CAMERA_GT200 tristate "GT2005 support" depends on SOC_CAMERA && I2C help - This is a GT2005 camera driver + This is a GT2005 camera driver + + config SOC_CAMERA_GC0307 + tristate "GC0307 support" + depends on SOC_CAMERA && I2C + help + This is a GC0307 camera driver ++ config SOC_CAMERA_GC0308 tristate "GC0308 support" depends on SOC_CAMERA && I2C diff --cc drivers/media/video/gc0309.c index a36cb41c4071,404628c9f9fe..23a3ac0666f8 mode 100755,100644..100644 --- a/drivers/media/video/gc0309.c +++ b/drivers/media/video/gc0309.c diff --cc drivers/media/video/gc2015.c index 4ffe4974be07,a73c7dc07f28..657a3a6ce1b1 --- a/drivers/media/video/gc2015.c +++ b/drivers/media/video/gc2015.c @@@ -46,14 -46,14 +46,14 @@@ module_param(debug, int, S_IRUGO|S_IWUS #define SENSOR_NAME RK29_CAM_SENSOR_GC2015 #define SENSOR_V4L2_IDENT V4L2_IDENT_GC2015 #define SENSOR_ID 0x2005 - #define SENSOR_MIN_WIDTH 176 - #define SENSOR_MIN_HEIGHT 144 + #define SENSOR_MIN_WIDTH 640 + #define SENSOR_MIN_HEIGHT 480 #define SENSOR_MAX_WIDTH 1600 #define SENSOR_MAX_HEIGHT 1200 - #define SENSOR_INIT_WIDTH 1024 /* Sensor pixel size for sensor_init_data array */ - #define SENSOR_INIT_HEIGHT 768 + #define SENSOR_INIT_WIDTH 800//1024 /* Sensor pixel size for sensor_init_data array */ + #define SENSOR_INIT_HEIGHT 600//768 #define SENSOR_INIT_WINSEQADR sensor_svga -#define SENSOR_INIT_PIXFMT V4L2_PIX_FMT_UYVY +#define SENSOR_INIT_PIXFMT V4L2_MBUS_FMT_UYVY8_2X8 #define CONFIG_SENSOR_WhiteBalance 1 #define CONFIG_SENSOR_Brightness 0 @@@ -1571,18 -1839,14 +1864,20 @@@ static int sensor_s_fmt(struct v4l2_sub struct soc_camera_device *icd = client->dev.platform_data; struct reginfo *winseqe_set_addr=NULL; int ret=0, set_w,set_h; + + u32 gc2015_shutter; - SENSOR_TR("sensor_s_fmt\n"); - if (sensor->info_priv.pixfmt != pix->pixelformat) { - switch (pix->pixelformat) + fmt = sensor_find_datafmt(mf->code, sensor_colour_fmts, + ARRAY_SIZE(sensor_colour_fmts)); + if (!fmt) { + ret = -EINVAL; + goto sensor_s_fmt_end; + } + + if (sensor->info_priv.fmt.code != mf->code) { + switch (mf->code) { - case V4L2_PIX_FMT_YUYV: + case V4L2_MBUS_FMT_YUYV8_2X8: { winseqe_set_addr = sensor_ClrFmt_YUYV; break; diff --cc drivers/media/video/rk29_camera.c index f4bcf2023b93,543b0728473e..08fa9f9b7257 mode 100755,100644..100644 --- a/drivers/media/video/rk29_camera.c +++ b/drivers/media/video/rk29_camera.c diff --cc drivers/net/usb/usbnet.c index c04d49e31f81,07a03c95af29..2928586bcb82 --- a/drivers/net/usb/usbnet.c +++ b/drivers/net/usb/usbnet.c @@@ -325,12 -335,13 +328,12 @@@ static int rx_submit (struct usbnet *de size_t size = dev->rx_urb_size; if ((skb = alloc_skb (size + NET_IP_ALIGN, flags)) == NULL) { - if (netif_msg_rx_err (dev)) - devdbg (dev, "no rx skb"); + netif_dbg(dev, rx_err, dev->net, "no rx skb\n"); usbnet_defer_kevent (dev, EVENT_RX_MEMORY); usb_free_urb (urb); - return; + return -ENOMEM; } - skb_reserve (skb, NET_IP_ALIGN); + //skb_reserve (skb, NET_IP_ALIGN); //ylz++ entry = (struct skb_data *) skb->cb; entry->urb = urb; diff --cc drivers/power/Kconfig index 8aeff33f3f27,fd6167828cfc..5cb348f382c2 mode 100644,100755..100755 --- a/drivers/power/Kconfig +++ b/drivers/power/Kconfig diff --cc drivers/regulator/Kconfig index eb8fef7fecd6,6399e8c5482e..bcc31369b031 mode 100644,100755..100755 --- a/drivers/regulator/Kconfig +++ b/drivers/regulator/Kconfig diff --cc drivers/regulator/Makefile index 3e61254569c4,ec0e204b5541..3e61254569c4 mode 100644,100755..100755 --- a/drivers/regulator/Makefile +++ b/drivers/regulator/Makefile diff --cc drivers/usb/gadget/f_mass_storage.c index 1a5119c1af4c,77a143809323..0bd01f79778b mode 100644,100755..100644 --- a/drivers/usb/gadget/f_mass_storage.c +++ b/drivers/usb/gadget/f_mass_storage.c @@@ -809,10 -840,17 +809,17 @@@ static int do_read(struct fsg_common *c amount = min(amount, (unsigned int) PAGE_CACHE_SIZE - partial_page); + /* kever@rk + * max size for dwc_otg ctonroller is 64(max pkt sizt) * 1023(pkt) + * because of the DOEPTSIZ.PKTCNT has only 10 bits + */ + if((fsg->cdev->gadget->speed != USB_SPEED_HIGH)&&(amount >0x8000)) + amount = 0x8000; + /* Wait for the next buffer to become available */ - bh = fsg->next_buffhd_to_fill; + bh = common->next_buffhd_to_fill; while (bh->state != BUF_STATE_EMPTY) { - rc = sleep_thread(fsg); + rc = sleep_thread(common); if (rc) return rc; } diff --cc drivers/video/Kconfig index f1d0463d086b,68df978a8008..cc69fdead40c --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@@ -2019,27 -1964,12 +2019,33 @@@ config FB_ROTATE_VIDE ---help--- this function can use to rotate video . + config CLOSE_WIN1_DYNAMIC + bool "close win1 dynamically when video" + depends on FB_RK29 + ---help--- + this function can close win1 when video and it have no data in fb0 + +config FB_NUC900 + bool "NUC900 LCD framebuffer support" + depends on FB && ARCH_W90X900 + select FB_CFB_FILLRECT + select FB_CFB_COPYAREA + select FB_CFB_IMAGEBLIT + ---help--- + Frame buffer driver for the built-in LCD controller in the Nuvoton + NUC900 processor + +config GPM1040A0_320X240 + bool "Giantplus Technology GPM1040A0 320x240 Color TFT LCD" + depends on FB_NUC900 + +config FB_NUC900_DEBUG + bool "NUC900 lcd debug messages" + depends on FB_NUC900 + help + Turn on debugging messages. Note that you can set/unset at run time + through sysfs + config FB_SM501 tristate "Silicon Motion SM501 framebuffer support" depends on FB && MFD_SM501 diff --cc include/media/v4l2-chip-ident.h index b61d1c937534,a1a3c140e510..7482878f63db --- a/include/media/v4l2-chip-ident.h +++ b/include/media/v4l2-chip-ident.h @@@ -322,8 -276,12 +322,9 @@@ enum /* module upd64083: just ident 64083 */ V4L2_IDENT_UPD64083 = 64083, - /* module m52790: just ident 52790 */ - V4L2_IDENT_M52790 = 52790, - - V4L2_IDENT_GT2005 = 64100, /* ddl@rock-chips.com : GT2005 support */ + V4L2_IDENT_GT2005 = 64099, /* ddl@rock-chips.com : GT2005 support */ + V4L2_IDENT_GC0307 = 64100, /* ddl@rock-chips.com : GC0308 support */ V4L2_IDENT_GC0308 = 64101, /* ddl@rock-chips.com : GC0308 support */ V4L2_IDENT_GC0309 = 64102, /* ddl@rock-chips.com : GC0309 support */ V4L2_IDENT_SIV120B = 64103, /* ddl@rock-chips.com : siv120b support */