Re: [PATCH] omap: i2c: Add calls for pinctrl state select
On Wed, Apr 22, 2015 at 12:49:02PM +0200, Pascal Huerst wrote: > > > On 22.04.2015 12:28, Wolfram Sang wrote: > > I assume you have a different kernel config where something is enabled > > which includes the pinctrl-stuff in another include which is included > > by these drivers. Although, my .config was arm-allyesconfig. Can you > > send yours? > > Sure. See below. Thanks. device.h includes pinctrl/devinfo.h which includes pinctrl/consumer.h iff CONFIG_PINCTRL is enabled. So, seems my build-system didn't pick allyesconfig but another config with PINCTRL disabled. Will fix the st driver now, thanks for reporting! signature.asc Description: Digital signature
Re: [PATCH] omap: i2c: Add calls for pinctrl state select
On 22.04.2015 12:28, Wolfram Sang wrote: > I assume you have a different kernel config where something is enabled > which includes the pinctrl-stuff in another include which is included > by these drivers. Although, my .config was arm-allyesconfig. Can you > send yours? Sure. See below. cat .config | grep -v "#" | sed '/^$/d' | sort (Or do you prefer it attached?) CONFIG_ADVISE_SYSCALLS=y CONFIG_AEABI=y CONFIG_AIO=y CONFIG_ALIGNMENT_TRAP=y CONFIG_ALLOW_DEV_COREDUMP=y CONFIG_AM335X_CONTROL_USB=y CONFIG_AM335X_PHY_USB=y CONFIG_ANON_INODES=y CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y CONFIG_ARCH_HAS_BANDGAP=y CONFIG_ARCH_HAS_ELF_RANDOMIZE=y CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y CONFIG_ARCH_HAS_HOLES_MEMORYMODEL=y CONFIG_ARCH_HAS_SG_CHAIN=y CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y CONFIG_ARCH_HIBERNATION_POSSIBLE=y CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y CONFIG_ARCH_MULTIPLATFORM=y CONFIG_ARCH_MULTI_V6_V7=y CONFIG_ARCH_MULTI_V7=y CONFIG_ARCH_NR_GPIO=0 CONFIG_ARCH_OMAP2PLUS_TYPICAL=y CONFIG_ARCH_OMAP2PLUS=y CONFIG_ARCH_OMAP3=y CONFIG_ARCH_OMAP=y CONFIG_ARCH_REQUIRE_GPIOLIB=y CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y CONFIG_ARCH_SUPPORTS_BIG_ENDIAN=y CONFIG_ARCH_SUPPORTS_UPROBES=y CONFIG_ARCH_SUSPEND_POSSIBLE=y CONFIG_ARCH_USE_BUILTIN_BSWAP=y CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y CONFIG_ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA=y CONFIG_ARCH_VEXPRESS=y CONFIG_ARCH_WANT_GENERAL_HUGETLB=y CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y CONFIG_ARM_AMBA=y CONFIG_ARM_CPU_SUSPEND=y CONFIG_ARM_DMA_MEM_BUFFERABLE=y CONFIG_ARM_ERRATA_430973=y CONFIG_ARM_ERRATA_720789=y CONFIG_ARM_GIC=y CONFIG_ARM_GLOBAL_TIMER=y CONFIG_ARM_HAS_SG_CHAIN=y CONFIG_ARM_L1_CACHE_SHIFT=6 CONFIG_ARM_L1_CACHE_SHIFT_6=y CONFIG_ARM_PATCH_PHYS_VIRT=y CONFIG_ARM_THUMBEE=y CONFIG_ARM_THUMB=y CONFIG_ARM_TIMER_SP804=y CONFIG_ARM_UNWIND=y CONFIG_ARM_VIRT_EXT=y CONFIG_ARM=y CONFIG_ASSOCIATIVE_ARRAY=y CONFIG_AT803X_PHY=y CONFIG_ATAGS_PROC=y CONFIG_ATAGS=y CONFIG_AUTO_ZRELADDR=y CONFIG_AVERAGE=y CONFIG_BASE_SMALL=1 CONFIG_BCH=y CONFIG_BCMA_POSSIBLE=y CONFIG_BINFMT_ELF=y CONFIG_BINFMT_MISC=y CONFIG_BINFMT_SCRIPT=y CONFIG_BITREVERSE=y CONFIG_BLK_DEV_BSGLIB=y CONFIG_BLK_DEV_BSG=y CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_RAM_COUNT=16 CONFIG_BLK_DEV_RAM_SIZE=16384 CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_SD=y CONFIG_BLK_DEV=y CONFIG_BLOCK=y CONFIG_BOUNCE=y CONFIG_BPF=y CONFIG_BQL=y CONFIG_BROKEN_ON_SMP=y CONFIG_BSD_PROCESS_ACCT=y CONFIG_BUG=y CONFIG_BUILD_BIN2C=y CONFIG_BUILDTIME_EXTABLE_SORT=y CONFIG_CC_STACKPROTECTOR_NONE=y CONFIG_CFG80211_DEBUGFS=y CONFIG_CFG80211_DEFAULT_PS=y CONFIG_CFG80211_WEXT=y CONFIG_CFG80211=y CONFIG_CGROUPS=y CONFIG_CLKDEV_LOOKUP=y CONFIG_CLK_SP810=y CONFIG_CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK=y CONFIG_CLKSRC_MMIO=y CONFIG_CLKSRC_OF=y CONFIG_CLKSRC_VERSATILE=y CONFIG_CLK_VEXPRESS_OSC=y CONFIG_CLONE_BACKWARDS=y CONFIG_CMDLINE="" CONFIG_COMMON_CLK_SI5351=y CONFIG_COMMON_CLK_VERSATILE=y CONFIG_COMMON_CLK=y CONFIG_COMPAT_BRK=y CONFIG_CONFIGFS_FS=y CONFIG_CONNECTOR=y CONFIG_CONSOLE_TRANSLATIONS=y CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y CONFIG_COREDUMP=y CONFIG_CPU_32v6K=y CONFIG_CPU_32v7=y CONFIG_CPU_ABRT_EV7=y CONFIG_CPU_CACHE_V7=y CONFIG_CPU_CACHE_VIPT=y CONFIG_CPU_COPY_V6=y CONFIG_CPU_CP15_MMU=y CONFIG_CPU_CP15=y CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y CONFIG_CPU_FREQ_GOV_COMMON=y CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y CONFIG_CPU_FREQ_GOV_ONDEMAND=y CONFIG_CPU_FREQ_GOV_PERFORMANCE=y CONFIG_CPU_FREQ_GOV_POWERSAVE=y CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ=y CONFIG_CPU_HAS_ASID=y CONFIG_CPU_IDLE_GOV_LADDER=y CONFIG_CPU_IDLE_GOV_MENU=y CONFIG_CPU_IDLE=y CONFIG_CPU_PABRT_V7=y CONFIG_CPU_PM=y CONFIG_CPU_TLB_V7=y CONFIG_CPU_V7=y CONFIG_CRAMFS=y CONFIG_CRC16=y CONFIG_CRC32_SLICEBY8=y CONFIG_CRC32=y CONFIG_CRC7=y CONFIG_CRC_CCITT=y CONFIG_CRC_ITU_T=y CONFIG_CRC_T10DIF=y CONFIG_CROSS_COMPILE="" CONFIG_CROSS_MEMORY_ATTACH=y CONFIG_CRYPTO_AEAD2=y CONFIG_CRYPTO_AEAD=y CONFIG_CRYPTO_AES=y CONFIG_CRYPTO_ALGAPI2=y CONFIG_CRYPTO_ALGAPI=y CONFIG_CRYPTO_ARC4=y CONFIG_CRYPTO_AUTHENC=y CONFIG_CRYPTO_BLKCIPHER2=y CONFIG_CRYPTO_BLKCIPHER=y CONFIG_CRYPTO_CBC=y CONFIG_CRYPTO_CRC32C=y CONFIG_CRYPTO_CRCT10DIF=y CONFIG_CRYPTO_DEFLATE=y CONFIG_CRYPTO_ECB=y CONFIG_CRYPTO_HASH2=y CONFIG_CRYPTO_HASH=y CONFIG_CRYPTO_HMAC=y CONFIG_CRYPTO_HW=y CONFIG_CRYPTO_LZO=y CONFIG_CRYPTO_MANAGER2=y CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_MICHAEL_MIC=y CONFIG_CRYPTO_PCOMP2=y CONFIG_CRYPTO_RNG2=y CONFIG_CRYPTO_SHA1=y CONFIG_CRYPTO_WORKQUEUE=y CONFIG_CRYPTO=y CONFIG_DCACHE_WORD_ACCESS=y CONFIG_DEBUG_FS=y CONFIG_DEBUG_GPIO=y CONFIG_DEBUG_KERNEL=y CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" CONFIG_DEBUG_LOCK_ALLOC=y CONFIG_DEBUG_MUTEXES=y CONFIG_DEBUG_PREEMPT=y CONFIG_DEBUG_SECTION_MISMATCH=y CONFIG_DEBUG_SPINLOCK=y CONFIG_DEFAULT_CFQ=y CONFIG_DEFAULT_CUBIC=y CONFIG_DEFAULT_HOSTNAME="(none)" CONFIG_DEFAULT_IOSCHED="cfq" CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 CONFIG_DEFAULT_SECURITY="" CONFIG_DEFAULT_SECURITY_DAC=
Re: [PATCH] omap: i2c: Add calls for pinctrl state select
> You are right, the include is missing. I just reapplied the patch, > compiled and interestingly enough, I don't get any compile errors. (?) I assume you have a different kernel config where something is enabled which includes the pinctrl-stuff in another include which is included by these drivers. Although, my .config was arm-allyesconfig. Can you send yours? signature.asc Description: Digital signature
Re: [PATCH] omap: i2c: Add calls for pinctrl state select
Hey Wolfram, On 22.04.2015 10:12, Wolfram Sang wrote: > On Fri, Apr 17, 2015 at 05:07:57PM +0200, pascal.hue...@gmail.com wrote: >> From: Pascal Huerst >> >> This adds calls to pinctrl subsystem in order to switch pin states >> on suspend/resume if you provide a "sleep" state in DT. >> >> Signed-off-by: Pascal Huerst > > ? Don't you get a build error? I do. Rightfully, I'd think, there is no > pinctrl-include. You are right, the include is missing. I just reapplied the patch, compiled and interestingly enough, I don't get any compile errors. (?) Some further checks revealed, that the include is also missing in drivers/i2c/busses/i2c-st.c - which I used to get the idea on how to use these calls. I'm using a buildroot toolchain: gcc version 4.9.2 (Buildroot 2014.11-00023-g60d7a19-dirty) Do you have any idea on where these differences are coming from? In any case, the include belongs there, so I will resend that patch. regards pascal -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] omap: i2c: Add calls for pinctrl state select
On Fri, Apr 17, 2015 at 05:07:57PM +0200, pascal.hue...@gmail.com wrote: > From: Pascal Huerst > > This adds calls to pinctrl subsystem in order to switch pin states > on suspend/resume if you provide a "sleep" state in DT. > > Signed-off-by: Pascal Huerst ? Don't you get a build error? I do. Rightfully, I'd think, there is no pinctrl-include. signature.asc Description: Digital signature
[PATCH] omap: i2c: Add calls for pinctrl state select
From: Pascal Huerst This adds calls to pinctrl subsystem in order to switch pin states on suspend/resume if you provide a "sleep" state in DT. Signed-off-by: Pascal Huerst --- drivers/i2c/busses/i2c-omap.c | 4 1 file changed, 4 insertions(+) diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c index 0e89419..6b5d4bd 100644 --- a/drivers/i2c/busses/i2c-omap.c +++ b/drivers/i2c/busses/i2c-omap.c @@ -1423,6 +1423,8 @@ static int omap_i2c_runtime_suspend(struct device *dev) omap_i2c_read_reg(_dev, OMAP_I2C_STAT_REG); } + pinctrl_pm_select_sleep_state(dev); + return 0; } @@ -1431,6 +1433,8 @@ static int omap_i2c_runtime_resume(struct device *dev) struct platform_device *pdev = to_platform_device(dev); struct omap_i2c_dev *_dev = platform_get_drvdata(pdev); + pinctrl_pm_select_default_state(dev); + if (!_dev->regs) return 0; -- 1.9.3 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] omap: i2c: Add calls for pinctrl state select
From: Pascal Huerst This adds calls to pinctrl subsystem in order to switch pin states on suspend/resume if you provide a "sleep" state in DT. --- drivers/i2c/busses/i2c-omap.c | 4 1 file changed, 4 insertions(+) diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c index 0e89419..6b5d4bd 100644 --- a/drivers/i2c/busses/i2c-omap.c +++ b/drivers/i2c/busses/i2c-omap.c @@ -1423,6 +1423,8 @@ static int omap_i2c_runtime_suspend(struct device *dev) omap_i2c_read_reg(_dev, OMAP_I2C_STAT_REG); } + pinctrl_pm_select_sleep_state(dev); + return 0; } @@ -1431,6 +1433,8 @@ static int omap_i2c_runtime_resume(struct device *dev) struct platform_device *pdev = to_platform_device(dev); struct omap_i2c_dev *_dev = platform_get_drvdata(pdev); + pinctrl_pm_select_default_state(dev); + if (!_dev->regs) return 0; -- 1.9.3 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html