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

pcm512x-spi.c (1439B)


      1// SPDX-License-Identifier: GPL-2.0-only
      2/*
      3 * Driver for the PCM512x CODECs
      4 *
      5 * Author:	Mark Brown <broonie@kernel.org>
      6 *		Copyright 2014 Linaro Ltd
      7 */
      8
      9#include <linux/init.h>
     10#include <linux/module.h>
     11#include <linux/spi/spi.h>
     12
     13#include "pcm512x.h"
     14
     15static int pcm512x_spi_probe(struct spi_device *spi)
     16{
     17	struct regmap *regmap;
     18	int ret;
     19
     20	regmap = devm_regmap_init_spi(spi, &pcm512x_regmap);
     21	if (IS_ERR(regmap)) {
     22		ret = PTR_ERR(regmap);
     23		return ret;
     24	}
     25
     26	return pcm512x_probe(&spi->dev, regmap);
     27}
     28
     29static void pcm512x_spi_remove(struct spi_device *spi)
     30{
     31	pcm512x_remove(&spi->dev);
     32}
     33
     34static const struct spi_device_id pcm512x_spi_id[] = {
     35	{ "pcm5121", },
     36	{ "pcm5122", },
     37	{ "pcm5141", },
     38	{ "pcm5142", },
     39	{ },
     40};
     41MODULE_DEVICE_TABLE(spi, pcm512x_spi_id);
     42
     43static const struct of_device_id pcm512x_of_match[] = {
     44	{ .compatible = "ti,pcm5121", },
     45	{ .compatible = "ti,pcm5122", },
     46	{ .compatible = "ti,pcm5141", },
     47	{ .compatible = "ti,pcm5142", },
     48	{ }
     49};
     50MODULE_DEVICE_TABLE(of, pcm512x_of_match);
     51
     52static struct spi_driver pcm512x_spi_driver = {
     53	.probe		= pcm512x_spi_probe,
     54	.remove		= pcm512x_spi_remove,
     55	.id_table	= pcm512x_spi_id,
     56	.driver = {
     57		.name	= "pcm512x",
     58		.of_match_table = pcm512x_of_match,
     59		.pm     = &pcm512x_pm_ops,
     60	},
     61};
     62
     63module_spi_driver(pcm512x_spi_driver);
     64
     65MODULE_DESCRIPTION("ASoC PCM512x codec driver - SPI");
     66MODULE_AUTHOR("Mark Brown <broonie@kernel.org>");
     67MODULE_LICENSE("GPL v2");