Lines Matching refs:pp
106 static inline void deassertCS(struct spi_lm70llp *pp) in deassertCS() argument
108 u8 data = parport_read_data(pp->port); in deassertCS()
111 parport_write_data(pp->port, data | nCS); in deassertCS()
114 static inline void assertCS(struct spi_lm70llp *pp) in assertCS() argument
116 u8 data = parport_read_data(pp->port); in assertCS()
119 parport_write_data(pp->port, data & ~nCS); in assertCS()
122 static inline void clkHigh(struct spi_lm70llp *pp) in clkHigh() argument
124 u8 data = parport_read_data(pp->port); in clkHigh()
125 parport_write_data(pp->port, data | SCLK); in clkHigh()
128 static inline void clkLow(struct spi_lm70llp *pp) in clkLow() argument
130 u8 data = parport_read_data(pp->port); in clkLow()
131 parport_write_data(pp->port, data & ~SCLK); in clkLow()
143 struct spi_lm70llp *pp = spidev_to_pp(s); in setsck() local
146 clkHigh(pp); in setsck()
148 clkLow(pp); in setsck()
168 struct spi_lm70llp *pp = spidev_to_pp(s); in getmiso() local
169 return ((SIO == (parport_read_status(pp->port) & SIO)) ? 0 : 1 ); in getmiso()
177 struct spi_lm70llp *pp = spidev_to_pp(spi); in lm70_chipselect() local
180 assertCS(pp); in lm70_chipselect()
182 deassertCS(pp); in lm70_chipselect()
196 struct spi_lm70llp *pp; in spi_lm70llp_attach() local
211 master = spi_alloc_master(p->physport->dev, sizeof *pp); in spi_lm70llp_attach()
216 pp = spi_master_get_devdata(master); in spi_lm70llp_attach()
221 pp->bitbang.master = master; in spi_lm70llp_attach()
222 pp->bitbang.chipselect = lm70_chipselect; in spi_lm70llp_attach()
223 pp->bitbang.txrx_word[SPI_MODE_0] = lm70_txrx; in spi_lm70llp_attach()
224 pp->bitbang.flags = SPI_3WIRE; in spi_lm70llp_attach()
229 pp->port = p; in spi_lm70llp_attach()
232 PARPORT_FLAG_EXCL, pp); in spi_lm70llp_attach()
237 pp->pd = pd; in spi_lm70llp_attach()
246 status = spi_bitbang_start(&pp->bitbang); in spi_lm70llp_attach()
260 strcpy(pp->info.modalias, "lm70"); in spi_lm70llp_attach()
261 pp->info.max_speed_hz = 6 * 1000 * 1000; in spi_lm70llp_attach()
262 pp->info.chip_select = 0; in spi_lm70llp_attach()
263 pp->info.mode = SPI_3WIRE | SPI_MODE_0; in spi_lm70llp_attach()
266 parport_write_data(pp->port, lm70_INIT); in spi_lm70llp_attach()
271 pp->info.controller_data = pp; in spi_lm70llp_attach()
272 pp->spidev_lm70 = spi_new_device(pp->bitbang.master, &pp->info); in spi_lm70llp_attach()
273 if (pp->spidev_lm70) in spi_lm70llp_attach()
274 dev_dbg(&pp->spidev_lm70->dev, "spidev_lm70 at %s\n", in spi_lm70llp_attach()
275 dev_name(&pp->spidev_lm70->dev)); in spi_lm70llp_attach()
281 pp->spidev_lm70->bits_per_word = 8; in spi_lm70llp_attach()
283 lm70llp = pp; in spi_lm70llp_attach()
287 spi_bitbang_stop(&pp->bitbang); in spi_lm70llp_attach()
290 parport_write_data(pp->port, 0); in spi_lm70llp_attach()
292 parport_release(pp->pd); in spi_lm70llp_attach()
303 struct spi_lm70llp *pp; in spi_lm70llp_detach() local
308 pp = lm70llp; in spi_lm70llp_detach()
309 spi_bitbang_stop(&pp->bitbang); in spi_lm70llp_detach()
312 parport_write_data(pp->port, 0); in spi_lm70llp_detach()
314 parport_release(pp->pd); in spi_lm70llp_detach()
315 parport_unregister_device(pp->pd); in spi_lm70llp_detach()
317 (void) spi_master_put(pp->bitbang.master); in spi_lm70llp_detach()