acassis commented on code in PR #16714: URL: https://github.com/apache/nuttx/pull/16714#discussion_r2202566344
########## include/nuttx/input/sbutton.h: ########## @@ -0,0 +1,114 @@ +/**************************************************************************** + * include/nuttx/input/sbutton.h + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. The + * ASF licenses this file to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the + * License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + ****************************************************************************/ + +/* The single button driver exports a standard character driver interface. By + * convention, the driver is exposed as /dev/sbtn[n] and works like a common + * keyboard device, but generates only INPUT_TAB and INPUT_ENTER events. + */ + +#ifndef __INCLUDE_NUTTX_INPUT_SBUTTON_H +#define __INCLUDE_NUTTX_INPUT_SBUTTON_H + +/**************************************************************************** + * Included Files + ****************************************************************************/ + +#include <nuttx/config.h> +#include <nuttx/i2c/i2c_master.h> +#include <stdbool.h> +#include <nuttx/irq.h> + +/**************************************************************************** + * Pre-processor Definitions + ****************************************************************************/ + +/**************************************************************************** + * Public Types + ****************************************************************************/ + +/* A reference to a structure of this type must be passed to the + * single button keyboard driver. This structure provides information + * about the configuration and provides some board-specific hooks. + */ + +struct sbutton_config_s +{ + /* IRQ/GPIO access callbacks. These operations all hidden behind + * callbacks to isolate the Q10 Keyboard driver from differences in GPIO + * interrupt handling by varying boards and MCUs. + * + * attach - Attach the Q10 kbd interrupt handler to the GPIO interrupt + * enable - Enable or disable the GPIO interrupt + * clear - Acknowledge/clear any pending GPIO interrupt + */ + + int (*attach)(FAR const struct sbutton_config_s *state, xcpt_t isr, + FAR void *arg); + void (*enable)(FAR const struct sbutton_config_s *state, bool enable); + void (*clear)(FAR const struct sbutton_config_s *state); + bool (*pin_status)(void); Review Comment: Ok, changed it, but the the stm32_sbutton I keept to function name as sbtn_pin_status() to make it clear for someone adding support to another board. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org