[PATCH v7 0/5] VIM3: add support for checking 'Function' button state

Neil Armstrong narmstrong at baylibre.com
Thu Feb 18 16:06:32 CET 2021


On 18/02/2021 11:35, Neil Armstrong wrote:
> On 18/02/2021 11:33, Marek Szyprowski wrote:
>> Hi All,
>>
>> This patchset adds all building blocks needed for checking the 'Function'
>> button state in the boot script on Amlogic A311D based VIM3 board. This
>> button is connected to the ADC line of the SoC, so it required to enable
>> meson SARADC, the clocks needed for it and a simple button-adc drivers.
>>
>> Once applied, one can use following commands in the boot scripts:
>> -->8---
>> echo Checking Func button state: \\c
>> if button Function
>> then
>> 	echo Selected alternative boot
>> 	...
>> fi
>> --->8---
>>
>> Best regards
>> Marek Szyprowski
>> Samsung R&D Institute Poland
>>
>>
>> Changelog:
>> v7:
>> - added linux,code properties to the test.dts
>>
>> v6: https://lists.denx.de/pipermail/u-boot/2021-February/441039.html
>> - added a simple sandbox test for adc-keys
>> - use of_to_plat and adc_raw_to_uV to simplify code in the adc button driver
>>
>> v5: https://lists.denx.de/pipermail/u-boot/2021-January/438751.html
>> - rebased onto latest uboot-amlogic/u-boot-amlogic-next branch
>> - synchronized adc-keys binding with the recent version from the Linux
>>   kernel
>> - updated adc-keys driver to match behavior from dt-bindings
>> - added a patch for meson-saradc driver to register vdd reference supply
>>   to the ADC framework
>>
>> v4: https://lists.denx.de/pipermail/u-boot/2020-December/435641.html
>> - rebased onto uboot-amlogic/u-boot-amlogic-next and dropped merged patches
>> - added adc-keys bindings docs (copied from Linux kernel)
>> - minor code adjustments pointed by Simon
>> - enabled driver also in khadas-vim3l_defconfig
>>
>> v3: https://lists.denx.de/pipermail/u-boot/2020-December/435072.html
>> - removed 'button' env variable
>> - extended kconfig and patch descriptions
>>
>> v2: https://lists.denx.de/pipermail/u-boot/2020-December/434991.html
>> - removed Change-Id tags
>> - split defconfig changes into ADC and button related
>>
>> v1: https://lists.denx.de/pipermail/u-boot/2020-December/434875.html
>> - initial submission
>>
>>
>> Patch summary:
>>
>> Marek Szyprowski (5):
>>   dt-bindings: input: adc-keys bindings documentation
>>   button: add a simple Analog to Digital Converter device based button
>>     driver
>>   adc: meson-saradc: add support for getting reference voltage value
>>   configs: khadas-vim3(l): enable Function button support
>>   test: add a simple test for the adc-keys button driver
>>
>>  arch/sandbox/dts/test.dts                   |  27 +++-
>>  configs/khadas-vim3_defconfig               |   2 +
>>  configs/khadas-vim3l_defconfig              |   2 +
>>  configs/sandbox_defconfig                   |   1 +
>>  doc/device-tree-bindings/input/adc-keys.txt |  67 +++++++++
>>  drivers/adc/meson-saradc.c                  |  21 +++
>>  drivers/button/Kconfig                      |   8 ++
>>  drivers/button/Makefile                     |   1 +
>>  drivers/button/button-adc.c                 | 146 ++++++++++++++++++++
>>  test/dm/button.c                            |  50 ++++++-
>>  10 files changed, 322 insertions(+), 3 deletions(-)
>>  create mode 100644 doc/device-tree-bindings/input/adc-keys.txt
>>  create mode 100644 drivers/button/button-adc.c
>>
> 
> Applying to u-boot-amlogic !
> 
> Thanks,
> Neil
> 

Doesn't seem related to this patchset but one of my builder gets this error:
In file included from ../drivers/button/button-uclass.c:9:0:
973../include/button.h:37:42: warning: 'struct udevice' declared inside parameter list will not be visible outside of this definition or declaration
974  enum button_state_t (*get_state)(struct udevice *dev);
975                                          ^~~~~~~
976../include/button.h:49:51: warning: 'struct udevice' declared inside parameter list will not be visible outside of this definition or declaration
977 int button_get_by_label(const char *label, struct udevice **devp);
978                                                   ^~~~~~~
979../include/button.h:57:45: warning: 'struct udevice' declared inside parameter list will not be visible outside of this definition or declaration
980 enum button_state_t button_get_state(struct udevice *dev);
981                                             ^~~~~~~
982../drivers/button/button-uclass.c:13:5: error: conflicting types for 'button_get_by_label'
983 int button_get_by_label(const char *label, struct udevice **devp)
984     ^~~~~~~~~~~~~~~~~~~
985In file included from ../drivers/button/button-uclass.c:9:0:
986../include/button.h:49:5: note: previous declaration of 'button_get_by_label' was here
987 int button_get_by_label(const char *label, struct udevice **devp);
988     ^~~~~~~~~~~~~~~~~~~
989../drivers/button/button-uclass.c:29:21: error: conflicting types for 'button_get_state'
990 enum button_state_t button_get_state(struct udevice *dev)
991                     ^~~~~~~~~~~~~~~~
992In file included from ../drivers/button/button-uclass.c:9:0:
993../include/button.h:57:21: note: previous declaration of 'button_get_state' was here
994 enum button_state_t button_get_state(struct udevice *dev);
995                     ^~~~~~~~~~~~~~~~
996../drivers/button/button-uclass.c: In function 'button_get_state':
997../drivers/button/button-uclass.c:36:24: warning: passing argument 1 of 'ops->get_state' from incompatible pointer type [-Wincompatible-pointer-types]
998  return ops->get_state(dev);
999                        ^~~
1000../drivers/button/button-uclass.c:36:24: note: expected 'struct udevice *' but argument is of type 'struct udevice *'
1001make[3]: *** [../scripts/Makefile.build:265: drivers/button/button-uclass.o] Error 1
1002make[2]: *** [../scripts/Makefile.build:419: drivers/button] Error 2
1003make[1]: *** [/tmp/u-boot/Makefile:1791: drivers] Error 2

did I miss a dependency ?

Neil



More information about the U-Boot mailing list