aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/configs/m0_00_defconfig67
-rw-r--r--arch/arm/mach-exynos/sec-reboot.c2
-rw-r--r--drivers/input/touchscreen/mms_ts.c3
-rw-r--r--drivers/media/video/mhl/sii9234.c22
-rw-r--r--drivers/media/video/s5c73m3.c26
-rw-r--r--drivers/sensor/cm36651.c10
-rw-r--r--include/asm-generic/emergency-restart.h4
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 */