Lines Matching defs:spi
24 #include <linux/spi/spi.h>
25 #include <linux/spi/spidev.h>
73 struct spi_device *spi;
94 spidev_sync_unlocked(struct spi_device *spi, struct spi_message *message)
98 status = spi_sync(spi, message);
109 struct spi_device *spi;
112 spi = spidev->spi;
114 if (spi == NULL)
117 status = spidev_sync_unlocked(spi, message);
293 dev_dbg(&spidev->spi->dev,
299 k_tmp->bits_per_word ? : spidev->spi->bits_per_word,
302 k_tmp->speed_hz ? : spidev->spi->max_speed_hz);
307 status = spidev_sync_unlocked(spidev->spi, &msg);
359 struct spi_device *spi;
373 spi = spi_dev_get(spidev->spi);
374 if (spi == NULL) {
391 tmp = spi->mode;
394 struct spi_controller *ctlr = spi->controller;
397 ctlr->cs_gpiods[spi_get_chipselect(spi, 0)])
409 retval = put_user((spi->mode & SPI_LSB_FIRST) ? 1 : 0,
413 retval = put_user(spi->bits_per_word, (__u8 __user *)arg);
427 struct spi_controller *ctlr = spi->controller;
428 u32 save = spi->mode;
436 ctlr->cs_gpiods[spi_get_chipselect(spi, 0)])
439 tmp |= spi->mode & ~SPI_MODE_MASK;
440 spi->mode = tmp & SPI_MODE_USER_MASK;
441 retval = spi_setup(spi);
443 spi->mode = save;
445 dev_dbg(&spi->dev, "spi mode %x\n", tmp);
451 u32 save = spi->mode;
454 spi->mode |= SPI_LSB_FIRST;
456 spi->mode &= ~SPI_LSB_FIRST;
457 retval = spi_setup(spi);
459 spi->mode = save;
461 dev_dbg(&spi->dev, "%csb first\n",
468 u8 save = spi->bits_per_word;
470 spi->bits_per_word = tmp;
471 retval = spi_setup(spi);
473 spi->bits_per_word = save;
475 dev_dbg(&spi->dev, "%d bits per word\n", tmp);
489 save = spi->max_speed_hz;
491 spi->max_speed_hz = tmp;
492 retval = spi_setup(spi);
495 dev_dbg(&spi->dev, "%d Hz (max)\n", spidev->speed_hz);
498 spi->max_speed_hz = save;
520 spi_dev_put(spi);
533 struct spi_device *spi;
544 spi = spi_dev_get(spidev->spi);
545 if (spi == NULL) {
574 spi_dev_put(spi);
655 dofree = (spidev->spi == NULL);
671 spidev->speed_hz = spidev->spi->max_speed_hz;
675 spi_slave_abort(spidev->spi);
713 { .name = "spi-petra" },
714 { .name = "spi-authenta" },
719 MODULE_DEVICE_TABLE(spi, spidev_spi_ids);
735 { .compatible = "cisco,spi-petra", .data = &spidev_of_check },
740 { .compatible = "micron,spi-authenta", .data = &spidev_of_check },
772 static int spidev_probe(struct spi_device *spi)
779 match = device_get_match_data(&spi->dev);
781 status = match(&spi->dev);
792 spidev->spi = spi;
807 dev = device_create(spidev_class, &spi->dev, spidev->devt,
809 spi->master->bus_num, spi_get_chipselect(spi, 0));
812 dev_dbg(&spi->dev, "no minor number available!\n");
821 spidev->speed_hz = spi->max_speed_hz;
824 spi_set_drvdata(spi, spidev);
831 static void spidev_remove(struct spi_device *spi)
833 struct spidev_data *spidev = spi_get_drvdata(spi);
839 spidev->spi = NULL;
877 status = register_chrdev(SPIDEV_MAJOR, "spi", &spidev_fops);
907 MODULE_ALIAS("spi:spidev");