Hello Duc,

just two notes which bothers me most.

On 7/7/22 13:34, Duc Doan wrote:
This is the new GPIO API. The header file is
gpio2.h.
---
  bsps/include/bsp/gpio2.h    | 538 ++++++++++++++++++++++++++++++++++++
  bsps/shared/dev/gpio/gpio.c | 196 +++++++++++++
  spec/build/bsps/obj.yml     |   2 +-
  3 files changed, 735 insertions(+), 1 deletion(-)
  create mode 100644 bsps/include/bsp/gpio2.h
  create mode 100644 bsps/shared/dev/gpio/gpio.c

diff --git a/bsps/include/bsp/gpio2.h b/bsps/include/bsp/gpio2.h
new file mode 100644
index 0000000000..e99967cd47
--- /dev/null
+++ b/bsps/include/bsp/gpio2.h
@@ -0,0 +1,538 @@
+/**
+  * @file
+  *
+  * @ingroup rtems_gpio2
+  *
+  * @brief RTEMS GPIO new API definition.
+  */
+
+/*
+*  Copyright (c) 2022 Duc Doan <dtbpkmte at gmail.com>
+*
+*  The license and distribution terms for this file may be
+*  found in the file LICENSE in this distribution or at
+*  http://www.rtems.org/license/LICENSE.
+*/

RTEMS project (Joel & others) perform huge effort in a way on relicensing RTEMS to BSD license. Please use new license header instead of this one which is old -- from GPL days. Open few random RTEMS files and you will see few license headers. Look for example into ... randomly picked :-) -- bsps/arm/stm32h7/boards/stm/nucleo-h743zi/stm32h7-bspstarthooks.c and modify this to your name/email...


+/**
+  * @brief Performs setup for GPIO functionality.
+  *
+  * This function calls bsp_gpio_register_controllers() and may
+  * perform additional initialization steps for GPIO functionality.
+  * It should be called by users before all GPIO operations, ideally
+  * when the application starts.
+  */
+extern void rtems_gpio_begin(
+    void
+);

I don't like this _begin mentality here. I think this should be all done by BSP code based on actual BSP configuration.
Something like:
STM32F4_ENABLE_GENERIC_GPIO implemented as optengpio.yml in f4 spec and then based on its C preprocessor value just calls bsp_gpio_register_controllers from probably hook_1 and be done with that.

Sorry about that, 'begin' is too much RDBMS hooked thing here and when I see 'begin' I also expect 'commit' or 'rollback' somewhere down the line. :-)

Thanks,
Karel



_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to