-
Notifications
You must be signed in to change notification settings - Fork 5.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[bsp] fix mismatched function types in rt_pin_ops for all drv_gpio.c #7457
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
CuttySark1869
previously requested changes
May 7, 2023
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
感谢pr。修改的文件可否用formatting处理下?自动检测有些小问题比如空格之类的,都是之前遗留下来的。
https://github.com/mysterywolf/formatting
好的 |
感谢提交PR,CI检查项第一项报错可以忽略 |
mysterywolf
approved these changes
May 8, 2023
supperthomas
approved these changes
May 8, 2023
Guozhanxin
approved these changes
May 9, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
拉取/合并请求描述:(PR description)
[
为什么提交这份PR (why to submit this PR)
在AT32F437-START开发板上使用IAR编译project工程会报“结构体类型不匹配的问题”,定位原因到drv_gpio.c与pin.h文件中。
在此给出文件的详细路径:
bsp/at32/libraries/rt_drivers/drv_gpio.c
components/drivers/include/drivers/pin.h
查看pin.h文件中struct rt_pin_ops 原型:
struct rt_pin_ops
{
void (*pin_mode)(struct rt_device *device, rt_base_t pin, rt_uint8_t mode);
void (*pin_write)(struct rt_device *device, rt_base_t pin, rt_uint8_t value);
rt_int8_t (*pin_read)(struct rt_device *device, rt_base_t pin);
rt_err_t (*pin_attach_irq)(struct rt_device *device, rt_base_t pin,
rt_uint8_t mode, void (*hdr)(void *args), void *args);
rt_err_t (*pin_detach_irq)(struct rt_device *device, rt_base_t pin);
rt_err_t (*pin_irq_enable)(struct rt_device *device, rt_base_t pin, rt_uint8_t enabled);
rt_base_t (*pin_get)(const char *name);
};
发现两部分类型并不匹配!
你的解决方案是什么 (what is your solution)
把不匹配的参数类型修改成正确的类型。具体来说把drv_gpio.c中下列函数的形参或返回值修改为跟rt_pin_ops操作方法中的成员形参与返回值一致。重新修改之后的drv_gpio.c中函数原型如下:
static void at32_pin_mode(rt_device_t dev, rt_base_t pin, rt_uint8_t mode)
static void at32_pin_write(rt_device_t dev, rt_base_t pin, rt_uint8_t value)
static rt_int8_t at32_pin_read(rt_device_t dev, rt_base_t pin)
static rt_err_t at32_pin_attach_irq(struct rt_device *device, rt_base_t pin,
rt_uint8_t mode, void (*hdr)(void *args), void *args)
static rt_err_t at32_pin_dettach_irq(struct rt_device *device, rt_base_t pin)
static rt_err_t at32_pin_irq_enable(struct rt_device *device, rt_base_t pin,
rt_uint8_t enabled)
static rt_base_t at32_pin_get(const char *name)
在什么测试环境下测试通过 (what is the test environment)
]
当前拉取/合并请求的状态 Intent for your PR
必须选择一项 Choose one (Mandatory):
代码质量 Code Quality:
我在这个拉取/合并请求中已经考虑了 As part of this pull request, I've considered the following:
#if 0
代码,不包含已经被注释了的代码 All redundant code is removed and cleaned up