[PATCH v2 3/4] bsps: Add GPIO API
Karel Gardas
karel at functional.vision
Thu Jul 7 12:36:51 UTC 2022
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
More information about the devel
mailing list