From: Huang, Tao Date: Wed, 26 Jul 2017 11:32:04 +0000 (+0800) Subject: Merge tag 'lsk-v4.4-17.07-android' of git://git.linaro.org/kernel/linux-linaro-stable.git X-Git-Tag: release-20171130_firefly~4^2~100 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=6ee6d6d68b2acb6de8590f8ff7c25cc35b2aefca;p=firefly-linux-kernel-4.4.55.git Merge tag 'lsk-v4.4-17.07-android' of git://git.linaro.org/kernel/linux-linaro-stable.git LSK 17.07 v4.4-android * tag 'lsk-v4.4-17.07-android': (402 commits) dt/vendor-prefixes: remove redundant vendor Linux 4.4.77 saa7134: fix warm Medion 7134 EEPROM read x86/mm/pat: Don't report PAT on CPUs that don't support it ext4: check return value of kstrtoull correctly in reserved_clusters_store staging: comedi: fix clean-up of comedi_class in comedi_init() staging: vt6556: vnt_start Fix missing call to vnt_key_init_table. tcp: fix tcp_mark_head_lost to check skb len before fragmenting md: fix super_offset endianness in super_1_rdev_size_change md: fix incorrect use of lexx_to_cpu in does_sb_need_changing perf tools: Use readdir() instead of deprecated readdir_r() again perf tests: Remove wrong semicolon in while loop in CQM test perf trace: Do not process PERF_RECORD_LOST twice perf dwarf: Guard !x86_64 definitions under #ifdef else clause perf pmu: Fix misleadingly indented assignment (whitespace) perf annotate browser: Fix behaviour of Shift-Tab with nothing focussed perf tools: Remove duplicate const qualifier perf script: Use readdir() instead of deprecated readdir_r() perf thread_map: Use readdir() instead of deprecated readdir_r() perf tools: Use readdir() instead of deprecated readdir_r() ... Conflicts: Makefile drivers/Kconfig drivers/Makefile drivers/usb/dwc3/gadget.c Change-Id: Ib4aae2e34ebbf0d7953c748a33f673acb3e744fc --- 6ee6d6d68b2acb6de8590f8ff7c25cc35b2aefca diff --cc Makefile index e65600a26238,0372b7517112..bc99cfe86851 --- a/Makefile +++ b/Makefile @@@ -650,6 -633,12 +650,17 @@@ endi # Tell gcc to never replace conditional load with a non-conditional one KBUILD_CFLAGS += $(call cc-option,--param=allow-store-data-races=0) + # check for 'asm goto' + ifeq ($(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-goto.sh $(CC) $(KBUILD_CFLAGS)), y) + KBUILD_CFLAGS += -DCC_HAVE_ASM_GOTO + KBUILD_AFLAGS += -DCC_HAVE_ASM_GOTO ++else ifneq ($(findstring aarch64-linux-android, $(CROSS_COMPILE)),) ++# It seems than android gcc can't pass gcc-goto.sh check, but asm goto work. ++# So let's active it. ++ KBUILD_CFLAGS += -DCC_HAVE_ASM_GOTO ++ KBUILD_AFLAGS += -DCC_HAVE_ASM_GOTO + endif + ifdef CONFIG_READABLE_ASM # Disable optimizations that make assembler listings hard to read. # reorder blocks reorders the control in the function diff --cc arch/arm64/kernel/armv8_deprecated.c index 884b317e56c3,373a80e9ed67..10d3642deb7c --- a/arch/arm64/kernel/armv8_deprecated.c +++ b/arch/arm64/kernel/armv8_deprecated.c @@@ -299,8 -299,9 +299,9 @@@ do { _ASM_EXTABLE(0b, 4b) \ _ASM_EXTABLE(1b, 4b) \ : "=&r" (res), "+r" (data), "=&r" (temp) \ - : "r" (addr), "i" (-EAGAIN), "i" (-EFAULT) \ + : "r" ((unsigned long)addr), "i" (-EAGAIN), \ + "i" (-EFAULT) \ - : "memory") + : "memory"); \ uaccess_disable(); \ } while (0) diff --cc drivers/Kconfig index a1a41f20b7a3,63baceb6c118..4f5b62381941 --- a/drivers/Kconfig +++ b/drivers/Kconfig @@@ -200,8 -198,6 +200,10 @@@ source "drivers/hwtracing/intel_th/Kcon source "drivers/fpga/Kconfig" + source "drivers/tee/Kconfig" + +source "drivers/rk_nand/Kconfig" + +source "drivers/headset_observe/Kconfig" + endmenu diff --cc drivers/Makefile index eb16de1014f8,a2a1fbd53bbe..3aa00384faf6 --- a/drivers/Makefile +++ b/drivers/Makefile @@@ -174,5 -173,4 +174,6 @@@ obj-$(CONFIG_STM) += hwtracing/stm obj-$(CONFIG_ANDROID) += android/ obj-$(CONFIG_NVMEM) += nvmem/ obj-$(CONFIG_FPGA) += fpga/ + obj-$(CONFIG_TEE) += tee/ +obj-$(CONFIG_RK_NAND) += rk_nand/ +obj-$(CONFIG_RK_HEADSET) += headset_observe/ diff --cc drivers/usb/dwc3/dwc3-st.c index 89a2f712fdfe,81db2fa08cad..b163f7647162 --- a/drivers/usb/dwc3/dwc3-st.c +++ b/drivers/usb/dwc3/dwc3-st.c @@@ -230,11 -224,10 +230,11 @@@ static int st_dwc3_probe(struct platfor dwc3_data->syscfg_reg_off = res->start; - dev_vdbg(&pdev->dev, "glue-logic addr 0x%p, syscfg-reg offset 0x%x\n", + dev_vdbg(&pdev->dev, "glue-logic addr 0x%pK, syscfg-reg offset 0x%x\n", dwc3_data->glue_base, dwc3_data->syscfg_reg_off); - dwc3_data->rstc_pwrdn = devm_reset_control_get(dev, "powerdown"); + dwc3_data->rstc_pwrdn = + devm_reset_control_get_exclusive(dev, "powerdown"); if (IS_ERR(dwc3_data->rstc_pwrdn)) { dev_err(&pdev->dev, "could not get power controller\n"); ret = PTR_ERR(dwc3_data->rstc_pwrdn); diff --cc drivers/usb/dwc3/gadget.c index 46c7bb4cfd10,d3bd1afd6302..24c851dd1736 --- a/drivers/usb/dwc3/gadget.c +++ b/drivers/usb/dwc3/gadget.c @@@ -1093,22 -1095,6 +1093,22 @@@ static int __dwc3_gadget_ep_queue(struc struct dwc3 *dwc = dep->dwc; int ret; + if (!dep->endpoint.desc) { + dwc3_trace(trace_dwc3_gadget, + "trying to queue request %p to disabled %s", + &req->request, dep->endpoint.name); + return -ESHUTDOWN; + } + - if (WARN(req->dep != dep, "request %p belongs to '%s'\n", ++ if (WARN(req->dep != dep, "request %pK belongs to '%s'\n", + &req->request, req->dep->name)) { + dwc3_trace(trace_dwc3_gadget, "request %p belongs to '%s'", + &req->request, req->dep->name); + return -EINVAL; + } + + pm_runtime_get(dwc->dev); + req->request.actual = 0; req->request.status = -EINPROGRESS; req->direction = dep->direction;