~hui.wang/alsa-driver/tiwai-trunk-fgit

« back to all changes in this revision

Viewing changes to soc/codecs/cs4271-i2c.c

  • Committer: Hui Wang
  • Date: 2018-06-07 01:04:04 UTC
  • Revision ID: git-v1:baf13208df10376d9e4588ad3524aeb3c9973bdf
sync the alsa hda driver from Takashi's tree

Signed-off-by: Hui Wang <hui.wang@canonical.com>

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * CS4271 I2C audio driver
 
3
 *
 
4
 * Copyright (c) 2010 Alexander Sverdlin <subaparts@yandex.ru>
 
5
 *
 
6
 * This program is free software; you can redistribute it and/or
 
7
 * modify it under the terms of the GNU General Public License
 
8
 * as published by the Free Software Foundation; either version 2
 
9
 * of the License, or (at your option) any later version.
 
10
 *
 
11
 * This program is distributed in the hope that it will be useful,
 
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
14
 * GNU General Public License for more details.
 
15
 */
 
16
 
 
17
#include <linux/module.h>
 
18
#include <linux/i2c.h>
 
19
#include <linux/regmap.h>
 
20
#include <sound/soc.h>
 
21
#include "cs4271.h"
 
22
 
 
23
static int cs4271_i2c_probe(struct i2c_client *client,
 
24
                             const struct i2c_device_id *id)
 
25
{
 
26
        struct regmap_config config;
 
27
 
 
28
        config = cs4271_regmap_config;
 
29
        config.reg_bits = 8;
 
30
        config.val_bits = 8;
 
31
 
 
32
        return cs4271_probe(&client->dev,
 
33
                            devm_regmap_init_i2c(client, &config));
 
34
}
 
35
 
 
36
static const struct i2c_device_id cs4271_i2c_id[] = {
 
37
        { "cs4271", 0 },
 
38
        { }
 
39
};
 
40
MODULE_DEVICE_TABLE(i2c, cs4271_i2c_id);
 
41
 
 
42
static struct i2c_driver cs4271_i2c_driver = {
 
43
        .driver = {
 
44
                .name = "cs4271",
 
45
                .of_match_table = of_match_ptr(cs4271_dt_ids),
 
46
        },
 
47
        .probe = cs4271_i2c_probe,
 
48
        .id_table = cs4271_i2c_id,
 
49
};
 
50
module_i2c_driver(cs4271_i2c_driver);
 
51
 
 
52
MODULE_DESCRIPTION("ASoC CS4271 I2C Driver");
 
53
MODULE_AUTHOR("Alexander Sverdlin <subaparts@yandex.ru>");
 
54
MODULE_LICENSE("GPL");