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 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); }