static inline void setsck(struct spi_device *s, int is_on) { struct spi_lm70llp *pp = spidev_to_pp(s); if (is_on) clkHigh(pp); else clkLow(pp); }
static void lm70_chipselect(struct spi_device *spi, int value) { struct spi_lm70llp *pp = spidev_to_pp(spi); if (value) assertCS(pp); else deassertCS(pp); }
static inline int getmiso(struct spi_device *spi) { struct butterfly *pp = spidev_to_pp(spi); int value; u8 bit; bit = spi_miso_bit; /* only STATUS_BUSY is NOT negated */ value = !(parport_read_status(pp->port) & bit); return (bit == PARPORT_STATUS_BUSY) ? value : !value; }
static void butterfly_chipselect(struct spi_device *spi, int value) { struct butterfly *pp = spidev_to_pp(spi); if (value != BITBANG_CS_INACTIVE) setsck(spi, spi->mode & SPI_CPOL); if (spi_cs_bit == PARPORT_CONTROL_INIT) value = !value; parport_frob_control(pp->port, spi_cs_bit, value ? spi_cs_bit : 0); }
static inline void setmosi(struct spi_device *spi, int is_on) { struct butterfly *pp = spidev_to_pp(spi); u8 bit, byte = pp->lastbyte; bit = spi_mosi_bit; if (is_on) byte |= bit; else byte &= ~bit; parport_write_data(pp->port, byte); pp->lastbyte = byte; }
static void butterfly_chipselect(struct spi_device *spi, int value) { struct butterfly *pp = spidev_to_pp(spi); /* set default clock polarity */ if (value != BITBANG_CS_INACTIVE) setsck(spi, spi->mode & SPI_CPOL); /* here, value == "activate or not"; * most PARPORT_CONTROL_* bits are negated, so we must * morph it to value == "bit value to write in control register" */ if (spi_cs_bit == PARPORT_CONTROL_INIT) value = !value; parport_frob_control(pp->port, spi_cs_bit, value ? spi_cs_bit : 0); }
static void butterfly_chipselect(struct spi_device *spi, int value) { struct butterfly *pp = spidev_to_pp(spi); /* set default clock polarity */ if (value) setsck(spi, spi->mode & SPI_CPOL); /* no chipselect on this USI link config */ if (is_usidev(spi)) return; /* here, value == "activate or not" */ /* most PARPORT_CONTROL_* bits are negated */ if (spi_cs_bit == PARPORT_CONTROL_INIT) value = !value; /* here, value == "bit value to write in control register" */ parport_frob_control(pp->port, spi_cs_bit, value ? spi_cs_bit : 0); }
static inline int getmiso(struct spi_device *s) { struct spi_lm70llp *pp = spidev_to_pp(s); return ((SIO == (parport_read_status(pp->port) & SIO)) ? 0 : 1 ); }