Lines Matching +full:ac100 +full:- +full:codec
1 // SPDX-License-Identifier: GPL-2.0-only
3 * MFD core driver for X-Powers' AC100 Audio Codec IC
5 * The AC100 is a highly integrated audio codec and RTC subsystem designed
10 * The audio codec and RTC parts are completely separate, sharing only the
13 * Copyright (2016) Chen-Yu Tsai
15 * Author: Chen-Yu Tsai <wens@csie.org>
21 #include <linux/mfd/ac100.h>
25 #include <linux/sunxi-rsb.h>
80 .name = "ac100-codec",
81 .of_compatible = "x-powers,ac100-codec",
83 .name = "ac100-rtc",
84 .of_compatible = "x-powers,ac100-rtc",
90 struct ac100_dev *ac100; in ac100_rsb_probe() local
93 ac100 = devm_kzalloc(&rdev->dev, sizeof(*ac100), GFP_KERNEL); in ac100_rsb_probe()
94 if (!ac100) in ac100_rsb_probe()
95 return -ENOMEM; in ac100_rsb_probe()
97 ac100->dev = &rdev->dev; in ac100_rsb_probe()
98 sunxi_rsb_device_set_drvdata(rdev, ac100); in ac100_rsb_probe()
100 ac100->regmap = devm_regmap_init_sunxi_rsb(rdev, &ac100_regmap_config); in ac100_rsb_probe()
101 if (IS_ERR(ac100->regmap)) { in ac100_rsb_probe()
102 ret = PTR_ERR(ac100->regmap); in ac100_rsb_probe()
103 dev_err(ac100->dev, "regmap init failed: %d\n", ret); in ac100_rsb_probe()
107 ret = devm_mfd_add_devices(ac100->dev, PLATFORM_DEVID_NONE, ac100_cells, in ac100_rsb_probe()
110 dev_err(ac100->dev, "failed to add MFD devices: %d\n", ret); in ac100_rsb_probe()
118 { .compatible = "x-powers,ac100" },
125 .name = "ac100",
132 MODULE_DESCRIPTION("Audio codec MFD core driver for AC100");
133 MODULE_AUTHOR("Chen-Yu Tsai <wens@csie.org>");