diff options
Diffstat (limited to 'apps/examples/touchscreen/Kconfig')
-rw-r--r-- | apps/examples/touchscreen/Kconfig | 25 |
1 files changed, 9 insertions, 16 deletions
diff --git a/apps/examples/touchscreen/Kconfig b/apps/examples/touchscreen/Kconfig index e266972b6..2edad5915 100644 --- a/apps/examples/touchscreen/Kconfig +++ b/apps/examples/touchscreen/Kconfig @@ -46,12 +46,13 @@ config EXAMPLES_TOUCHSCREEN_MOUSE config EXAMPLES_TOUCHSCREEN_ARCHINIT bool "Architecture-specific initialization" default y - depends on !BUILD_PROTECTED && !BUILD_KERNEL + depends on LIB_BOARDCTL + select BOARDCTL_TSCTEST ---help--- - By default, the touchscreen example will call arch_tcinitialize() to + By default, the touchscreen example will call boardctl() to register the touchscreen device before it attempts to open it. - Similarly, it will call arch_tcuninitialize() to unregister the - touchscreen device when it is finished. + Similarly, it will call boardctl() to unregister the touchscreen + device when it is finished. This works well for the typical touchscreen controller but there are other devices that cannot be initialized and uninitialized in this @@ -60,17 +61,9 @@ config EXAMPLES_TOUCHSCREEN_ARCHINIT mouse is disconnected. So, in cases like this, there are two options: (1) provide dummy - arch_tcinitialize() and arch_tcuninitialize() just to satisfy the - linking requirements or, (2) select this option. if this option is - de-selected, then the arch_tcinitialize() and arch_tcuninitialize() will - never be called. - - NOTE also that the functions arch_tcinitialize() and - arch_tcuninitialize() are effective non-standard operating system - calls. This is cheap shortcut and a violation of the OS interface. - You can get away with this in the flat build (CONFIG_BUILD_FLAT), - but not in the protected or kernel builds (CONFIG_BUILD_PROTECTED - or CONFIG)BUILD_KERNEL). In those cases, you will need to perform - one-time touchscreen initialization in board_initialize(). + board_tsc_setup() and board_tsc_teardown() just to satisfy the + linking requirements of boardctl() or, (2) de-select this option. + If this option is de-selected, then the boardctl() will never be + called. endif |