diff options
-rw-r--r-- | arch/arm/configs/m0_00_defconfig | 67 | ||||
-rw-r--r-- | arch/arm/mach-exynos/sec-reboot.c | 2 | ||||
-rw-r--r-- | drivers/input/touchscreen/mms_ts.c | 3 | ||||
-rw-r--r-- | drivers/media/video/mhl/sii9234.c | 22 | ||||
-rw-r--r-- | drivers/media/video/s5c73m3.c | 26 | ||||
-rw-r--r-- | drivers/sensor/cm36651.c | 10 | ||||
-rw-r--r-- | include/asm-generic/emergency-restart.h | 4 |
7 files changed, 74 insertions, 60 deletions
diff --git a/arch/arm/configs/m0_00_defconfig b/arch/arm/configs/m0_00_defconfig index f8eaf59..8da644e 100644 --- a/arch/arm/configs/m0_00_defconfig +++ b/arch/arm/configs/m0_00_defconfig @@ -13,6 +13,7 @@ CONFIG_KTIME_SCALAR=y CONFIG_HAVE_PROC_CPU=y CONFIG_NO_IOPORT=y CONFIG_STACKTRACE_SUPPORT=y +CONFIG_HAVE_LATENCYTOP_SUPPORT=y CONFIG_LOCKDEP_SUPPORT=y CONFIG_TRACE_IRQFLAGS_SUPPORT=y CONFIG_HARDIRQS_SW_RESEND=y @@ -29,7 +30,6 @@ CONFIG_ARM_PATCH_PHYS_VIRT=y CONFIG_ARCH_HIBERNATION_POSSIBLE=y CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" CONFIG_HAVE_IRQ_WORK=y -CONFIG_IRQ_WORK=y # # General setup @@ -85,7 +85,6 @@ CONFIG_CGROUP_FREEZER=y CONFIG_CGROUP_CPUACCT=y CONFIG_RESOURCE_COUNTERS=y # CONFIG_CGROUP_MEM_RES_CTLR is not set -# CONFIG_CGROUP_PERF is not set CONFIG_CGROUP_SCHED=y CONFIG_FAIR_GROUP_SCHED=y CONFIG_RT_GROUP_SCHED=y @@ -136,16 +135,15 @@ CONFIG_PERF_USE_VMALLOC=y # # Kernel Performance Events And Counters # +# CONFIG_PERF_EVENTS is not set # CONFIG_PERF_COUNTERS is not set -# CONFIG_DEBUG_PERF_USE_VMALLOC is not set CONFIG_VM_EVENT_COUNTERS=y -CONFIG_SLUB_DEBUG=y +# CONFIG_SLUB_DEBUG is not set CONFIG_COMPAT_BRK=y # CONFIG_SLAB is not set CONFIG_SLUB=y # CONFIG_SLOB is not set -CONFIG_TRACEPOINTS=y -CONFIG_OPROFILE=y +# CONFIG_PROFILING is not set CONFIG_HAVE_OPROFILE=y # CONFIG_KPROBES is not set CONFIG_HAVE_KPROBES=y @@ -154,14 +152,12 @@ CONFIG_USE_GENERIC_SMP_HELPERS=y CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y CONFIG_HAVE_CLK=y CONFIG_HAVE_DMA_API_DEBUG=y -CONFIG_HAVE_HW_BREAKPOINT=y # # GCOV-based kernel profiling # # CONFIG_GCOV_KERNEL is not set CONFIG_HAVE_GENERIC_DMA_COHERENT=y -CONFIG_SLABINFO=y CONFIG_RT_MUTEXES=y CONFIG_BASE_SMALL=0 CONFIG_MODULES=y @@ -214,7 +210,7 @@ CONFIG_DEFAULT_IOSCHED="cfq" # CONFIG_INLINE_WRITE_UNLOCK_BH is not set # CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set -# CONFIG_MUTEX_SPIN_ON_OWNER is not set +CONFIG_MUTEX_SPIN_ON_OWNER=y CONFIG_FREEZER=y # @@ -287,7 +283,6 @@ CONFIG_S3C_ADDR_BASE=0xFC000000 # # Boot options # -# CONFIG_S3C_BOOT_WATCHDOG is not set # CONFIG_S3C_BOOT_ERROR_RESET is not set CONFIG_S3C_BOOT_UART_FORCE_FIFO=y CONFIG_S3C_LOWLEVEL_UART_PORT=2 @@ -396,7 +391,7 @@ CONFIG_EXYNOS4_CPUFREQ=y # CONFIG_EXYNOS4X12_1500MHZ_SUPPORT is not set CONFIG_EXYNOS4X12_1400MHZ_SUPPORT=y # CONFIG_EXYNOS4X12_1200MHZ_SUPPORT is not set -# CONFIG_EXYNOS4212_1000MHZ_SUPPORT is not set +# CONFIG_EXYNOS4X12_1000MHZ_SUPPORT is not set CONFIG_MIDAS_COMMON=y # @@ -454,13 +449,11 @@ CONFIG_MACH_M0=y # CONFIG_MACH_S2PLUS is not set # CONFIG_MACH_P4NOTE is not set # CONFIG_MACH_GC1 is not set +# CONFIG_MACH_T0 is not set CONFIG_MIDAS_COMMON_BD=y # CONFIG_P4NOTE_00_BD is not set # CONFIG_GC1_00_BD is not set -# CONFIG_SLP is not set -# CONFIG_GPS_BCM47511 is not set -# CONFIG_GPIO_NAPLES_00_BD is not set -# CONFIG_EXYNOS4_DEV_TMU is not set +# CONFIG_T0_00_BD is not set # CONFIG_WRITEBACK_ENABLED is not set # CONFIG_EXYNOS5_DEV_BTS is not set @@ -497,6 +490,7 @@ CONFIG_EXYNOS4_MSHC_DDR=y # CONFIG_SEC_DEBUG=y CONFIG_SEC_DEBUG_SCHED_LOG=y +# CONFIG_SEC_DEBUG_SOFTIRQ_LOG is not set CONFIG_SEC_DEBUG_SCHED_LOG_NONCACHED=y # CONFIG_SEC_DEBUG_SEMAPHORE_LOG is not set CONFIG_SEC_DEBUG_USER=y @@ -542,7 +536,7 @@ CONFIG_BT_MGMT=y # CONFIG_QC_MODEM is not set # CONFIG_MSM_SUBSYSTEM_RESTART is not set # CONFIG_QC_MODEM_MDM9X15 is not set -# CONFIG_SAMSUNG_PRODUCT_SHIP is not set +CONFIG_SAMSUNG_PRODUCT_SHIP=y # # Processor Type @@ -639,14 +633,13 @@ CONFIG_HAVE_ARCH_PFN_VALID=y CONFIG_ARCH_SKIP_SECONDARY_CALIBRATE=y CONFIG_HIGHMEM=y # CONFIG_HIGHPTE is not set -CONFIG_HW_PERF_EVENTS=y CONFIG_SELECT_MEMORY_MODEL=y CONFIG_FLATMEM_MANUAL=y CONFIG_FLATMEM=y CONFIG_FLAT_NODE_MEM_MAP=y CONFIG_HAVE_MEMBLOCK=y CONFIG_PAGEFLAGS_EXTENDED=y -CONFIG_SPLIT_PTLOCK_CPUS=999999 +CONFIG_SPLIT_PTLOCK_CPUS=4 CONFIG_COMPACTION=y CONFIG_MIGRATION=y # CONFIG_PHYS_ADDR_T_64BIT is not set @@ -667,6 +660,7 @@ CONFIG_ALIGNMENT_TRAP=y # CONFIG_DEPRECATED_PARAM_STRUCT is not set CONFIG_ARM_FLUSH_CONSOLE_ON_RESTART=y CONFIG_VMWARE_MVP=y +# CONFIG_VMWARE_MVP_DEBUG is not set # # Boot options @@ -711,6 +705,7 @@ CONFIG_CPU_FREQ_GOV_ONDEMAND=y # CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set # CONFIG_CPU_FREQ_GOV_ADAPTIVE is not set CONFIG_CPU_FREQ_GOV_PEGASUSQ=y +# CONFIG_CPU_FREQ_DVFS_MONITOR is not set CONFIG_CPU_IDLE=y CONFIG_CPU_IDLE_GOV_LADDER=y CONFIG_CPU_IDLE_GOV_MENU=y @@ -1088,7 +1083,6 @@ CONFIG_XPS=y # Network testing # # CONFIG_NET_PKTGEN is not set -# CONFIG_NET_DROP_MONITOR is not set # CONFIG_HAMRADIO is not set # CONFIG_CAN is not set # CONFIG_IRDA is not set @@ -2025,6 +2019,7 @@ CONFIG_VIDEO_TVOUT_5_1CH_AUDIO=y # CONFIG_HDMI_CEC is not set CONFIG_HDMI_EARJACK_MUTE=y CONFIG_HDMI_HPD=y +# CONFIG_HDMI_CONTROLLED_BY_EXT_IC is not set CONFIG_HDMI_SWITCH_HPD=y CONFIG_HDMI_14A_3D=y CONFIG_HDMI_PHY_32N=y @@ -2968,12 +2963,13 @@ CONFIG_SCHED_DEBUG=y CONFIG_SCHEDSTATS=y CONFIG_TIMER_STATS=y # CONFIG_DEBUG_OBJECTS is not set -# CONFIG_SLUB_DEBUG_ON is not set # CONFIG_SLUB_STATS is not set # CONFIG_DEBUG_KMEMLEAK is not set -CONFIG_DEBUG_PI_LIST=y +# CONFIG_DEBUG_PREEMPT is not set +# CONFIG_DEBUG_RT_MUTEXES is not set # CONFIG_RT_MUTEX_TESTER is not set -CONFIG_DEBUG_SPINLOCK=y +# 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_SPARSE_RCU_POINTER is not set @@ -3012,36 +3008,16 @@ CONFIG_FAULT_INJECTION=y # CONFIG_FAIL_MAKE_REQUEST is not set # CONFIG_FAIL_IO_TIMEOUT is not set # CONFIG_FAULT_INJECTION_DEBUG_FS is not set +# CONFIG_LATENCYTOP is not set CONFIG_SYSCTL_SYSCALL_CHECK=y # CONFIG_DEBUG_PAGEALLOC is not set -CONFIG_NOP_TRACER=y CONFIG_HAVE_FUNCTION_TRACER=y CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y CONFIG_HAVE_DYNAMIC_FTRACE=y CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y CONFIG_HAVE_C_RECORDMCOUNT=y -CONFIG_RING_BUFFER=y -CONFIG_EVENT_TRACING=y -CONFIG_EVENT_POWER_TRACING_DEPRECATED=y -CONFIG_CONTEXT_SWITCH_TRACER=y -CONFIG_RING_BUFFER_ALLOW_SWAP=y -CONFIG_TRACING=y -CONFIG_GENERIC_TRACER=y CONFIG_TRACING_SUPPORT=y -CONFIG_FUNCTION_TRACER=y -CONFIG_FUNCTION_GRAPH_TRACER=y -# CONFIG_IRQSOFF_TRACER is not set -# CONFIG_PREEMPT_TRACER is not set -# CONFIG_SCHED_TRACER is not set -CONFIG_BRANCH_PROFILE_NONE=y -# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set -# CONFIG_PROFILE_ALL_BRANCHES is not set -# CONFIG_STACK_TRACER is not set -CONFIG_DYNAMIC_FTRACE=y -CONFIG_FUNCTION_PROFILER=y -CONFIG_FTRACE_MCOUNT_RECORD=y -# CONFIG_FTRACE_STARTUP_TEST is not set -# CONFIG_RING_BUFFER_BENCHMARK is not set +# CONFIG_FTRACE is not set # CONFIG_DYNAMIC_DEBUG is not set # CONFIG_DMA_API_DEBUG is not set # CONFIG_ATOMIC64_SELFTEST is not set @@ -3051,7 +3027,6 @@ CONFIG_HAVE_ARCH_KGDB=y # CONFIG_TEST_KSTRTOX is not set # CONFIG_STRICT_DEVMEM is not set # CONFIG_ARM_UNWIND is not set -CONFIG_OLD_MCOUNT=y CONFIG_DEBUG_USER=y # CONFIG_DEBUG_LL is not set # CONFIG_OC_ETM is not set @@ -3173,7 +3148,7 @@ CONFIG_CRYPTO_DEFLATE=y # CONFIG_CRYPTO_USER_API_SKCIPHER is not set CONFIG_CRYPTO_HW=y # CONFIG_CRYPTO_S5P_DEV_ACE is not set -CONFIG_BINARY_PRINTF=y +# CONFIG_BINARY_PRINTF is not set # # Library routines diff --git a/arch/arm/mach-exynos/sec-reboot.c b/arch/arm/mach-exynos/sec-reboot.c index 7b2e6e5..fd70fc6 100644 --- a/arch/arm/mach-exynos/sec-reboot.c +++ b/arch/arm/mach-exynos/sec-reboot.c @@ -112,6 +112,8 @@ static void sec_reboot(char str, const char *cmd) && !kstrtoul(cmd + 3, 0, &value)) writel(REBOOT_SET_PREFIX | REBOOT_SET_SUD | value, S5P_INFORM3); + else if (!strncmp(cmd, "emergency", 9)) + writel(0, S5P_INFORM3); else writel(REBOOT_MODE_PREFIX | REBOOT_MODE_NONE, S5P_INFORM3); diff --git a/drivers/input/touchscreen/mms_ts.c b/drivers/input/touchscreen/mms_ts.c index 3a7070d..058cc89 100644 --- a/drivers/input/touchscreen/mms_ts.c +++ b/drivers/input/touchscreen/mms_ts.c @@ -3253,6 +3253,8 @@ static int __devinit mms_ts_probe(struct i2c_client *client, info->max_y = 1280; } + i2c_set_clientdata(client, info); + info->callbacks.inform_charger = melfas_ta_cb; if (info->register_cb) info->register_cb(&info->callbacks); @@ -3260,7 +3262,6 @@ static int __devinit mms_ts_probe(struct i2c_client *client, info->pdata->power(true); msleep(100); - i2c_set_clientdata(client, info); ret = i2c_master_recv(client, buf, 1); if (ret < 0) { /* tsp connect check */ pr_err("%s: i2c fail...tsp driver unload [%d], Add[%d]\n", diff --git a/drivers/media/video/mhl/sii9234.c b/drivers/media/video/mhl/sii9234.c index c3fc95b..8ca25c6 100644 --- a/drivers/media/video/mhl/sii9234.c +++ b/drivers/media/video/mhl/sii9234.c @@ -1655,10 +1655,32 @@ void sii9234_process_msc_work(struct work_struct *work) } break; case CBUS_WRITE_STAT: + pr_debug("sii9234: cbus_command_response" + "CBUS_WRITE_STAT\n"); + cbus_read_reg(sii9234, CBUS_MSC_FIRST_DATA_IN_REG, + &p_msc_pkt->data_1); break; case CBUS_SET_INT: + if ((p_msc_pkt->offset == MHL_RCHANGE_INT) && + (p_msc_pkt->data_1 == MHL_INT_DSCR_CHG)) { + /* Write burst final step... + Req->GRT->Write->DSCR */ + pr_debug("sii9234: MHL_RCHANGE_INT &" + "MHL_INT_DSCR_CHG\n"); + } else if (p_msc_pkt->offset == MHL_RCHANGE_INT && + p_msc_pkt->data_1 == MHL_INT_DCAP_CHG) { + sii9234_enqueue_msc_work(sii9234, + CBUS_WRITE_STAT, + MHL_STATUS_REG_CONNECTED_RDY, + MHL_STATUS_DCAP_READY, 0x0); + } break; case CBUS_WRITE_BURST: + pr_debug("sii9234: cbus_command_response" + "MHL_WRITE_BURST\n"); + p_msc_pkt->command = CBUS_IDLE; + sii9234_enqueue_msc_work(sii9234, CBUS_SET_INT, + MHL_RCHANGE_INT, MHL_INT_DSCR_CHG, 0x0); break; case CBUS_READ_DEVCAP: ret = cbus_read_reg(sii9234, diff --git a/drivers/media/video/s5c73m3.c b/drivers/media/video/s5c73m3.c index 07fab10..ea07a34 100644 --- a/drivers/media/video/s5c73m3.c +++ b/drivers/media/video/s5c73m3.c @@ -802,6 +802,7 @@ static int s5c73m3_get_phone_fw_version(struct v4l2_subdev *sd) int err = 0; int retVal = 0; int fw_requested = 1; + int copied_fw_binary = 0; if (state->sensor_fw[0] == 'O') { sprintf(fw_path, "SlimISP_G%c.bin", @@ -895,19 +896,25 @@ request_fw: CHECK_ERR(retVal); retVal = s5c73m3_get_sensor_fw_binary(sd); CHECK_ERR(retVal); + copied_fw_binary = 1; goto request_fw; } + } + if (copied_fw_binary) { memcpy(state->phone_fw, - camfw_info[state->fw_index].ver, + state->sensor_fw, S5C73M3_FW_VER_LEN); - } + state->phone_fw[S5C73M3_FW_VER_LEN+1] = ' '; + } else { memcpy(state->phone_fw, camfw_info[state->fw_index].ver, S5C73M3_FW_VER_LEN); state->phone_fw[S5C73M3_FW_VER_LEN+1] = ' '; - - memcpy(sysfs_phone_fw, state->phone_fw, sizeof(state->phone_fw)); + } + memcpy(sysfs_phone_fw, + state->phone_fw, + sizeof(state->phone_fw)); cam_dbg("Phone_version = %s(index=%d)\n", state->phone_fw, state->fw_index); @@ -1083,6 +1090,17 @@ static int s5c73m3_check_fw(struct v4l2_subdev *sd, int download) #else err = s5c73m3_get_sensor_fw_binary(sd); CHECK_ERR(err); + + memcpy(state->phone_fw, + state->sensor_fw, + S5C73M3_FW_VER_LEN); + state->phone_fw[S5C73M3_FW_VER_LEN+1] = ' '; + + memcpy(sysfs_phone_fw, + state->phone_fw, + sizeof(state->phone_fw)); + cam_dbg("Changed to Phone_version = %s\n", + state->phone_fw); #endif } diff --git a/drivers/sensor/cm36651.c b/drivers/sensor/cm36651.c index b9650d5..e607ca5 100644 --- a/drivers/sensor/cm36651.c +++ b/drivers/sensor/cm36651.c @@ -79,11 +79,7 @@ #define CM36651_CANCELATION #ifdef CM36651_CANCELATION #define CANCELATION_FILE_PATH "/efs/prox_cal" -#ifndef CONFIG_MACH_M0 -#define CANCELATION_THRESHOLD 7 -#else -#define CANCELATION_THRESHOLD 6 -#endif +#define CANCELATION_THRESHOLD 9 #endif #define PROX_READ_NUM 40 @@ -375,14 +371,10 @@ static int proximity_store_cancelation(struct device *dev, bool do_calib) int err = 0; if (do_calib) { -#ifndef CONFIG_MACH_M0 mutex_lock(&cm36651->read_lock); cm36651_i2c_read_byte(cm36651, CM36651_PS, &ps_reg_setting[2][1]); mutex_unlock(&cm36651->read_lock); -#else - ps_reg_setting[2][1] = 7; -#endif ps_reg_setting[1][1] = CANCELATION_THRESHOLD; } else { /* reset */ ps_reg_setting[2][1] = 0; diff --git a/include/asm-generic/emergency-restart.h b/include/asm-generic/emergency-restart.h index 0d68a1e..0d2f6fd 100644 --- a/include/asm-generic/emergency-restart.h +++ b/include/asm-generic/emergency-restart.h @@ -3,7 +3,11 @@ static inline void machine_emergency_restart(void) { +#ifdef CONFIG_ANDROID_WIP + machine_restart("emergency"); +#else machine_restart(NULL); +#endif } #endif /* _ASM_GENERIC_EMERGENCY_RESTART_H */ |