Lines Matching refs:spi
66 struct spi_device *spi = to_spi_device(dev); in rs5c348_rtc_set_time() local
67 struct rs5c348_plat_data *pdata = dev_get_platdata(&spi->dev); in rs5c348_rtc_set_time()
94 ret = spi_write_then_read(spi, txbuf, sizeof(txbuf), NULL, 0); in rs5c348_rtc_set_time()
102 struct spi_device *spi = to_spi_device(dev); in rs5c348_rtc_read_time() local
103 struct rs5c348_plat_data *pdata = dev_get_platdata(&spi->dev); in rs5c348_rtc_read_time()
115 ret = spi_write_then_read(spi, txbuf, sizeof(txbuf), in rs5c348_rtc_read_time()
141 dev_err(&spi->dev, "retrieved date/time is not valid.\n"); in rs5c348_rtc_read_time()
155 static int rs5c348_probe(struct spi_device *spi) in rs5c348_probe() argument
161 pdata = devm_kzalloc(&spi->dev, sizeof(struct rs5c348_plat_data), in rs5c348_probe()
165 spi->dev.platform_data = pdata; in rs5c348_probe()
168 ret = spi_w8r8(spi, RS5C348_CMD_R(RS5C348_REG_SECS)); in rs5c348_probe()
170 dev_err(&spi->dev, "not found.\n"); in rs5c348_probe()
174 dev_info(&spi->dev, "chip found, driver version " DRV_VERSION "\n"); in rs5c348_probe()
175 dev_info(&spi->dev, "spiclk %u KHz.\n", in rs5c348_probe()
176 (spi->max_speed_hz + 500) / 1000); in rs5c348_probe()
179 ret = spi_w8r8(spi, RS5C348_CMD_R(RS5C348_REG_CTL2)); in rs5c348_probe()
186 dev_warn(&spi->dev, "voltage-low detected.\n"); in rs5c348_probe()
188 dev_warn(&spi->dev, "oscillator-stop detected.\n"); in rs5c348_probe()
190 ret = rs5c348_rtc_set_time(&spi->dev, &tm); in rs5c348_probe()
195 ret = spi_write_then_read(spi, buf, sizeof(buf), NULL, 0); in rs5c348_probe()
200 ret = spi_w8r8(spi, RS5C348_CMD_R(RS5C348_REG_CTL1)); in rs5c348_probe()
206 rtc = devm_rtc_device_register(&spi->dev, rs5c348_driver.driver.name, in rs5c348_probe()