Lines Matching refs:spi

78 	struct spi_device	*spi;  member
117 if (spidev->spi == NULL) in spidev_sync()
120 status = spi_async(spidev->spi, message); in spidev_sync()
298 dev_dbg(&spidev->spi->dev, in spidev_message()
304 u_tmp->bits_per_word ? : spidev->spi->bits_per_word, in spidev_message()
306 u_tmp->speed_hz ? : spidev->spi->max_speed_hz); in spidev_message()
372 struct spi_device *spi; in spidev_ioctl() local
399 spi = spi_dev_get(spidev->spi); in spidev_ioctl()
402 if (spi == NULL) in spidev_ioctl()
416 retval = __put_user(spi->mode & SPI_MODE_MASK, in spidev_ioctl()
420 retval = __put_user(spi->mode & SPI_MODE_MASK, in spidev_ioctl()
424 retval = __put_user((spi->mode & SPI_LSB_FIRST) ? 1 : 0, in spidev_ioctl()
428 retval = __put_user(spi->bits_per_word, (__u8 __user *)arg); in spidev_ioctl()
442 u32 save = spi->mode; in spidev_ioctl()
449 tmp |= spi->mode & ~SPI_MODE_MASK; in spidev_ioctl()
450 spi->mode = (u16)tmp; in spidev_ioctl()
451 retval = spi_setup(spi); in spidev_ioctl()
453 spi->mode = save; in spidev_ioctl()
455 dev_dbg(&spi->dev, "spi mode %x\n", tmp); in spidev_ioctl()
461 u32 save = spi->mode; in spidev_ioctl()
464 spi->mode |= SPI_LSB_FIRST; in spidev_ioctl()
466 spi->mode &= ~SPI_LSB_FIRST; in spidev_ioctl()
467 retval = spi_setup(spi); in spidev_ioctl()
469 spi->mode = save; in spidev_ioctl()
471 dev_dbg(&spi->dev, "%csb first\n", in spidev_ioctl()
478 u8 save = spi->bits_per_word; in spidev_ioctl()
480 spi->bits_per_word = tmp; in spidev_ioctl()
481 retval = spi_setup(spi); in spidev_ioctl()
483 spi->bits_per_word = save; in spidev_ioctl()
485 dev_dbg(&spi->dev, "%d bits per word\n", tmp); in spidev_ioctl()
491 u32 save = spi->max_speed_hz; in spidev_ioctl()
493 spi->max_speed_hz = tmp; in spidev_ioctl()
494 retval = spi_setup(spi); in spidev_ioctl()
498 dev_dbg(&spi->dev, "%d Hz (max)\n", tmp); in spidev_ioctl()
499 spi->max_speed_hz = save; in spidev_ioctl()
522 spi_dev_put(spi); in spidev_ioctl()
534 struct spi_device *spi; in spidev_compat_ioc_message() local
547 spi = spi_dev_get(spidev->spi); in spidev_compat_ioc_message()
550 if (spi == NULL) in spidev_compat_ioc_message()
577 spi_dev_put(spi); in spidev_compat_ioc_message()
617 dev_dbg(&spidev->spi->dev, "open/ENOMEM\n"); in spidev_open()
626 dev_dbg(&spidev->spi->dev, "open/ENOMEM\n"); in spidev_open()
667 if (spidev->spi) in spidev_release()
668 spidev->speed_hz = spidev->spi->max_speed_hz; in spidev_release()
672 dofree = (spidev->spi == NULL); in spidev_release()
717 static int spidev_probe(struct spi_device *spi) in spidev_probe() argument
728 if (spi->dev.of_node && !of_match_device(spidev_dt_ids, &spi->dev)) { in spidev_probe()
729 dev_err(&spi->dev, "buggy DT: spidev listed directly in DT\n"); in spidev_probe()
730 WARN_ON(spi->dev.of_node && in spidev_probe()
731 !of_match_device(spidev_dt_ids, &spi->dev)); in spidev_probe()
740 spidev->spi = spi; in spidev_probe()
755 dev = device_create(spidev_class, &spi->dev, spidev->devt, in spidev_probe()
757 spi->master->bus_num, spi->chip_select); in spidev_probe()
760 dev_dbg(&spi->dev, "no minor number available!\n"); in spidev_probe()
769 spidev->speed_hz = spi->max_speed_hz; in spidev_probe()
772 spi_set_drvdata(spi, spidev); in spidev_probe()
779 static int spidev_remove(struct spi_device *spi) in spidev_remove() argument
781 struct spidev_data *spidev = spi_get_drvdata(spi); in spidev_remove()
785 spidev->spi = NULL; in spidev_remove()