You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by an...@apache.org on 2018/11/23 16:16:51 UTC

[mynewt-core] 19/26: hw/drivers/bme280: Fix creation of bus node for sensor

This is an automated email from the ASF dual-hosted git repository.

andk pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mynewt-core.git

commit b5b8c1760053358aa4ba63f8ea6717b365283934
Author: Andrzej Kaczmarek <an...@codecoup.pl>
AuthorDate: Thu Nov 15 22:30:22 2018 +0100

    hw/drivers/bme280: Fix creation of bus node for sensor
---
 hw/drivers/sensors/bme280/include/bme280/bme280.h |  8 ++++----
 hw/drivers/sensors/bme280/src/bme280.c            | 18 +++++++++++-------
 2 files changed, 15 insertions(+), 11 deletions(-)

diff --git a/hw/drivers/sensors/bme280/include/bme280/bme280.h b/hw/drivers/sensors/bme280/include/bme280/bme280.h
index 2bb4630..8979fbe 100644
--- a/hw/drivers/sensors/bme280/include/bme280/bme280.h
+++ b/hw/drivers/sensors/bme280/include/bme280/bme280.h
@@ -286,12 +286,12 @@ int bme280_shell_init(void);
 
 #if MYNEWT_VAL(BUS_DRIVER_PRESENT)
 int
-bme280_create_i2c_dev(struct bus_i2c_node *node, const char *name,
-                      const struct bus_i2c_node_cfg *cfg);
+bme280_create_i2c_sensor_dev(struct bus_i2c_node *node, const char *name,
+                             const struct sensor_node_cfg *cfg);
 
 int
-bme280_create_spi_dev(struct bus_spi_node *node, const char *name,
-                      const struct bus_spi_node_cfg *cfg);
+bme280_create_spi_sensor_dev(struct bus_spi_node *node, const char *name,
+                             const struct sensor_node_cfg *cfg);
 #endif
 
 #ifdef __cplusplus
diff --git a/hw/drivers/sensors/bme280/src/bme280.c b/hw/drivers/sensors/bme280/src/bme280.c
index 864d368..92c5fe9 100644
--- a/hw/drivers/sensors/bme280/src/bme280.c
+++ b/hw/drivers/sensors/bme280/src/bme280.c
@@ -1393,12 +1393,16 @@ err:
 static void
 init_node_cb(struct bus_node *bnode, void *arg)
 {
-    bme280_init((struct os_dev *)bnode, arg);
+    struct sensor_node_cfg *cfg = CONTAINER_OF(arg, struct sensor_node_cfg,
+                                               i2c_node_cfg);
+    struct sensor_itf *itf = &cfg->itf;
+
+    bme280_init((struct os_dev *)bnode, itf);
 }
 
 int
-bme280_create_i2c_dev(struct bus_i2c_node *node, const char *name,
-                      const struct bus_i2c_node_cfg *cfg)
+bme280_create_i2c_sensor_dev(struct bus_i2c_node *node, const char *name,
+                             const struct sensor_node_cfg *cfg)
 {
     struct bus_node_callbacks cbs = {
         .init = init_node_cb,
@@ -1407,14 +1411,14 @@ bme280_create_i2c_dev(struct bus_i2c_node *node, const char *name,
 
     bus_node_set_callbacks((struct os_dev *)node, &cbs);
 
-    rc = bus_i2c_node_create(name, node, (struct bus_i2c_node_cfg *)cfg);
+    rc = bus_i2c_node_create(name, node, &cfg->i2c_node_cfg);
 
     return rc;
 }
 
 int
-bme280_create_spi_dev(struct bus_spi_node *node, const char *name,
-                      const struct bus_spi_node_cfg *cfg)
+bme280_create_spi_sensor_dev(struct bus_spi_node *node, const char *name,
+                             const struct sensor_node_cfg *cfg)
 {
     struct bus_node_callbacks cbs = {
         .init = init_node_cb,
@@ -1423,7 +1427,7 @@ bme280_create_spi_dev(struct bus_spi_node *node, const char *name,
 
     bus_node_set_callbacks((struct os_dev *)node, &cbs);
 
-    rc = bus_spi_node_create(name, node, (struct bus_spi_node_cfg *)cfg);
+    rc = bus_spi_node_create(name, node, &cfg->spi_node_cfg);
 
     return rc;
 }