Skip to content

Commit 6884374

Browse files
committed
drivers: blink: Use DEVICE_API
Demonstrate DEVICE_API usage for blink_driver_api. Signed-off-by: Pieter De Gendt <[email protected]>
1 parent 52c73c6 commit 6884374

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

drivers/blink/gpio_led.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ static int blink_gpio_led_set_period_ms(const struct device *dev,
5353
return 0;
5454
}
5555

56-
static const struct blink_driver_api blink_gpio_led_api = {
56+
static DEVICE_API(blink, blink_gpio_led_api) = {
5757
.set_period_ms = &blink_gpio_led_set_period_ms,
5858
};
5959

include/app/drivers/blink.h

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
#include <zephyr/device.h>
1010
#include <zephyr/toolchain.h>
11+
#include <zephyr/sys/check.h>
1112

1213
/**
1314
* @defgroup drivers_blink Blink drivers
@@ -82,10 +83,11 @@ __syscall int blink_set_period_ms(const struct device *dev,
8283
static inline int z_impl_blink_set_period_ms(const struct device *dev,
8384
unsigned int period_ms)
8485
{
85-
const struct blink_driver_api *api =
86-
(const struct blink_driver_api *)dev->api;
86+
CHECKIF(!DEVICE_API_IS(blink, dev)) {
87+
return -ENODEV;
88+
}
8789

88-
return api->set_period_ms(dev, period_ms);
90+
return DEVICE_API_GET(blink, dev)->set_period_ms(dev, period_ms);
8991
}
9092

9193
/**

0 commit comments

Comments
 (0)