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

adau1977-i2c.c (1266B)


      1// SPDX-License-Identifier: GPL-2.0-only
      2/*
      3 * ADAU1977/ADAU1978/ADAU1979 driver
      4 *
      5 * Copyright 2014 Analog Devices Inc.
      6 *  Author: Lars-Peter Clausen <lars@metafoo.de>
      7 */
      8
      9#include <linux/i2c.h>
     10#include <linux/mod_devicetable.h>
     11#include <linux/module.h>
     12#include <linux/regmap.h>
     13#include <sound/soc.h>
     14
     15#include "adau1977.h"
     16
     17static const struct i2c_device_id adau1977_i2c_ids[];
     18
     19static int adau1977_i2c_probe(struct i2c_client *client)
     20{
     21	struct regmap_config config;
     22	const struct i2c_device_id *id = i2c_match_id(adau1977_i2c_ids, client);
     23
     24	config = adau1977_regmap_config;
     25	config.val_bits = 8;
     26	config.reg_bits = 8;
     27
     28	return adau1977_probe(&client->dev,
     29		devm_regmap_init_i2c(client, &config),
     30		id->driver_data, NULL);
     31}
     32
     33static const struct i2c_device_id adau1977_i2c_ids[] = {
     34	{ "adau1977", ADAU1977 },
     35	{ "adau1978", ADAU1978 },
     36	{ "adau1979", ADAU1978 },
     37	{ }
     38};
     39MODULE_DEVICE_TABLE(i2c, adau1977_i2c_ids);
     40
     41static struct i2c_driver adau1977_i2c_driver = {
     42	.driver = {
     43		.name = "adau1977",
     44	},
     45	.probe_new = adau1977_i2c_probe,
     46	.id_table = adau1977_i2c_ids,
     47};
     48module_i2c_driver(adau1977_i2c_driver);
     49
     50MODULE_DESCRIPTION("ASoC ADAU1977/ADAU1978/ADAU1979 driver");
     51MODULE_AUTHOR("Lars-Peter Clausen <lars@metafoo.de>");
     52MODULE_LICENSE("GPL");