Commit 17118843 authored by Linus Walleij's avatar Linus Walleij Committed by Jonathan Cameron

iio: pressure: bmp280: split off an I2C Kconfig entry

This creates a separate BMP280_I2C Kconfig entry that gets selected
by BMP280 for I2C transport. As we currently only support I2C
transport there is not much practical change other than getting
a separate object file (or module) for the I2C driver part. The
old Kconfig symbol BMP280 will still select the stuff we need so
that oldconfig and old defconfigs works fine.
Tested-by: default avatarAkinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Signed-off-by: default avatarJonathan Cameron <jic23@kernel.org>
parent 14e8015f
...@@ -6,17 +6,24 @@ ...@@ -6,17 +6,24 @@
menu "Pressure sensors" menu "Pressure sensors"
config BMP280 config BMP280
tristate "Bosch Sensortec BMP180 and BMP280 pressure sensor driver" tristate "Bosch Sensortec BMP180/BMP280 pressure sensor I2C driver"
depends on I2C depends on I2C
depends on !(BMP085_I2C=y || BMP085_I2C=m) depends on !(BMP085_I2C=y || BMP085_I2C=m)
select REGMAP_I2C select REGMAP
select BMP280_I2C if (I2C)
help help
Say yes here to build support for Bosch Sensortec BMP180 and BMP280 Say yes here to build support for Bosch Sensortec BMP180 and BMP280
pressure and temperature sensors. Also supports the BE280 with pressure and temperature sensors. Also supports the BE280 with
an additional humidty sensor channel. an additional humidity sensor channel.
To compile this driver as a module, choose M here: the module To compile this driver as a module, choose M here: the modules
will be called bmp280. will be called bmp280-i2c and bmp280.
config BMP280_I2C
tristate
depends on BMP280
depends on I2C
select REGMAP_I2C
config HID_SENSOR_PRESS config HID_SENSOR_PRESS
depends on HID_SENSOR_HUB depends on HID_SENSOR_HUB
......
...@@ -4,7 +4,8 @@ ...@@ -4,7 +4,8 @@
# When adding new entries keep the list in alphabetical order # When adding new entries keep the list in alphabetical order
obj-$(CONFIG_BMP280) += bmp280.o obj-$(CONFIG_BMP280) += bmp280.o
bmp280-objs := bmp280-core.o bmp280-regmap.o bmp280-i2c.o bmp280-objs := bmp280-core.o bmp280-regmap.o
obj-$(CONFIG_BMP280_I2C) += bmp280-i2c.o
obj-$(CONFIG_HID_SENSOR_PRESS) += hid-sensor-press.o obj-$(CONFIG_HID_SENSOR_PRESS) += hid-sensor-press.o
obj-$(CONFIG_HP03) += hp03.o obj-$(CONFIG_HP03) += hp03.o
obj-$(CONFIG_MPL115) += mpl115.o obj-$(CONFIG_MPL115) += mpl115.o
......
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
#define pr_fmt(fmt) "bmp280: " fmt #define pr_fmt(fmt) "bmp280: " fmt
#include <linux/device.h> #include <linux/device.h>
#include <linux/module.h>
#include <linux/regmap.h> #include <linux/regmap.h>
#include <linux/delay.h> #include <linux/delay.h>
#include <linux/iio/iio.h> #include <linux/iio/iio.h>
...@@ -955,6 +956,7 @@ int bmp280_common_probe(struct device *dev, ...@@ -955,6 +956,7 @@ int bmp280_common_probe(struct device *dev,
regulator_disable(data->vddd); regulator_disable(data->vddd);
return ret; return ret;
} }
EXPORT_SYMBOL(bmp280_common_probe);
int bmp280_common_remove(struct device *dev) int bmp280_common_remove(struct device *dev)
{ {
...@@ -966,3 +968,8 @@ int bmp280_common_remove(struct device *dev) ...@@ -966,3 +968,8 @@ int bmp280_common_remove(struct device *dev)
regulator_disable(data->vddd); regulator_disable(data->vddd);
return 0; return 0;
} }
EXPORT_SYMBOL(bmp280_common_remove);
MODULE_AUTHOR("Vlad Dogaru <vlad.dogaru@intel.com>");
MODULE_DESCRIPTION("Driver for Bosch Sensortec BMP180/BMP280 pressure and temperature sensor");
MODULE_LICENSE("GPL v2");
#include <linux/device.h> #include <linux/device.h>
#include <linux/module.h>
#include <linux/regmap.h> #include <linux/regmap.h>
#include "bmp280.h" #include "bmp280.h"
...@@ -37,6 +38,7 @@ const struct regmap_config bmp180_regmap_config = { ...@@ -37,6 +38,7 @@ const struct regmap_config bmp180_regmap_config = {
.writeable_reg = bmp180_is_writeable_reg, .writeable_reg = bmp180_is_writeable_reg,
.volatile_reg = bmp180_is_volatile_reg, .volatile_reg = bmp180_is_volatile_reg,
}; };
EXPORT_SYMBOL(bmp180_regmap_config);
static bool bmp280_is_writeable_reg(struct device *dev, unsigned int reg) static bool bmp280_is_writeable_reg(struct device *dev, unsigned int reg)
{ {
...@@ -79,3 +81,4 @@ const struct regmap_config bmp280_regmap_config = { ...@@ -79,3 +81,4 @@ const struct regmap_config bmp280_regmap_config = {
.writeable_reg = bmp280_is_writeable_reg, .writeable_reg = bmp280_is_writeable_reg,
.volatile_reg = bmp280_is_volatile_reg, .volatile_reg = bmp280_is_volatile_reg,
}; };
EXPORT_SYMBOL(bmp280_regmap_config);
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment