|
Lines 95-100
Link Here
|
| 95 |
{ USB_VENDOR_AGFA, USB_PRODUCT_AGFA_SNAPSCAN1212U }, |
95 |
{ USB_VENDOR_AGFA, USB_PRODUCT_AGFA_SNAPSCAN1212U }, |
| 96 |
{ USB_VENDOR_AGFA, USB_PRODUCT_AGFA_SNAPSCAN1212U2 }, |
96 |
{ USB_VENDOR_AGFA, USB_PRODUCT_AGFA_SNAPSCAN1212U2 }, |
| 97 |
{ USB_VENDOR_AGFA, USB_PRODUCT_AGFA_SNAPSCANTOUCH }, |
97 |
{ USB_VENDOR_AGFA, USB_PRODUCT_AGFA_SNAPSCANTOUCH }, |
|
|
98 |
{ USB_VENDOR_AGFA, USB_PRODUCT_AGFA_SNAPSCAN1236U }, |
| 99 |
{ USB_VENDOR_AGFA, USB_PRODUCT_AGFA_SNAPSCANE20 }, |
| 100 |
{ USB_VENDOR_AGFA, USB_PRODUCT_AGFA_SNAPSCANE25 }, |
| 101 |
{ USB_VENDOR_AGFA, USB_PRODUCT_AGFA_SNAPSCANE26 }, |
| 102 |
{ USB_VENDOR_AGFA, USB_PRODUCT_AGFA_SNAPSCANE40 }, |
| 103 |
{ USB_VENDOR_AGFA, USB_PRODUCT_AGFA_SNAPSCANE50 }, |
| 104 |
{ USB_VENDOR_AGFA, USB_PRODUCT_AGFA_SNAPSCANE52 }, |
| 98 |
|
105 |
|
| 99 |
/* Kye */ |
106 |
/* Kye */ |
| 100 |
{ USB_VENDOR_KYE, USB_PRODUCT_KYE_VIVIDPRO }, |
107 |
{ USB_VENDOR_KYE, USB_PRODUCT_KYE_VIVIDPRO }, |
|
Lines 197-202
Link Here
|
| 197 |
|
204 |
|
| 198 |
int sc_refcnt; |
205 |
int sc_refcnt; |
| 199 |
u_char sc_dying; |
206 |
u_char sc_dying; |
|
|
207 |
u_int16_t sc_vendor_id; |
| 208 |
u_int16_t sc_product_id; |
| 200 |
}; |
209 |
}; |
| 201 |
|
210 |
|
| 202 |
#if defined(__NetBSD__) || defined(__OpenBSD__) |
211 |
#if defined(__NetBSD__) || defined(__OpenBSD__) |
|
Lines 207-213
Link Here
|
| 207 |
d_read_t uscannerread; |
216 |
d_read_t uscannerread; |
| 208 |
d_write_t uscannerwrite; |
217 |
d_write_t uscannerwrite; |
| 209 |
d_poll_t uscannerpoll; |
218 |
d_poll_t uscannerpoll; |
| 210 |
|
219 |
d_ioctl_t uscannerioctl; |
| 211 |
#define USCANNER_CDEV_MAJOR 156 |
220 |
#define USCANNER_CDEV_MAJOR 156 |
| 212 |
|
221 |
|
| 213 |
Static struct cdevsw uscanner_cdevsw = { |
222 |
Static struct cdevsw uscanner_cdevsw = { |
|
Lines 215-221
Link Here
|
| 215 |
/* close */ uscannerclose, |
224 |
/* close */ uscannerclose, |
| 216 |
/* read */ uscannerread, |
225 |
/* read */ uscannerread, |
| 217 |
/* write */ uscannerwrite, |
226 |
/* write */ uscannerwrite, |
| 218 |
/* ioctl */ noioctl, |
227 |
/* ioctl */ uscannerioctl, |
| 219 |
/* poll */ uscannerpoll, |
228 |
/* poll */ uscannerpoll, |
| 220 |
/* mmap */ nommap, |
229 |
/* mmap */ nommap, |
| 221 |
/* strategy */ nostrategy, |
230 |
/* strategy */ nostrategy, |
|
Lines 267-272
Link Here
|
| 267 |
printf("%s: %s\n", USBDEVNAME(sc->sc_dev), devinfo); |
276 |
printf("%s: %s\n", USBDEVNAME(sc->sc_dev), devinfo); |
| 268 |
|
277 |
|
| 269 |
sc->sc_udev = uaa->device; |
278 |
sc->sc_udev = uaa->device; |
|
|
279 |
sc->sc_vendor_id = uaa->vendor; |
| 280 |
sc->sc_product_id = uaa->product; |
| 270 |
|
281 |
|
| 271 |
err = usbd_set_config_no(uaa->device, 1, 1); /* XXX */ |
282 |
err = usbd_set_config_no(uaa->device, 1, 1); /* XXX */ |
| 272 |
if (err) { |
283 |
if (err) { |
|
Lines 338-346
Link Here
|
| 338 |
|
349 |
|
| 339 |
USB_GET_SC_OPEN(uscanner, unit, sc); |
350 |
USB_GET_SC_OPEN(uscanner, unit, sc); |
| 340 |
|
351 |
|
| 341 |
DPRINTFN(5, ("uscanneropen: flag=%d, mode=%d, unit=%d\n", |
352 |
DPRINTFN(5, ("uscanneropen: flag=%d, mode=%d, unit=%d\n", |
| 342 |
flag, mode, unit)); |
353 |
flag, mode, unit)); |
| 343 |
|
354 |
|
|
|
355 |
printf( "uscanneropen()\n" ); |
| 344 |
if (sc->sc_dying) |
356 |
if (sc->sc_dying) |
| 345 |
return (ENXIO); |
357 |
return (ENXIO); |
| 346 |
|
358 |
|
|
Lines 664-669
Link Here
|
| 664 |
return (revents); |
676 |
return (revents); |
| 665 |
} |
677 |
} |
| 666 |
|
678 |
|
|
|
679 |
int |
| 680 |
uscannerioctl( dev_t dev, u_long cmd, caddr_t addr, int flag, struct thread* td ) |
| 681 |
{ |
| 682 |
struct uscanner_softc* sc; |
| 683 |
|
| 684 |
USB_GET_SC( uscanner, USCANNERUNIT( dev ), sc ); |
| 685 |
|
| 686 |
if( sc->sc_dying ) |
| 687 |
return( EIO ); |
| 688 |
|
| 689 |
switch( cmd ) { |
| 690 |
case USB_GET_DEVICE_ID: |
| 691 |
*(u_int32_t*)addr = ( sc->sc_vendor_id << 16 ) | sc->sc_product_id; |
| 692 |
break; |
| 693 |
default: |
| 694 |
return EINVAL; |
| 695 |
} |
| 696 |
return 0; |
| 697 |
} |
| 698 |
|
| 667 |
#if defined(__FreeBSD__) |
699 |
#if defined(__FreeBSD__) |
| 668 |
DRIVER_MODULE(uscanner, uhub, uscanner_driver, uscanner_devclass, usbd_driver_load, 0); |
700 |
DRIVER_MODULE(uscanner, uhub, uscanner_driver, uscanner_devclass, usbd_driver_load, 0); |
| 669 |
#endif |
701 |
#endif |
|
|
702 |
|
| 703 |
|