Lines Matching +full:spi +full:- +full:base
1 // SPDX-License-Identifier: GPL-2.0-only
3 // CS35L56 ALSA SoC audio driver SPI binding
12 #include <linux/spi/spi.h>
17 static int cs35l56_spi_probe(struct spi_device *spi) in cs35l56_spi_probe() argument
23 cs35l56 = devm_kzalloc(&spi->dev, sizeof(struct cs35l56_private), GFP_KERNEL); in cs35l56_spi_probe()
25 return -ENOMEM; in cs35l56_spi_probe()
27 spi_set_drvdata(spi, cs35l56); in cs35l56_spi_probe()
28 cs35l56->base.regmap = devm_regmap_init_spi(spi, regmap_config); in cs35l56_spi_probe()
29 if (IS_ERR(cs35l56->base.regmap)) { in cs35l56_spi_probe()
30 ret = PTR_ERR(cs35l56->base.regmap); in cs35l56_spi_probe()
31 return dev_err_probe(&spi->dev, ret, "Failed to allocate register map\n"); in cs35l56_spi_probe()
34 cs35l56->base.dev = &spi->dev; in cs35l56_spi_probe()
42 ret = cs35l56_irq_request(&cs35l56->base, spi->irq); in cs35l56_spi_probe()
49 static void cs35l56_spi_remove(struct spi_device *spi) in cs35l56_spi_remove() argument
51 struct cs35l56_private *cs35l56 = spi_get_drvdata(spi); in cs35l56_spi_remove()
60 MODULE_DEVICE_TABLE(spi, cs35l56_id_spi);
83 MODULE_DESCRIPTION("ASoC CS35L56 SPI driver");