Lines Matching refs:spi

55 static inline struct ath79_spi *ath79_spidev_to_sp(struct spi_device *spi)  in ath79_spidev_to_sp()  argument
57 return spi_master_get_devdata(spi->master); in ath79_spidev_to_sp()
66 static void ath79_spi_chipselect(struct spi_device *spi, int is_active) in ath79_spi_chipselect() argument
68 struct ath79_spi *sp = ath79_spidev_to_sp(spi); in ath79_spi_chipselect()
69 int cs_high = (spi->mode & SPI_CS_HIGH) ? is_active : !is_active; in ath79_spi_chipselect()
73 if (spi->mode & SPI_CPOL) in ath79_spi_chipselect()
81 if (spi->chip_select) { in ath79_spi_chipselect()
83 gpio_set_value(spi->cs_gpio, cs_high); in ath79_spi_chipselect()
116 static int ath79_spi_setup_cs(struct spi_device *spi) in ath79_spi_setup_cs() argument
118 struct ath79_spi *sp = ath79_spidev_to_sp(spi); in ath79_spi_setup_cs()
121 if (spi->chip_select && !gpio_is_valid(spi->cs_gpio)) in ath79_spi_setup_cs()
125 if (spi->chip_select) { in ath79_spi_setup_cs()
129 if (spi->mode & SPI_CS_HIGH) in ath79_spi_setup_cs()
134 status = gpio_request_one(spi->cs_gpio, flags, in ath79_spi_setup_cs()
135 dev_name(&spi->dev)); in ath79_spi_setup_cs()
137 if (spi->mode & SPI_CS_HIGH) in ath79_spi_setup_cs()
148 static void ath79_spi_cleanup_cs(struct spi_device *spi) in ath79_spi_cleanup_cs() argument
150 if (spi->chip_select) { in ath79_spi_cleanup_cs()
151 gpio_free(spi->cs_gpio); in ath79_spi_cleanup_cs()
155 static int ath79_spi_setup(struct spi_device *spi) in ath79_spi_setup() argument
159 if (!spi->controller_state) { in ath79_spi_setup()
160 status = ath79_spi_setup_cs(spi); in ath79_spi_setup()
165 status = spi_bitbang_setup(spi); in ath79_spi_setup()
166 if (status && !spi->controller_state) in ath79_spi_setup()
167 ath79_spi_cleanup_cs(spi); in ath79_spi_setup()
172 static void ath79_spi_cleanup(struct spi_device *spi) in ath79_spi_cleanup() argument
174 ath79_spi_cleanup_cs(spi); in ath79_spi_cleanup()
175 spi_bitbang_cleanup(spi); in ath79_spi_cleanup()
178 static u32 ath79_spi_txrx_mode0(struct spi_device *spi, unsigned nsecs, in ath79_spi_txrx_mode0() argument
181 struct ath79_spi *sp = ath79_spidev_to_sp(spi); in ath79_spi_txrx_mode0()