From 795dcee52157e268c54dbbff9c8e4ddaf1b48dfa Mon Sep 17 00:00:00 2001 From: SPRESENSE <41312067+SPRESENSE@users.noreply.github.com> Date: Thu, 24 Aug 2023 16:02:05 +0900 Subject: [PATCH] sensors: Move SCU-specific ak09912 sensor into spresense board Move SCU-specific ak09912 sensor into spresense board layer. Rename a function name to register SCU sensor driver from ak09912_register to ak09912_scu_register. --- .../cxd56xx/common/src/cxd56_ak09912_scu.c | 3 +- .../arm/cxd56xx/drivers/sensors/ak09912_scu.c | 8 +-- .../cxd56xx/spresense/include/cxd56_ak09912.h | 52 +++++++++++++++---- include/nuttx/sensors/ak09912.h | 25 +-------- 4 files changed, 51 insertions(+), 37 deletions(-) diff --git a/boards/arm/cxd56xx/common/src/cxd56_ak09912_scu.c b/boards/arm/cxd56xx/common/src/cxd56_ak09912_scu.c index 9bc2ca47d6..fbac3cc175 100644 --- a/boards/arm/cxd56xx/common/src/cxd56_ak09912_scu.c +++ b/boards/arm/cxd56xx/common/src/cxd56_ak09912_scu.c @@ -31,6 +31,7 @@ #include #include +#include #include "cxd56_i2c.h" #include @@ -79,7 +80,7 @@ int board_ak09912_initialize(const char *devpath, int bus) { /* register device at I2C bus */ - ret = ak09912_register(devpath, i, i2c, bus); + ret = ak09912_scu_register(devpath, i, i2c, bus); if (ret < 0) { snerr("Error registering AK09912.\n"); diff --git a/boards/arm/cxd56xx/drivers/sensors/ak09912_scu.c b/boards/arm/cxd56xx/drivers/sensors/ak09912_scu.c index d2a12c6b63..eb2f2c2d51 100644 --- a/boards/arm/cxd56xx/drivers/sensors/ak09912_scu.c +++ b/boards/arm/cxd56xx/drivers/sensors/ak09912_scu.c @@ -511,23 +511,25 @@ int ak09912_init(struct i2c_master_s *i2c, int port) } /**************************************************************************** - * Name: ak09912_register + * Name: ak09912_scu_register * * Description: * Register the AK09912 character device as 'devpath' * * Input Parameters: * devpath - The full path to the driver to register. E.g., "/dev/mag" + * minor - The number of sequencer * i2c - An instance of the I2C interface to use to communicate with * AK09912 + * port - I2C port number * * Returned Value: * Zero (OK) on success; a negated errno value on failure. * ****************************************************************************/ -int ak09912_register(const char *devpath, int minor, - struct i2c_master_s *i2c, int port) +int ak09912_scu_register(const char *devpath, int minor, + struct i2c_master_s *i2c, int port) { struct ak09912_dev_s *priv; char path[16]; diff --git a/boards/arm/cxd56xx/spresense/include/cxd56_ak09912.h b/boards/arm/cxd56xx/spresense/include/cxd56_ak09912.h index 7aae147ced..bf243181a8 100644 --- a/boards/arm/cxd56xx/spresense/include/cxd56_ak09912.h +++ b/boards/arm/cxd56xx/spresense/include/cxd56_ak09912.h @@ -26,17 +26,9 @@ ****************************************************************************/ #include - -/**************************************************************************** - * Public Types - ****************************************************************************/ +#include #ifndef __ASSEMBLY__ - -/**************************************************************************** - * Public Data - ****************************************************************************/ - #undef EXTERN #if defined(__cplusplus) #define EXTERN extern "C" @@ -62,6 +54,48 @@ extern "C" int board_ak09912_initialize(const char *devpath, int bus); #endif +#ifdef CONFIG_SENSORS_AK09912_SCU +/**************************************************************************** + * Name: ak09912_init + * + * Description: + * Initialize AK09912 magnetometer device + * + * Input Parameters: + * i2c - An instance of the I2C interface to use to communicate with + * AK09912 + * port - I2C port number + * + * Returned Value: + * Zero (OK) on success; a negated errno value on failure. + * + ****************************************************************************/ + +int ak09912_init(FAR struct i2c_master_s *i2c, int port); + +/**************************************************************************** + * Name: ak09912_scu_register + * + * Description: + * Register the AK09912 character device as 'devpath' + * + * Input Parameters: + * devpath - The full path to the driver to register. E.g., "/dev/mag0" + * minor - The number of sequencer + * i2c - An instance of the I2C interface to use to communicate with + * AK09912 + * port - I2C port number + * + * Returned Value: + * Zero (OK) on success; a negated errno value on failure. + * + ****************************************************************************/ + +int ak09912_scu_register(const char *devpath, int minor, + struct i2c_master_s *i2c, int port); + +#endif /* CONFIG_SENSORS_AK09912_SCU */ + #undef EXTERN #if defined(__cplusplus) } diff --git a/include/nuttx/sensors/ak09912.h b/include/nuttx/sensors/ak09912.h index 9129e3e57e..10cb8b1c01 100644 --- a/include/nuttx/sensors/ak09912.h +++ b/include/nuttx/sensors/ak09912.h @@ -83,25 +83,6 @@ struct ak09912_sensadj_s uint8_t z; }; -#ifdef CONFIG_SENSORS_AK09912_SCU -/**************************************************************************** - * Name: ak09912_init - * - * Description: - * Initialize AK09912 magnetometer device - * - * Input Parameters: - * i2c - An instance of the I2C interface to use to communicate with - * AK09912 - * - * Returned Value: - * Zero (OK) on success; a negated errno value on failure. - * - ****************************************************************************/ - -int ak09912_init(FAR struct i2c_master_s *i2c, int port); -#endif - /**************************************************************************** * Name: ak09912_register * @@ -117,12 +98,8 @@ int ak09912_init(FAR struct i2c_master_s *i2c, int port); * Zero (OK) on success; a negated errno value on failure. * ****************************************************************************/ -#ifdef CONFIG_SENSORS_AK09912_SCU -int ak09912_register(FAR const char *devpath, int minor, - FAR struct i2c_master_s *i2c, int port); -#else + int ak09912_register(FAR const char *devpath, FAR struct i2c_master_s *i2c); -#endif #undef EXTERN #ifdef __cplusplus