[BACK]Return to auvitek_dtv.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / dev / usb

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/sys/dev/usb/auvitek_dtv.c between version 1.2 and 1.3

version 1.2, 2011/07/10 00:47:34 version 1.3, 2011/08/09 01:42:24
Line 60  static int  auvitek_dtv_set_tuner(void *
Line 60  static int  auvitek_dtv_set_tuner(void *
 static fe_status_t      auvitek_dtv_get_status(void *);  static fe_status_t      auvitek_dtv_get_status(void *);
 static uint16_t         auvitek_dtv_get_signal_strength(void *);  static uint16_t         auvitek_dtv_get_signal_strength(void *);
 static uint16_t         auvitek_dtv_get_snr(void *);  static uint16_t         auvitek_dtv_get_snr(void *);
 static int              auvitek_dtv_start_transfer(void *);  static int              auvitek_dtv_start_transfer(void *,
                               void (*)(void *, const struct dtv_payload *),
                               void *);
 static int              auvitek_dtv_stop_transfer(void *);  static int              auvitek_dtv_stop_transfer(void *);
   
 static int              auvitek_dtv_init_pipes(struct auvitek_softc *);  static int              auvitek_dtv_init_pipes(struct auvitek_softc *);
Line 87  static const struct dtv_hw_if auvitek_dt
Line 89  static const struct dtv_hw_if auvitek_dt
 int  int
 auvitek_dtv_attach(struct auvitek_softc *sc)  auvitek_dtv_attach(struct auvitek_softc *sc)
 {  {
         struct dtv_attach_args daa;  
   
         daa.hw = &auvitek_dtv_if;          auvitek_dtv_rescan(sc, NULL, NULL);
         daa.priv = sc;  
         sc->sc_dtvdev = config_found_ia(sc->sc_dev, "dtvbus", &daa, dtv_print);  
   
         return (sc->sc_dtvdev != NULL);          return (sc->sc_dtvdev != NULL);
 }  }
Line 108  auvitek_dtv_detach(struct auvitek_softc 
Line 107  auvitek_dtv_detach(struct auvitek_softc 
 }  }
   
 void  void
   auvitek_dtv_rescan(struct auvitek_softc *sc, const char *ifattr,
       const int *locs)
   {
           struct dtv_attach_args daa;
   
           daa.hw = &auvitek_dtv_if;
           daa.priv = sc;
   
           if (ifattr_match(ifattr, "dtvbus") && sc->sc_dtvdev == NULL)
                   sc->sc_dtvdev = config_found_ia(sc->sc_dev, "dtvbus",
                       &daa, dtv_print);
   }
   
   void
 auvitek_dtv_childdet(struct auvitek_softc *sc, device_t child)  auvitek_dtv_childdet(struct auvitek_softc *sc, device_t child)
 {  {
         if (sc->sc_dtvdev == child)          if (sc->sc_dtvdev == child)
Line 158  auvitek_dtv_close(void *priv)
Line 171  auvitek_dtv_close(void *priv)
   
         auvitek_dtv_stop_transfer(sc);          auvitek_dtv_stop_transfer(sc);
         auvitek_dtv_close_pipes(sc);          auvitek_dtv_close_pipes(sc);
   
           sc->sc_dtvsubmitcb = NULL;
           sc->sc_dtvsubmitarg = NULL;
 }  }
   
 static int  static int
Line 202  auvitek_dtv_get_snr(void *priv)
Line 218  auvitek_dtv_get_snr(void *priv)
 }  }
   
 static int  static int
 auvitek_dtv_start_transfer(void *priv)  auvitek_dtv_start_transfer(void *priv,
       void (*cb)(void *, const struct dtv_payload *), void *arg)
 {  {
         struct auvitek_softc *sc = priv;          struct auvitek_softc *sc = priv;
         int s;          int s;
Line 211  auvitek_dtv_start_transfer(void *priv)
Line 228  auvitek_dtv_start_transfer(void *priv)
                 return 0;                  return 0;
         }          }
   
           sc->sc_dtvsubmitcb = cb;
           sc->sc_dtvsubmitarg = arg;
   
         auvitek_write_1(sc, 0x608, 0x90);          auvitek_write_1(sc, 0x608, 0x90);
         auvitek_write_1(sc, 0x609, 0x72);          auvitek_write_1(sc, 0x609, 0x72);
         auvitek_write_1(sc, 0x60a, 0x71);          auvitek_write_1(sc, 0x60a, 0x71);
Line 278  auvitek_dtv_bulk_cb(usbd_xfer_handle xfe
Line 298  auvitek_dtv_bulk_cb(usbd_xfer_handle xfe
         struct dtv_payload payload;          struct dtv_payload payload;
         uint32_t xferlen;          uint32_t xferlen;
   
         if (ab->ab_running == false)          if (ab->ab_running == false || sc->sc_dtvsubmitcb == NULL)
                 return;                  return;
   
         usbd_get_xfer_status(xfer, NULL, NULL, &xferlen, NULL);          usbd_get_xfer_status(xfer, NULL, NULL, &xferlen, NULL);
Line 304  auvitek_dtv_bulk_cb(usbd_xfer_handle xfe
Line 324  auvitek_dtv_bulk_cb(usbd_xfer_handle xfe
   
         payload.data = bx->bx_buffer;          payload.data = bx->bx_buffer;
         payload.size = xferlen;          payload.size = xferlen;
         dtv_submit_payload(sc->sc_dtvdev, &payload);          sc->sc_dtvsubmitcb(sc->sc_dtvsubmitarg, &payload);
   
 next:  next:
         auvitek_dtv_bulk_start1(bx);          auvitek_dtv_bulk_start1(bx);

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

CVSweb <webmaster@jp.NetBSD.org>