Lines Matching +full:lis302dl +full:- +full:spi

1 // SPDX-License-Identifier: GPL-2.0-only
3 * lis3lv02d_spi - SPI glue layer for lis3lv02d
14 #include <linux/spi/spi.h>
27 struct spi_device *spi = lis3->bus_priv; in lis3_spi_read() local
28 int ret = spi_w8r8(spi, reg | LIS3_SPI_READ); in lis3_spi_read()
30 return -EINVAL; in lis3_spi_read()
39 struct spi_device *spi = lis3->bus_priv; in lis3_spi_write() local
40 return spi_write(spi, tmp, sizeof(tmp)); in lis3_spi_write()
49 ret = lis3->read(lis3, CTRL_REG1, &reg); in lis3_spi_init()
54 return lis3->write(lis3, CTRL_REG1, reg); in lis3_spi_init()
62 { .compatible = "st,lis302dl-spi" },
68 static int lis302dl_spi_probe(struct spi_device *spi) in lis302dl_spi_probe() argument
72 spi->bits_per_word = 8; in lis302dl_spi_probe()
73 spi->mode = SPI_MODE_0; in lis302dl_spi_probe()
74 ret = spi_setup(spi); in lis302dl_spi_probe()
78 lis3_dev.bus_priv = spi; in lis302dl_spi_probe()
82 lis3_dev.irq = spi->irq; in lis302dl_spi_probe()
84 lis3_dev.pdata = spi->dev.platform_data; in lis302dl_spi_probe()
87 if (of_match_device(lis302dl_spi_dt_ids, &spi->dev)) { in lis302dl_spi_probe()
88 lis3_dev.of_node = spi->dev.of_node; in lis302dl_spi_probe()
94 spi_set_drvdata(spi, &lis3_dev); in lis302dl_spi_probe()
99 static void lis302dl_spi_remove(struct spi_device *spi) in lis302dl_spi_remove() argument
101 struct lis3lv02d *lis3 = spi_get_drvdata(spi); in lis302dl_spi_remove()
111 struct spi_device *spi = to_spi_device(dev); in lis3lv02d_spi_suspend() local
112 struct lis3lv02d *lis3 = spi_get_drvdata(spi); in lis3lv02d_spi_suspend()
114 if (!lis3->pdata || !lis3->pdata->wakeup_flags) in lis3lv02d_spi_suspend()
122 struct spi_device *spi = to_spi_device(dev); in lis3lv02d_spi_resume() local
123 struct lis3lv02d *lis3 = spi_get_drvdata(spi); in lis3lv02d_spi_resume()
125 if (!lis3->pdata || !lis3->pdata->wakeup_flags) in lis3lv02d_spi_resume()
148 MODULE_DESCRIPTION("lis3lv02d SPI glue layer");
150 MODULE_ALIAS("spi:" DRV_NAME);