1*3ea51548SAlex Lanzano // SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*3ea51548SAlex Lanzano 3*3ea51548SAlex Lanzano #include <linux/module.h> 4*3ea51548SAlex Lanzano #include <linux/i2c.h> 5*3ea51548SAlex Lanzano #include <linux/iio/iio.h> 6*3ea51548SAlex Lanzano #include <linux/module.h> 7*3ea51548SAlex Lanzano #include <linux/mod_devicetable.h> 8*3ea51548SAlex Lanzano #include <linux/regmap.h> 9*3ea51548SAlex Lanzano 10*3ea51548SAlex Lanzano #include "bmi270.h" 11*3ea51548SAlex Lanzano 12*3ea51548SAlex Lanzano static int bmi270_i2c_probe(struct i2c_client *client) 13*3ea51548SAlex Lanzano { 14*3ea51548SAlex Lanzano struct regmap *regmap; 15*3ea51548SAlex Lanzano struct device *dev = &client->dev; 16*3ea51548SAlex Lanzano 17*3ea51548SAlex Lanzano regmap = devm_regmap_init_i2c(client, &bmi270_regmap_config); 18*3ea51548SAlex Lanzano if (IS_ERR(regmap)) 19*3ea51548SAlex Lanzano return dev_err_probe(dev, PTR_ERR(regmap), 20*3ea51548SAlex Lanzano "Failed to init i2c regmap"); 21*3ea51548SAlex Lanzano 22*3ea51548SAlex Lanzano return bmi270_core_probe(dev, regmap); 23*3ea51548SAlex Lanzano } 24*3ea51548SAlex Lanzano 25*3ea51548SAlex Lanzano static const struct i2c_device_id bmi270_i2c_id[] = { 26*3ea51548SAlex Lanzano { "bmi270", 0 }, 27*3ea51548SAlex Lanzano { } 28*3ea51548SAlex Lanzano }; 29*3ea51548SAlex Lanzano 30*3ea51548SAlex Lanzano static const struct of_device_id bmi270_of_match[] = { 31*3ea51548SAlex Lanzano { .compatible = "bosch,bmi270" }, 32*3ea51548SAlex Lanzano { } 33*3ea51548SAlex Lanzano }; 34*3ea51548SAlex Lanzano 35*3ea51548SAlex Lanzano static struct i2c_driver bmi270_i2c_driver = { 36*3ea51548SAlex Lanzano .driver = { 37*3ea51548SAlex Lanzano .name = "bmi270_i2c", 38*3ea51548SAlex Lanzano .of_match_table = bmi270_of_match, 39*3ea51548SAlex Lanzano }, 40*3ea51548SAlex Lanzano .probe = bmi270_i2c_probe, 41*3ea51548SAlex Lanzano .id_table = bmi270_i2c_id, 42*3ea51548SAlex Lanzano }; 43*3ea51548SAlex Lanzano module_i2c_driver(bmi270_i2c_driver); 44*3ea51548SAlex Lanzano 45*3ea51548SAlex Lanzano MODULE_AUTHOR("Alex Lanzano"); 46*3ea51548SAlex Lanzano MODULE_DESCRIPTION("BMI270 driver"); 47*3ea51548SAlex Lanzano MODULE_LICENSE("GPL"); 48*3ea51548SAlex Lanzano MODULE_IMPORT_NS(IIO_BMI270); 49