Home | History | Annotate | Download | only in scsipi

Lines Matching refs:ss

1 /*	$NetBSD: ss.c,v 1.91 2022/02/23 21:54:41 andvar Exp $	*/
34 __KERNEL_RCSID(0, "$NetBSD: ss.c,v 1.91 2022/02/23 21:54:41 andvar Exp $");
76 ss,
160 struct ss_softc *ss = device_private(self);
165 ss->sc_dev = self;
167 ss->flags |= SSF_AUTOCONF;
170 ss->sc_periph = periph;
171 periph->periph_dev = ss->sc_dev;
177 bufq_alloc(&ss->buf_queue, "fcfs", 0);
179 callout_init(&ss->sc_callout, 0);
187 mustek_attach(ss, sa);
190 scanjet_attach(ss, sa);
192 if (ss->special == NULL) {
195 ss->flags &= ~SSF_AUTOCONF;
201 struct ss_softc *ss = device_private(self);
202 struct scsipi_periph *periph = ss->sc_periph;
210 callout_halt(&ss->sc_callout, NULL);
215 bufq_drain(ss->buf_queue);
222 bufq_free(ss->buf_queue);
238 struct ss_softc *ss;
243 ss = device_lookup_private(&ss_cd, unit);
244 if (ss == NULL)
247 if (!device_is_active(ss->sc_dev))
252 periph = ss->sc_periph;
260 aprint_error_dev(ss->sc_dev, "already open\n");
306 struct ss_softc *ss = device_lookup_private(&ss_cd, SSUNIT(dev));
307 struct scsipi_periph *periph = ss->sc_periph;
311 SC_DEBUG(ss->sc_periph, SCSIPI_DB1, ("closing\n"));
314 if (ss->special && ss->special->rewind_scanner) {
316 error = (ss->special->rewind_scanner)(ss);
322 ss->sio.scan_window_size = 0;
323 ss->flags &= ~SSF_TRIGGERED;
341 struct ss_softc *ss = device_lookup_private(&ss_cd, SSUNIT(bp->b_dev));
342 struct scsipi_periph *periph = ss->sc_periph;
352 if (ss->special && ss->special->minphys)
353 (ss->special->minphys)(ss, bp);
364 struct ss_softc *ss = device_lookup_private(&ss_cd, SSUNIT(dev));
367 if (!device_is_active(ss->sc_dev))
371 if (!(ss->flags & SSF_TRIGGERED)) {
372 if (ss->special && ss->special->trigger_scanner) {
373 error = (ss->special->trigger_scanner)(ss);
377 ss->flags |= SSF_TRIGGERED;
391 struct ss_softc *ss = device_lookup_private(&ss_cd, SSUNIT(bp->b_dev));
392 struct scsipi_periph *periph = ss->sc_periph;
395 SC_DEBUG(ss->sc_periph, SCSIPI_DB1,
400 if (!device_is_active(ss->sc_dev)) {
414 if (bp->b_bcount > ss->sio.scan_window_size)
415 bp->b_bcount = ss->sio.scan_window_size;
428 bufq_put(ss->buf_queue, bp);
462 struct ss_softc *ss = device_private(periph->periph_dev);
477 if ((bp = bufq_peek(ss->buf_queue)) == NULL)
480 if (ss->special && ss->special->read)
481 (ss->special->read)(ss, bp);
520 struct ss_softc *ss = device_lookup_private(&ss_cd, SSUNIT(dev));
524 if (!device_is_active(ss->sc_dev))
529 if (ss->special && ss->special->get_params) {
531 error = (ss->special->get_params)(ss);
537 memcpy(addr, &ss->sio, sizeof(struct scan_io));
542 if (ss->special && ss->special->set_params) {
544 error = (ss->special->set_params)(ss, sio);
552 if (ss->special && ss->special->rewind_scanner ) {
554 error = (ss->special->rewind_scanner)(ss);
560 ss->flags &= ~SSF_TRIGGERED;
567 return scsipi_do_ioctl(ss->sc_periph, dev, cmd, addr, flag, l);