Lines Matching defs:spi
14 #include <linux/spi/spi.h>
72 struct spi_device *spi = to_spi_device(dev);
73 struct sprd_pmic *ddata = spi_get_drvdata(spi);
84 dev_err(&spi->dev, "failed to detect charger type\n");
110 struct spi_device *spi = to_spi_device(dev);
112 return spi_write(spi, data, count);
120 struct spi_device *spi = to_spi_device(dev);
130 ret = spi_read(spi, rx_buf, 1);
152 static int sprd_pmic_probe(struct spi_device *spi)
158 pdata = of_device_get_match_data(&spi->dev);
160 dev_err(&spi->dev, "No matching driver data found\n");
164 ddata = devm_kzalloc(&spi->dev, sizeof(*ddata), GFP_KERNEL);
168 ddata->regmap = devm_regmap_init(&spi->dev, &sprd_pmic_regmap,
169 &spi->dev, &sprd_pmic_config);
172 dev_err(&spi->dev, "Failed to allocate register map %d\n", ret);
176 spi_set_drvdata(spi, ddata);
177 ddata->dev = &spi->dev;
178 ddata->irq = spi->irq;
181 ddata->irq_chip.name = dev_name(&spi->dev);
189 ddata->irqs = devm_kcalloc(&spi->dev,
199 ret = devm_regmap_add_irq_chip(&spi->dev, ddata->regmap, ddata->irq,
203 dev_err(&spi->dev, "Failed to add PMIC irq chip %d\n", ret);
207 ret = devm_of_platform_populate(&spi->dev);
209 dev_err(&spi->dev, "Failed to populate sub-devices %d\n", ret);
213 device_init_wakeup(&spi->dev, true);
252 MODULE_DEVICE_TABLE(spi, sprd_pmic_spi_ids);