cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

mma7455_i2c.c (1483B)


      1// SPDX-License-Identifier: GPL-2.0-only
      2/*
      3 * IIO accel I2C driver for Freescale MMA7455L 3-axis 10-bit accelerometer
      4 * Copyright 2015 Joachim Eastwood <manabian@gmail.com>
      5 */
      6
      7#include <linux/i2c.h>
      8#include <linux/module.h>
      9#include <linux/regmap.h>
     10
     11#include "mma7455.h"
     12
     13static int mma7455_i2c_probe(struct i2c_client *i2c,
     14			     const struct i2c_device_id *id)
     15{
     16	struct regmap *regmap;
     17	const char *name = NULL;
     18
     19	regmap = devm_regmap_init_i2c(i2c, &mma7455_core_regmap);
     20	if (IS_ERR(regmap))
     21		return PTR_ERR(regmap);
     22
     23	if (id)
     24		name = id->name;
     25
     26	return mma7455_core_probe(&i2c->dev, regmap, name);
     27}
     28
     29static int mma7455_i2c_remove(struct i2c_client *i2c)
     30{
     31	mma7455_core_remove(&i2c->dev);
     32
     33	return 0;
     34}
     35
     36static const struct i2c_device_id mma7455_i2c_ids[] = {
     37	{ "mma7455", 0 },
     38	{ "mma7456", 0 },
     39	{ }
     40};
     41MODULE_DEVICE_TABLE(i2c, mma7455_i2c_ids);
     42
     43static const struct of_device_id mma7455_of_match[] = {
     44	{ .compatible = "fsl,mma7455" },
     45	{ .compatible = "fsl,mma7456" },
     46	{ }
     47};
     48MODULE_DEVICE_TABLE(of, mma7455_of_match);
     49
     50static struct i2c_driver mma7455_i2c_driver = {
     51	.probe = mma7455_i2c_probe,
     52	.remove = mma7455_i2c_remove,
     53	.id_table = mma7455_i2c_ids,
     54	.driver = {
     55		.name	= "mma7455-i2c",
     56		.of_match_table = mma7455_of_match,
     57	},
     58};
     59module_i2c_driver(mma7455_i2c_driver);
     60
     61MODULE_AUTHOR("Joachim Eastwood <manabian@gmail.com>");
     62MODULE_DESCRIPTION("Freescale MMA7455L I2C accelerometer driver");
     63MODULE_LICENSE("GPL v2");
     64MODULE_IMPORT_NS(IIO_MMA7455);