root/drivers/iio/imu/bmi160/bmi160_spi.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. bmi160_spi_probe

   1 // SPDX-License-Identifier: GPL-2.0
   2 /*
   3  * BMI160 - Bosch IMU, SPI bits
   4  *
   5  * Copyright (c) 2016, Intel Corporation.
   6  *
   7  */
   8 #include <linux/acpi.h>
   9 #include <linux/module.h>
  10 #include <linux/of.h>
  11 #include <linux/regmap.h>
  12 #include <linux/spi/spi.h>
  13 
  14 #include "bmi160.h"
  15 
  16 static int bmi160_spi_probe(struct spi_device *spi)
  17 {
  18         struct regmap *regmap;
  19         const struct spi_device_id *id = spi_get_device_id(spi);
  20 
  21         regmap = devm_regmap_init_spi(spi, &bmi160_regmap_config);
  22         if (IS_ERR(regmap)) {
  23                 dev_err(&spi->dev, "Failed to register spi regmap %d\n",
  24                         (int)PTR_ERR(regmap));
  25                 return PTR_ERR(regmap);
  26         }
  27         return bmi160_core_probe(&spi->dev, regmap, id->name, true);
  28 }
  29 
  30 static const struct spi_device_id bmi160_spi_id[] = {
  31         {"bmi160", 0},
  32         {}
  33 };
  34 MODULE_DEVICE_TABLE(spi, bmi160_spi_id);
  35 
  36 static const struct acpi_device_id bmi160_acpi_match[] = {
  37         {"BMI0160", 0},
  38         { },
  39 };
  40 MODULE_DEVICE_TABLE(acpi, bmi160_acpi_match);
  41 
  42 #ifdef CONFIG_OF
  43 static const struct of_device_id bmi160_of_match[] = {
  44         { .compatible = "bosch,bmi160" },
  45         { },
  46 };
  47 MODULE_DEVICE_TABLE(of, bmi160_of_match);
  48 #endif
  49 
  50 static struct spi_driver bmi160_spi_driver = {
  51         .probe          = bmi160_spi_probe,
  52         .id_table       = bmi160_spi_id,
  53         .driver = {
  54                 .acpi_match_table       = ACPI_PTR(bmi160_acpi_match),
  55                 .of_match_table         = of_match_ptr(bmi160_of_match),
  56                 .name                   = "bmi160_spi",
  57         },
  58 };
  59 module_spi_driver(bmi160_spi_driver);
  60 
  61 MODULE_AUTHOR("Daniel Baluta <daniel.baluta@intel.com");
  62 MODULE_DESCRIPTION("Bosch BMI160 SPI driver");
  63 MODULE_LICENSE("GPL v2");

/* [<][>][^][v][top][bottom][index][help] */