# git rev-parse -q --verify 8148c17b179d8acad190551fe0fb90d8f5193990^{commit} 8148c17b179d8acad190551fe0fb90d8f5193990 already have revision, skipping fetch # git checkout -q -f -B kisskb 8148c17b179d8acad190551fe0fb90d8f5193990 # git clean -qxdf # < git log -1 # commit 8148c17b179d8acad190551fe0fb90d8f5193990 # Merge: 6fe567df04a2 0fbee1df2078 # Author: Linus Torvalds # Date: Sat May 11 10:54:43 2019 -0400 # # Merge tag 'gpio-v5.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio # # Pull gpio updates from Linus Walleij: # "This is the bulk of the GPIO changes for the v5.2 kernel cycle. A bit # later than usual because I was ironing out my own mistakes. I'm # holding some stuff back for the next kernel as a result, and this # should be a healthy and well tested batch. # # Core changes: # # - The gpiolib MMIO driver has been enhanced to handle two direction # registers, i.e. one register to set lines as input and one register # to set lines as output. It turns out some silicon engineer thinks # the ability to configure a line as input and output at the same # time makes sense, this can be debated but includes a lot of analog # electronics reasoning, and the registers are there and need to be # handled consistently. Unsurprisingly, we enforce the lines to be # either inputs or outputs in such schemes. # # - Send in the proper argument value to .set_config() dispatched to # the pin control subsystem. Nobody used it before, now someone does, # so fix it to work as expected. # # - The ACPI gpiolib portions can now handle pin bias setting (pull up # or pull down). This has been in the ACPI spec for years and we # finally have it properly integrated with Linux GPIOs. It was based # on an observation from Andy Schevchenko that Thomas Petazzoni's # changes to the core for biasing the PCA950x GPIO expander actually # happen to fit hand-in-glove with what the ACPI core needed. Such # nice synergies happen sometimes. # # New drivers: # # - A new driver for the Mellanox BlueField GPIO controller. This is # using 64bit MMIO registers and can configure lines as inputs and # outputs at the same time and after improving the MMIO library we # handle it just fine. Interesting. # # - A new IXP4xx proper gpiochip driver with hierarchical interrupts # should be coming in from the ARM SoC tree as well. # # Driver enhancements: # # - The PCA053x driver handles the CAT9554 GPIO expander. # # - The PCA053x driver handles the NXP PCAL6416 GPIO expander. # # - Wake-up support on PCA053x GPIO lines. # # - OMAP now does a nice asynchronous IRQ handling on wake-ups by # letting everything wake up on edges, and this makes runtime PM work # as expected too. # # Misc: # # - Several cleanups such as devres fixes. # # - Get rid of some languager comstructs that cause problems when # compiling with LLVMs clang. # # - Documentation review and update" # # * tag 'gpio-v5.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (85 commits) # gpio: Update documentation # docs: gpio: convert docs to ReST and rename to *.rst # gpio: sch: Remove write-only core_base # gpio: pxa: Make two symbols static # gpiolib: acpi: Respect pin bias setting # gpiolib: acpi: Add acpi_gpio_update_gpiod_lookup_flags() helper # gpiolib: acpi: Set pin value, based on bias, more accurately # gpiolib: acpi: Change type of dflags # gpiolib: Introduce GPIO_LOOKUP_FLAGS_DEFAULT # gpiolib: Make use of enum gpio_lookup_flags consistent # gpiolib: Indent entry values of enum gpio_lookup_flags # gpio: pca953x: add support for pca6416 # dt-bindings: gpio: pca953x: document the nxp,pca6416 # gpio: pca953x: add pcal6416 to the of_device_id table # gpio: gpio-omap: Remove conditional pm_runtime handling for GPIO interrupts # gpio: gpio-omap: configure edge detection for level IRQs for idle wakeup # tracing: stop making gpio tracing configurable # gpio: pca953x: Configure wake-up path when wake-up is enabled # gpio: of: Optimize quirk checks # gpio: mmio: Drop bgpio_dir_inverted # ... # < /opt/cross/kisskb/fe-x86-64-core-i7-2017.05/bin/x86_64-linux-gcc --version # < /opt/cross/kisskb/fe-x86-64-core-i7-2017.05/bin/x86_64-linux-ld --version # < git log --format=%s --max-count=1 8148c17b179d8acad190551fe0fb90d8f5193990 # < make -s -j 8 ARCH=um O=/kisskb/build/linus_um-allyesconfig_um-x86_64 CROSS_COMPILE=/opt/cross/kisskb/fe-x86-64-core-i7-2017.05/bin/x86_64-linux- SUBARCH=x86_64 allyesconfig # Added to kconfig CONFIG_STANDALONE=y # Added to kconfig CONFIG_KCOV=n # Added to kconfig CONFIG_GCC_PLUGINS=n # Added to kconfig CONFIG_GCC_PLUGIN_CYC_COMPLEXITY=n # Added to kconfig CONFIG_GCC_PLUGIN_SANCOV=n # Added to kconfig CONFIG_GCC_PLUGIN_LATENT_ENTROPY=n # Added to kconfig CONFIG_GCC_PLUGIN_STRUCTLEAK=n # Added to kconfig CONFIG_GCC_PLUGIN_RANDSTRUCT=n # Added to kconfig CONFIG_UML_NET=n # Added to kconfig CONFIG_UML_NET_ETHERTAP=n # Added to kconfig CONFIG_UML_NET_TUNTAP=n # Added to kconfig CONFIG_UML_NET_SLIP=n # Added to kconfig CONFIG_UML_NET_DAEMON=n # Added to kconfig CONFIG_UML_NET_VDE=n # Added to kconfig CONFIG_UML_NET_MCAST=n # Added to kconfig CONFIG_UML_NET_PCAP=n # Added to kconfig CONFIG_UML_NET_SLIRP=n # Added to kconfig CONFIG_GCOV_KERNEL=n # yes \n | make -s -j 8 ARCH=um O=/kisskb/build/linus_um-allyesconfig_um-x86_64 CROSS_COMPILE=/opt/cross/kisskb/fe-x86-64-core-i7-2017.05/bin/x86_64-linux- SUBARCH=x86_64 oldconfig yes: standard output: Broken pipe # make -s -j 8 ARCH=um O=/kisskb/build/linus_um-allyesconfig_um-x86_64 CROSS_COMPILE=/opt/cross/kisskb/fe-x86-64-core-i7-2017.05/bin/x86_64-linux- SUBARCH=x86_64 /kisskb/src/arch/um/kernel/skas/uaccess.c: In function 'do_op_one_page': /kisskb/src/arch/um/kernel/skas/uaccess.c:62:10: warning: unused variable 'buf' [-Wunused-variable] jmp_buf buf; ^ /kisskb/src/arch/um/os-Linux/umid.c: In function 'is_umdir_used': /kisskb/src/arch/um/os-Linux/umid.c:138:2: warning: ISO C90 forbids variable length array 'file' [-Wvla] char file[strlen(uml_dir) + UMID_LEN + sizeof("/pid\0")]; ^ /kisskb/src/arch/um/os-Linux/umid.c: In function 'create_pid_file': /kisskb/src/arch/um/os-Linux/umid.c:213:2: warning: ISO C90 forbids variable length array 'file' [-Wvla] char file[strlen(uml_dir) + UMID_LEN + sizeof("/pid\0")]; ^ /kisskb/src/arch/um/os-Linux/umid.c: In function 'remove_umid_dir': /kisskb/src/arch/um/os-Linux/umid.c:388:2: warning: ISO C90 forbids variable length array 'dir' [-Wvla] char dir[strlen(uml_dir) + UMID_LEN + 1], err; ^ /kisskb/src/security/apparmor/policy_unpack.c: In function 'unpack_trans_table': /kisskb/src/security/apparmor/policy_unpack.c:496:9: warning: 'pos' may be used uninitialized in this function [-Wmaybe-uninitialized] str[pos] = ':'; ^ /kisskb/src/mm/mprotect.c: In function 'change_pte_range': /kisskb/src/mm/mprotect.c:42:20: warning: unused variable 'mm' [-Wunused-variable] struct mm_struct *mm = vma->vm_mm; ^ /kisskb/src/lib/lz4/lz4hc_compress.c: In function 'LZ4HC_compress_generic': /kisskb/src/lib/lz4/lz4hc_compress.c:579:1: warning: the frame size of 2144 bytes is larger than 2048 bytes [-Wframe-larger-than=] } ^ drivers/counter/ftm-quaddec.o: In function `ftm_quaddec_probe': /kisskb/src/drivers/counter/ftm-quaddec.c:301: undefined reference to `devm_ioremap' collect2: error: ld returned 1 exit status make[1]: *** [/kisskb/src/Makefile:1054: vmlinux] Error 1 make: *** [Makefile:179: sub-make] Error 2 Command 'make -s -j 8 ARCH=um O=/kisskb/build/linus_um-allyesconfig_um-x86_64 CROSS_COMPILE=/opt/cross/kisskb/fe-x86-64-core-i7-2017.05/bin/x86_64-linux- SUBARCH=x86_64 ' returned non-zero exit status 2 # rm -rf /kisskb/build/linus_um-allyesconfig_um-x86_64 # Build took: 0:07:47.377007