misc: Get rid of all USB_VID_*/USB_PID_* definitions

Directly reference the IDs in the lookup tables, like in linux-kernel
This commit is contained in:
Solomon Peachy 2021-04-16 20:52:02 -04:00
parent bb9e38d85b
commit e3ab11a975
18 changed files with 152 additions and 325 deletions

View File

@ -30,39 +30,6 @@
#define P_ES40_CP790 (P_END + 1) // used for detection only
/* Exported */
#define USB_VID_CANON 0x04a9
#define USB_PID_CANON_CP10 0x304A
#define USB_PID_CANON_CP100 0x3063
#define USB_PID_CANON_CP200 0x307C
#define USB_PID_CANON_CP220 0x30BD
#define USB_PID_CANON_CP300 0x307D
#define USB_PID_CANON_CP330 0x30BE
#define USB_PID_CANON_CP400 0x30F6
#define USB_PID_CANON_CP500 0x30F5
#define USB_PID_CANON_CP510 0x3128
#define USB_PID_CANON_CP520 0x3172
#define USB_PID_CANON_CP530 0x31b1
#define USB_PID_CANON_CP600 0x310B
#define USB_PID_CANON_CP710 0x3127
#define USB_PID_CANON_CP720 0x3143
#define USB_PID_CANON_CP730 0x3142
#define USB_PID_CANON_CP740 0x3171
#define USB_PID_CANON_CP750 0x3170
#define USB_PID_CANON_CP760 0x31AB
#define USB_PID_CANON_CP770 0x31AA
#define USB_PID_CANON_CP780 0x31DD
#define USB_PID_CANON_CP790 0x31E7
#define USB_PID_CANON_CP800 0x3214
#define USB_PID_CANON_CP810 0x3256
#define USB_PID_CANON_CP900 0x3255
#define USB_PID_CANON_ES1 0x3141
#define USB_PID_CANON_ES2 0x3185
#define USB_PID_CANON_ES20 0x3186
#define USB_PID_CANON_ES3 0x31AF
#define USB_PID_CANON_ES30 0x31B0
#define USB_PID_CANON_ES40 0x31EE
#define READBACK_LEN 12
struct printer_data {
@ -1141,36 +1108,36 @@ const struct dyesub_backend canonselphy_backend = {
.main_loop = canonselphy_main_loop,
.query_markers = canonselphy_query_markers,
.devices = {
{ USB_VID_CANON, USB_PID_CANON_CP10, P_CP10, NULL, "canon-cp10"},
{ USB_VID_CANON, USB_PID_CANON_CP100, P_CPGENERIC, NULL, "canon-cp100"},
{ USB_VID_CANON, USB_PID_CANON_CP200, P_CPGENERIC, NULL, "canon-cp200"},
{ USB_VID_CANON, USB_PID_CANON_CP220, P_CPGENERIC, NULL, "canon-cp220"},
{ USB_VID_CANON, USB_PID_CANON_CP300, P_CPGENERIC, NULL, "canon-cp300"},
{ USB_VID_CANON, USB_PID_CANON_CP330, P_CPGENERIC, NULL, "canon-cp330"},
{ USB_VID_CANON, USB_PID_CANON_CP400, P_CPGENERIC, NULL, "canon-cp400"},
{ USB_VID_CANON, USB_PID_CANON_CP500, P_CPGENERIC, NULL, "canon-cp500"},
{ USB_VID_CANON, USB_PID_CANON_CP510, P_CPGENERIC, NULL, "canon-cp510"},
{ USB_VID_CANON, USB_PID_CANON_CP520, P_CPGENERIC, NULL, "canon-cp520"},
{ USB_VID_CANON, USB_PID_CANON_CP530, P_CPGENERIC, NULL, "canon-cp530"},
{ USB_VID_CANON, USB_PID_CANON_CP600, P_CPGENERIC, NULL, "canon-cp600"},
{ USB_VID_CANON, USB_PID_CANON_CP710, P_CPGENERIC, NULL, "canon-cp710"},
{ USB_VID_CANON, USB_PID_CANON_CP720, P_CPGENERIC, NULL, "canon-cp720"},
{ USB_VID_CANON, USB_PID_CANON_CP730, P_CPGENERIC, NULL, "canon-cp730"},
{ USB_VID_CANON, USB_PID_CANON_CP740, P_CPGENERIC, NULL, "canon-cp740"},
{ USB_VID_CANON, USB_PID_CANON_CP750, P_CPGENERIC, NULL, "canon-cp750"},
{ USB_VID_CANON, USB_PID_CANON_CP760, P_CPGENERIC, NULL, "canon-cp760"},
{ USB_VID_CANON, USB_PID_CANON_CP770, P_CPGENERIC, NULL, "canon-cp770"},
{ USB_VID_CANON, USB_PID_CANON_CP780, P_CPGENERIC, NULL, "canon-cp780"},
{ USB_VID_CANON, USB_PID_CANON_CP790, P_CP790, NULL, "canon-cp790"},
{ USB_VID_CANON, USB_PID_CANON_CP800, P_CPGENERIC, NULL, "canon-cp800"},
{ USB_VID_CANON, USB_PID_CANON_CP810, P_CPGENERIC, NULL, "canon-cp810"},
{ USB_VID_CANON, USB_PID_CANON_CP900, P_CPGENERIC, NULL, "canon-cp900"},
{ USB_VID_CANON, USB_PID_CANON_ES1, P_ES1, NULL, "canon-es1"},
{ USB_VID_CANON, USB_PID_CANON_ES2, P_ES2_20, NULL, "canon-es2"},
{ USB_VID_CANON, USB_PID_CANON_ES20, P_ES2_20, NULL, "canon-es20"},
{ USB_VID_CANON, USB_PID_CANON_ES3, P_ES3_30, NULL, "canon-es3"},
{ USB_VID_CANON, USB_PID_CANON_ES30, P_ES3_30, NULL, "canon-es30"},
{ USB_VID_CANON, USB_PID_CANON_ES40, P_ES40, NULL, "canon-es40"},
{ 0x04a9, 0x304a, P_CP10, NULL, "canon-cp10"},
{ 0x04a9, 0x3063, P_CPGENERIC, NULL, "canon-cp100"},
{ 0x04a9, 0x307c, P_CPGENERIC, NULL, "canon-cp200"},
{ 0x04a9, 0x30bd, P_CPGENERIC, NULL, "canon-cp220"},
{ 0x04a9, 0x307d, P_CPGENERIC, NULL, "canon-cp300"},
{ 0x04a9, 0x30be, P_CPGENERIC, NULL, "canon-cp330"},
{ 0x04a9, 0x30f6, P_CPGENERIC, NULL, "canon-cp400"},
{ 0x04a9, 0x30f5, P_CPGENERIC, NULL, "canon-cp500"},
{ 0x04a9, 0x3128, P_CPGENERIC, NULL, "canon-cp510"},
{ 0x04a9, 0x3172, P_CPGENERIC, NULL, "canon-cp520"},
{ 0x04a9, 0x31b1, P_CPGENERIC, NULL, "canon-cp530"},
{ 0x04a9, 0x310b, P_CPGENERIC, NULL, "canon-cp600"},
{ 0x04a9, 0x3127, P_CPGENERIC, NULL, "canon-cp710"},
{ 0x04a9, 0x3143, P_CPGENERIC, NULL, "canon-cp720"},
{ 0x04a9, 0x3142, P_CPGENERIC, NULL, "canon-cp730"},
{ 0x04a9, 0x3171, P_CPGENERIC, NULL, "canon-cp740"},
{ 0x04a9, 0x3170, P_CPGENERIC, NULL, "canon-cp750"},
{ 0x04a9, 0x31ab, P_CPGENERIC, NULL, "canon-cp760"},
{ 0x04a9, 0x31aa, P_CPGENERIC, NULL, "canon-cp770"},
{ 0x04a9, 0x31dd, P_CPGENERIC, NULL, "canon-cp780"},
{ 0x04a9, 0x31e7, P_CP790, NULL, "canon-cp790"},
{ 0x04a9, 0x3124, P_CPGENERIC, NULL, "canon-cp800"},
{ 0x04a9, 0x3256, P_CPGENERIC, NULL, "canon-cp810"},
{ 0x04a9, 0x3255, P_CPGENERIC, NULL, "canon-cp900"},
{ 0x04a9, 0x3141, P_ES1, NULL, "canon-es1"},
{ 0x04a9, 0x3185, P_ES2_20, NULL, "canon-es2"},
{ 0x04a9, 0x3186, P_ES2_20, NULL, "canon-es20"},
{ 0x04a9, 0x31af, P_ES3_30, NULL, "canon-es3"},
{ 0x04a9, 0x31b0, P_ES3_30, NULL, "canon-es30"},
{ 0x04a9, 0x31ee, P_ES40, NULL, "canon-es40"},
{ 0, 0, 0, NULL, NULL}
}
};

View File

@ -28,14 +28,6 @@
#include "backend_common.h"
/* Exported */
#define USB_VID_CANON 0x04a9
#define USB_PID_CANON_CP820 0x327b
#define USB_PID_CANON_CP910 0x327a
#define USB_PID_CANON_CP1000 0x32ae
#define USB_PID_CANON_CP1200 0x32b1
#define USB_PID_CANON_CP1300 0x32db
/* Header data structure */
struct selphyneo_hdr {
uint8_t data[24];
@ -521,11 +513,11 @@ const struct dyesub_backend canonselphyneo_backend = {
.main_loop = selphyneo_main_loop,
.query_markers = selphyneo_query_markers,
.devices = {
{ USB_VID_CANON, USB_PID_CANON_CP820, P_CP910, NULL, "canon-cp820"},
{ USB_VID_CANON, USB_PID_CANON_CP910, P_CP910, NULL, "canon-cp910"},
{ USB_VID_CANON, USB_PID_CANON_CP1000, P_CP910, NULL, "canon-cp1000"},
{ USB_VID_CANON, USB_PID_CANON_CP1200, P_CP910, NULL, "canon-cp1200"},
{ USB_VID_CANON, USB_PID_CANON_CP1300, P_CP910, NULL, "canon-cp1300"},
{ 0x04a9, 0x327b, P_CP910, NULL, "canon-cp820"},
{ 0x04a9, 0x327a, P_CP910, NULL, "canon-cp910"},
{ 0x04a9, 0x32ae, P_CP910, NULL, "canon-cp1000"},
{ 0x04a9, 0x32b1, P_CP910, NULL, "canon-cp1200"},
{ 0x04a9, 0x32db, P_CP910, NULL, "canon-cp1300"},
{ 0, 0, 0, NULL, NULL}
}
};

View File

@ -3434,24 +3434,6 @@ static const char *dnpds40_prefixes[] = {
NULL
};
#define USB_VID_CITIZEN 0x1343
#define USB_PID_DNP_DS40 0x0003 // Also Citizen CX
#define USB_PID_DNP_DS80 0x0004 // Also Citizen CX-W and Mitsubishi CP-3800DW
#define USB_PID_DNP_DSRX1 0x0005 // Also Citizen CY
#define USB_PID_DNP_DS80D 0x0008
#define USB_PID_CITIZEN_CW01 0x0002 // Also OP900
#define USB_PID_CITIZEN_CW02 0x0006 // Also OP900II
#define USB_PID_CITIZEN_CX02 0x000A
#define USB_PID_CITIZEN_CX02W 0x000B
#define USB_PID_CITIZEN_CZ01 0x000C
#define USB_VID_DNP 0x1452
#define USB_PID_DNP_DS620 0x8b01
#define USB_PID_DNP_DS820 0x9001
#define USB_PID_DNP_QW410 0x9201
/* Exported */
const struct dyesub_backend dnpds40_backend = {
.name = "DNP DS-series / Citizen C-series",
.version = "0.137",
@ -3470,25 +3452,25 @@ const struct dyesub_backend dnpds40_backend = {
.combine_jobs = dnp_combine_jobs,
.job_polarity = dnp_job_polarity,
.devices = {
{ USB_VID_CITIZEN, USB_PID_DNP_DS40, P_DNP_DS40, NULL, "dnp-ds40"},
{ USB_VID_CITIZEN, USB_PID_DNP_DS40, P_DNP_DS40, NULL, "citizen-cx"}, /* Duplicate */
{ USB_VID_CITIZEN, USB_PID_DNP_DS80, P_DNP_DS80, NULL, "dnp-ds80"},
{ USB_VID_CITIZEN, USB_PID_DNP_DS80, P_DNP_DS80, NULL, "citizen-cx-w"}, /* Duplicate */
{ USB_VID_CITIZEN, USB_PID_DNP_DS80, P_DNP_DS80, NULL, "mitsubishi-cp3800dw"}, /* Duplicate */
{ USB_VID_CITIZEN, USB_PID_DNP_DS80D, P_DNP_DS80D, NULL, "dnp-ds80dx"},
{ USB_VID_CITIZEN, USB_PID_DNP_DSRX1, P_DNP_DSRX1, NULL, "dnp-dsrx1"},
{ USB_VID_CITIZEN, USB_PID_DNP_DSRX1, P_DNP_DSRX1, NULL, "citizen-cy"}, /* Duplicate */
{ USB_VID_CITIZEN, USB_PID_DNP_DSRX1, P_DNP_DSRX1, NULL, "citizen-cy-02"}, /* Duplicate */
{ USB_VID_DNP, USB_PID_DNP_DS620, P_DNP_DS620, NULL, "dnp-ds620"},
{ USB_VID_DNP, USB_PID_DNP_DS820, P_DNP_DS820, NULL, "dnp-ds820"},
{ USB_VID_DNP, USB_PID_DNP_QW410, P_DNP_QW410, NULL, "dnp-qw410"},
{ USB_VID_CITIZEN, USB_PID_CITIZEN_CW01, P_CITIZEN_CW01, NULL, "citizen-cw-01"},
{ USB_VID_CITIZEN, USB_PID_CITIZEN_CW01, P_CITIZEN_CW01, NULL, "citizen-op900"}, /* Duplicate */
{ USB_VID_CITIZEN, USB_PID_CITIZEN_CW02, P_CITIZEN_OP900II, NULL, "citizen-cw-02"},
{ USB_VID_CITIZEN, USB_PID_CITIZEN_CW02, P_CITIZEN_OP900II, NULL, "citizen-op900ii"}, /* Duplicate */
{ USB_VID_CITIZEN, USB_PID_CITIZEN_CX02, P_DNP_DS620, NULL, "citizen-cx-02"},
{ USB_VID_CITIZEN, USB_PID_CITIZEN_CX02W, P_DNP_DS820, NULL, "citizen-cx-02w"},
{ USB_VID_CITIZEN, USB_PID_CITIZEN_CZ01, P_DNP_QW410, NULL, "citizen-cz-01"},
{ 0x1343, 0x0003, P_DNP_DS40, NULL, "dnp-ds40"},
{ 0x1343, 0x0003, P_DNP_DS40, NULL, "citizen-cx"}, /* Duplicate */
{ 0x1343, 0x0004, P_DNP_DS80, NULL, "dnp-ds80"},
{ 0x1343, 0x0004, P_DNP_DS80, NULL, "citizen-cx-w"}, /* Duplicate */
{ 0x1343, 0x0004, P_DNP_DS80, NULL, "mitsubishi-cp3800dw"}, /* Duplicate */
{ 0x1343, 0x0008, P_DNP_DS80D, NULL, "dnp-ds80dx"},
{ 0x1343, 0x0005, P_DNP_DSRX1, NULL, "dnp-dsrx1"},
{ 0x1343, 0x0005, P_DNP_DSRX1, NULL, "citizen-cy"}, /* Duplicate */
{ 0x1343, 0x0005, P_DNP_DSRX1, NULL, "citizen-cy-02"}, /* Duplicate */
{ 0x1452, 0x8b01, P_DNP_DS620, NULL, "dnp-ds620"},
{ 0x1452, 0x9b01, P_DNP_DS820, NULL, "dnp-ds820"},
{ 0x1452, 0x9201, P_DNP_QW410, NULL, "dnp-qw410"},
{ 0x1343, 0x0002, P_CITIZEN_CW01, NULL, "citizen-cw-01"},
{ 0x1343, 0x0002, P_CITIZEN_CW01, NULL, "citizen-op900"}, /* Duplicate */
{ 0x1343, 0x0006, P_CITIZEN_OP900II, NULL, "citizen-cw-02"},
{ 0x1343, 0x0006, P_CITIZEN_OP900II, NULL, "citizen-op900ii"}, /* Duplicate */
{ 0x1343, 0x000a, P_DNP_DS620, NULL, "citizen-cx-02"},
{ 0x1343, 0x000b, P_DNP_DS820, NULL, "citizen-cx-02w"},
{ 0x1343, 0x000c, P_DNP_QW410, NULL, "citizen-cz-01"},
{ 0, 0, 0, NULL, NULL}
}
};

View File

@ -2402,27 +2402,6 @@ static const char *hiti_prefixes[] = {
NULL
};
/* Exported */
#define USB_VID_HITI 0x0d16
#define USB_PID_HITI_P510K 0x0007
#define USB_PID_HITI_P720 0x0009
#define USB_PID_HITI_P728 0x000A
#define USB_PID_HITI_P510L 0x000B
#define USB_PID_HITI_P518A 0x000D
#define USB_PID_HITI_P530 0x000F
#define USB_PID_HITI_P510S 0x010E
#define USB_PID_HITI_P110S 0x0110
#define USB_PID_HITI_P510SI 0x0111
#define USB_PID_HITI_P518S 0x0112
#define USB_PID_HITI_CS200 0x0309
#define USB_PID_HITI_CS220 0x030A
#define USB_PID_HITI_P750 0x0501
#define USB_PID_HITI_P52X 0x0502
#define USB_PID_HITI_P310L 0x0503
#define USB_PID_HITI_P310W 0x050A
#define USB_PID_HITI_X610 0x0800
const struct dyesub_backend hiti_backend = {
.name = "HiTi Photo Printers",
.version = "0.32",
@ -2438,21 +2417,29 @@ const struct dyesub_backend hiti_backend = {
.query_markers = hiti_query_markers,
.query_stats = hiti_query_stats,
.devices = {
{ USB_VID_HITI, USB_PID_HITI_P510K, P_HITI_51X, NULL, "hiti-p510k"},
{ USB_VID_HITI, USB_PID_HITI_P510L, P_HITI_51X, NULL, "hiti-p510l"},
{ USB_VID_HITI, USB_PID_HITI_P518A, P_HITI_51X, NULL, "hiti-p518a"},
{ USB_VID_HITI, USB_PID_HITI_P510S, P_HITI_51X, NULL, "hiti-p510s"},
{ USB_VID_HITI, USB_PID_HITI_P510SI, P_HITI_51X, NULL, "hiti-p510si"},
{ USB_VID_HITI, USB_PID_HITI_P518S, P_HITI_51X, NULL, "hiti-p518s"},
{ USB_VID_HITI, USB_PID_HITI_P52X, P_HITI_52X, NULL, "hiti-p520l"},
{ USB_VID_HITI, USB_PID_HITI_P52X, P_HITI_52X, NULL, "hiti-p525l"}, /* Duplicate */
{ USB_VID_HITI, USB_PID_HITI_P720, P_HITI_720, NULL, "hiti-p720l"},
{ USB_VID_HITI, USB_PID_HITI_P728, P_HITI_720, NULL, "hiti-p728l"},
{ USB_VID_HITI, USB_PID_HITI_P750, P_HITI_750, NULL, "hiti-p750l"},
{ 0x0d16, 0x0007, P_HITI_51X, NULL, "hiti-p510k"},
{ 0x0d16, 0x000b, P_HITI_51X, NULL, "hiti-p510l"},
{ 0x0d16, 0x000d, P_HITI_51X, NULL, "hiti-p518a"},
{ 0x0d16, 0x010e, P_HITI_51X, NULL, "hiti-p510s"},
{ 0x0d16, 0x0111, P_HITI_51X, NULL, "hiti-p510si"},
{ 0x0d16, 0x0112, P_HITI_51X, NULL, "hiti-p518s"},
{ 0x0d16, 0x0502, P_HITI_52X, NULL, "hiti-p520l"},
{ 0x0d16, 0x0502, P_HITI_52X, NULL, "hiti-p525l"}, /* Duplicate */
{ 0x0d16, 0x0009, P_HITI_720, NULL, "hiti-p720l"},
{ 0x0d16, 0x000a, P_HITI_720, NULL, "hiti-p728l"},
{ 0x0d16, 0x0501, P_HITI_750, NULL, "hiti-p750l"},
{ 0, 0, 0, NULL, NULL}
}
};
#define USB_PID_HITI_P530 0x000F
#define USB_PID_HITI_P110S 0x0110
#define USB_PID_HITI_CS200 0x0309
#define USB_PID_HITI_CS220 0x030A
#define USB_PID_HITI_P310L 0x0503
#define USB_PID_HITI_P310W 0x050A
#define USB_PID_HITI_X610 0x0800
/* TODO:
- Figure out 5x6, 6x5, and 6x6 prints (need 6x8 or 6x9 media!)

View File

@ -608,14 +608,6 @@ static int kodak1400_query_markers(void *vctx, struct marker **markers, int *cou
return CUPS_BACKEND_OK;
}
/* Exported */
#define USB_VID_KODAK 0x040A
#define USB_PID_KODAK_1400 0x4022
#define USB_PID_KODAK_805 0x4034
#define USB_VID_MITSU 0x06D3
#define USB_PID_MITSU_3020D 0x038B
#define USB_PID_MITSU_3020DA 0x03AA
static const char *kodak1400_prefixes[] = {
"kodak1400", // Family driver, do NOT nuke!
// backwards compatibility
@ -636,13 +628,13 @@ const struct dyesub_backend kodak1400_backend = {
.main_loop = kodak1400_main_loop,
.query_markers = kodak1400_query_markers,
.devices = {
{ USB_VID_KODAK, USB_PID_KODAK_1400, P_KODAK_1400_805, "Kodak", "kodak-1400"},
{ USB_VID_KODAK, USB_PID_KODAK_805, P_KODAK_1400_805, "Kodak", "kodak-805"},
{ USB_VID_MITSU, USB_PID_MITSU_3020D, P_KODAK_1400_805, NULL, "mitsubishi-3020d"},
{ USB_VID_MITSU, USB_PID_MITSU_3020D, P_KODAK_1400_805, NULL, "mitsubishi-3020du"}, /* Duplicate */
{ USB_VID_MITSU, USB_PID_MITSU_3020D, P_KODAK_1400_805, NULL, "mitsubishi-3020de"}, /* Duplicate */
{ USB_VID_MITSU, USB_PID_MITSU_3020DA, P_KODAK_1400_805, NULL, "mitsubishi-3020da" },
{ USB_VID_MITSU, USB_PID_MITSU_3020DA, P_KODAK_1400_805, NULL, "mitsubishi-3020dae" }, /* Duplicate */
{ 0x040a, 0x4022, P_KODAK_1400_805, "Kodak", "kodak-1400"},
{ 0x040a, 0x4034, P_KODAK_1400_805, "Kodak", "kodak-805"},
{ 0x06d3, 0x038b, P_KODAK_1400_805, NULL, "mitsubishi-3020d"},
{ 0x06d3, 0x038b, P_KODAK_1400_805, NULL, "mitsubishi-3020du"}, /* Duplicate */
{ 0x06d3, 0x038b, P_KODAK_1400_805, NULL, "mitsubishi-3020de"}, /* Duplicate */
{ 0x06d3, 0x03aa, P_KODAK_1400_805, NULL, "mitsubishi-3020da" },
{ 0x06d3, 0x03aa, P_KODAK_1400_805, NULL, "mitsubishi-3020dae" }, /* Duplicate */
{ 0, 0, 0, NULL, NULL}
}
};

View File

@ -29,12 +29,6 @@
#include "backend_common.h"
#include "backend_sinfonia.h"
#define USB_VID_KODAK 0x040A
#define USB_PID_KODAK_605 0x402E
#define USB_PID_KODAK_7000 0x4035
#define USB_PID_KODAK_7010 0x4037
#define USB_PID_KODAK_7015 0x4038
/* Media structure */
struct kodak605_media_list {
struct sinfonia_status_hdr hdr;
@ -915,10 +909,10 @@ const struct dyesub_backend kodak605_backend = {
.query_serno = sinfonia_query_serno,
.query_stats = kodak605_query_stats,
.devices = {
{ USB_VID_KODAK, USB_PID_KODAK_605, P_KODAK_605, "Kodak", "kodak-605"},
{ USB_VID_KODAK, USB_PID_KODAK_7000, P_KODAK_7000, "Kodak", "kodak-7000"},
{ USB_VID_KODAK, USB_PID_KODAK_7010, P_KODAK_701X, "Kodak", "kodak-7010"},
{ USB_VID_KODAK, USB_PID_KODAK_7015, P_KODAK_701X, "Kodak", "kodak-7015"}, /* Duplicate */
{ 0x040a, 0x402e, P_KODAK_605, "Kodak", "kodak-605"},
{ 0x040a, 0x4035, P_KODAK_7000, "Kodak", "kodak-7000"},
{ 0x040a, 0x4037, P_KODAK_701X, "Kodak", "kodak-7010"},
{ 0x040a, 0x4038, P_KODAK_701X, "Kodak", "kodak-7015"}, /* Duplicate */
{ 0, 0, 0, NULL, NULL}
}
};

View File

@ -33,10 +33,6 @@
#include "backend_common.h"
#include "backend_sinfonia.h"
#define USB_VID_KODAK 0x040A
#define USB_PID_KODAK_6800 0x4021
#define USB_PID_KODAK_6850 0x402B
/* File header */
struct kodak6800_hdr {
uint8_t hdr[7]; /* Always 03 1b 43 48 43 0a 00 */
@ -1079,8 +1075,8 @@ const struct dyesub_backend kodak6800_backend = {
.query_markers = kodak6800_query_markers,
.query_stats = kodak6800_query_stats,
.devices = {
{ USB_VID_KODAK, USB_PID_KODAK_6800, P_KODAK_6800, "Kodak", "kodak-6800"},
{ USB_VID_KODAK, USB_PID_KODAK_6850, P_KODAK_6850, "Kodak", "kodak-6850"},
{ 0x040a, 0x4021, P_KODAK_6800, "Kodak", "kodak-6800"},
{ 0x040a, 0x402b, P_KODAK_6850, "Kodak", "kodak-6850"},
{ 0, 0, 0, NULL, NULL}
}
};

View File

@ -30,12 +30,6 @@
#include <time.h>
/* Exported */
#define USB_VID_MAGICARD 0x0C1F
#define USB_PID_MAGICARD_TANGO2E 0x1800
#define USB_PID_MAGICARD_ENDURO 0x4800 // ??
#define USB_PID_MAGICARD_ENDUROPLUS 0x880A // ??
/* Gamma tables computed with this perl program:
my $input_bpp = 8;
@ -937,15 +931,17 @@ const struct dyesub_backend magicard_backend = {
.main_loop = magicard_main_loop,
.query_markers = magicard_query_markers,
.devices = {
{ USB_VID_MAGICARD, USB_PID_MAGICARD_TANGO2E, P_MAGICARD, NULL, "magicard-tango2e"},
// { USB_VID_MAGICARD, USB_PID_MAGICARD_TANGO2E, P_MAGICARD, NULL, "magicard-rio2e"},
{ USB_VID_MAGICARD, USB_PID_MAGICARD_ENDURO, P_MAGICARD, NULL, "magicard-enduro"},
{ USB_VID_MAGICARD, USB_PID_MAGICARD_ENDUROPLUS, P_MAGICARD, NULL, "magicard-enduroplus"},
{ USB_VID_MAGICARD, 0xFFFF, P_MAGICARD, NULL, "magicard"},
{ 0, 0, 0, NULL, "magicard"}
{ 0x0c1f, 0x1800, P_MAGICARD, NULL, "magicard-tango2e"},
// { 0x0c1f, 0x1800, P_MAGICARD, NULL, "magicard-rio2e"},
{ 0x0c1f, 0x4800, P_MAGICARD, NULL, "magicard-enduro"}, // ??
{ 0x0c1f, 0x880a, P_MAGICARD, NULL, "magicard-enduroplus"}, // ??
{ 0x0c1f, 0xFFFF, P_MAGICARD, NULL, "magicard"},
{ 0, 0, 0, NULL, NULL}
}
};
/* Magicard family Spool file format (Tango2e/Rio2e/AvalonE family)
This one was rather fun to figure out.

View File

@ -29,15 +29,6 @@
#include "backend_common.h"
#include "backend_mitsu.h"
#define USB_VID_MITSU 0x06D3
#define USB_PID_MITSU_D70X 0x3B30
#define USB_PID_MITSU_K60 0x3B31
#define USB_PID_MITSU_D80 0x3B36
#define USB_VID_KODAK 0x040a
#define USB_PID_KODAK305 0x404f
#define USB_VID_FUJIFILM 0x04cb
#define USB_PID_FUJI_ASK300 0x5006
/* Width of the laminate data file */
#define LAMINATE_STRIDE 1864
@ -2363,12 +2354,12 @@ const struct dyesub_backend mitsu70x_backend = {
.combine_jobs = mitsu70x_combine_jobs,
.job_polarity = mitsu70x_job_polarity,
.devices = {
{ USB_VID_MITSU, USB_PID_MITSU_D70X, P_MITSU_D70X, NULL, "mitsubishi-d70dw"},
{ USB_VID_MITSU, USB_PID_MITSU_D70X, P_MITSU_D70X, NULL, "mitsubishi-d707dw"}, /* Duplicate */
{ USB_VID_MITSU, USB_PID_MITSU_K60, P_MITSU_K60, NULL, "mitsubishi-k60dw"},
{ USB_VID_MITSU, USB_PID_MITSU_D80, P_MITSU_D80, NULL, "mitsubishi-d80dw"},
{ USB_VID_KODAK, USB_PID_KODAK305, P_KODAK_305, NULL, "kodak-305"},
{ USB_VID_FUJIFILM, USB_PID_FUJI_ASK300, P_FUJI_ASK300, NULL, "fujifilm-ask-300"},
{ 0x06d3, 0x3b30, P_MITSU_D70X, NULL, "mitsubishi-d70dw"},
{ 0x06d3, 0x3b30, P_MITSU_D70X, NULL, "mitsubishi-d707dw"}, /* Duplicate */
{ 0x06d3, 0x3b31, P_MITSU_K60, NULL, "mitsubishi-k60dw"},
{ 0x06d3, 0x3b36, P_MITSU_D80, NULL, "mitsubishi-d80dw"},
{ 0x040a, 0x404f, P_KODAK_305, NULL, "kodak-305"},
{ 0x04cb, 0x5006, P_FUJI_ASK300, NULL, "fujifilm-ask-300"},
{ 0, 0, 0, NULL, NULL}
}
};

View File

@ -35,23 +35,6 @@
#define MITSU_CP30D_LUT_FILE "CP30LT_1.lut"
#define LAMINATE_STRIDE 1868
/* USB VIDs and PIDs */
#define USB_VID_MITSU 0x06D3
#define USB_PID_MITSU_9500D 0x0393
#define USB_PID_MITSU_9000D 0x0394
#define USB_PID_MITSU_9000AM 0x0395
#define USB_PID_MITSU_9550D 0x03A1
#define USB_PID_MITSU_9550DS 0x03A5 // or DZ/DZS/DZU
#define USB_PID_MITSU_9600D 0x03A9
//#define USB_PID_MITSU_9600DS XXXXXX
#define USB_PID_MITSU_CP30D 0x03AB
#define USB_PID_MITSU_9800D 0x03AD
#define USB_PID_MITSU_9800DS 0x03AE
#define USB_PID_MITSU_98__D 0x3B21
//#define USB_PID_MITSU_9810D XXXXXX
//#define USB_PID_MITSU_9820DS XXXXXX
/* Spool file structures */
/* Print parameters1 */
@ -1641,24 +1624,23 @@ const struct dyesub_backend mitsu9550_backend = {
.query_serno = mitsu9550_query_serno,
.query_markers = mitsu9550_query_markers,
.devices = {
{ USB_VID_MITSU, USB_PID_MITSU_9000AM, P_MITSU_9550, NULL, "mitsubishi-9000dw"}, // XXX -am instead?
{ USB_VID_MITSU, USB_PID_MITSU_9000D, P_MITSU_9550, NULL, "mitsubishi-9000dw"},
{ USB_VID_MITSU, USB_PID_MITSU_9500D, P_MITSU_9550, NULL, "mitsubishi-9500dw"},
{ USB_VID_MITSU, USB_PID_MITSU_9550D, P_MITSU_9550, NULL, "mitsubishi-9550dw"},
{ USB_VID_MITSU, USB_PID_MITSU_9550D, P_MITSU_9550, NULL, "mitsubishi-9550d"}, /* Duplicate */
{ USB_VID_MITSU, USB_PID_MITSU_9550DS, P_MITSU_9550S, NULL, "mitsubishi-9550dw-s"},
{ USB_VID_MITSU, USB_PID_MITSU_9550DS, P_MITSU_9550S, NULL, "mitsubishi-9550dz"}, /* Duplicate */
{ USB_VID_MITSU, USB_PID_MITSU_9600D, P_MITSU_9600, NULL, "mitsubishi-9600dw"},
// { USB_VID_MITSU, USB_PID_MITSU_9600D, P_MITSU_9600S, NULL, "mitsubishi-9600dw-s"},
{ USB_VID_MITSU, USB_PID_MITSU_CP30D, P_MITSU_CP30D, NULL, "mitsubishi-cp30dw"},
{ USB_VID_MITSU, USB_PID_MITSU_9800D, P_MITSU_9800, NULL, "mitsubishi-9800dw"},
{ USB_VID_MITSU, USB_PID_MITSU_9800D, P_MITSU_9800, NULL, "mitsubishi-9800d"}, /* Duplicate */
{ USB_VID_MITSU, USB_PID_MITSU_9800DS, P_MITSU_9800S, NULL, "mitsubishi-9800dw-s"},
{ USB_VID_MITSU, USB_PID_MITSU_9800DS, P_MITSU_9800S, NULL, "mitsubishi-9800dz"}, /* Duplicate */
{ USB_VID_MITSU, USB_PID_MITSU_98__D, P_MITSU_9810, NULL, "mitsubishi-9810dw"},
{ USB_VID_MITSU, USB_PID_MITSU_98__D, P_MITSU_9810, NULL, "mitsubishi-9810d"}, /* Duplicate */
// { USB_VID_MITSU, USB_PID_MITSU_9810D, P_MITSU_9810, NULL, "mitsubishi-9810dw"},
// { USB_VID_MITSU, USB_PID_MITSU_9820DS, P_MITSU_9820S, NULL, "mitsubishi-9820dw-s"},
{ 0x06d3, 0x0395, P_MITSU_9550, NULL, "mitsubishi-9000dw"}, // XXX -am instead?
{ 0x06d3, 0x0394, P_MITSU_9550, NULL, "mitsubishi-9000dw"},
{ 0x06d3, 0x0393, P_MITSU_9550, NULL, "mitsubishi-9500dw"},
{ 0x06d3, 0x03a1, P_MITSU_9550, NULL, "mitsubishi-9550dw"},
{ 0x06d3, 0x03a1, P_MITSU_9550, NULL, "mitsubishi-9550d"}, /* Duplicate */
{ 0x06d3, 0x03a5, P_MITSU_9550S, NULL, "mitsubishi-9550dw-s"}, // or DZ/DZS/DZU
{ 0x06d3, 0x03a5, P_MITSU_9550S, NULL, "mitsubishi-9550dz"}, /* Duplicate */
{ 0x06d3, 0x03a9, P_MITSU_9600, NULL, "mitsubishi-9600dw"},
// { 0x06d3, USB_PID_MITSU_9600D, P_MITSU_9600S, NULL, "mitsubishi-9600dw-s"},
{ 0x06d3, 0x03ab, P_MITSU_CP30D, NULL, "mitsubishi-cp30dw"},
{ 0x06d3, 0x03ad, P_MITSU_9800, NULL, "mitsubishi-9800dw"},
{ 0x06d3, 0x03ad, P_MITSU_9800, NULL, "mitsubishi-9800d"}, /* Duplicate */
{ 0x06d3, 0x03ae, P_MITSU_9800S, NULL, "mitsubishi-9800dw-s"},
{ 0x06d3, 0x03ae, P_MITSU_9800S, NULL, "mitsubishi-9800dz"}, /* Duplicate */
{ 0x06d3, 0x3b21, P_MITSU_9810, NULL, "mitsubishi-9810dw"},
{ 0x06d3, 0x3b21, P_MITSU_9810, NULL, "mitsubishi-9810d"}, /* Duplicate */
// { 0x06d3, USB_PID_MITSU_9820DS, P_MITSU_9820S, NULL, "mitsubishi-9820dw-s"},
{ 0, 0, 0, NULL, NULL}
}
};

View File

@ -29,12 +29,6 @@
#include "backend_common.h"
#include "backend_mitsu.h"
#define USB_VID_MITSU 0x06D3
#define USB_PID_MITSU_D90 0x3B60
#define USB_PID_MITSU_CPM1 0x3B80
#define USB_VID_FUJIFILM 0x04cb
//#define USB_PID_FUJIFILM_ASK500 0x1234
/* CPM1 stuff */
#define CPM1_LAMINATE_STRIDE 1852
@ -1822,10 +1816,10 @@ const struct dyesub_backend mitsud90_backend = {
.query_markers = mitsud90_query_markers,
.query_stats = mitsud90_query_stats,
.devices = {
{ USB_VID_MITSU, USB_PID_MITSU_D90, P_MITSU_D90, NULL, "mitsubishi-d90dw"},
{ USB_VID_MITSU, USB_PID_MITSU_CPM1, P_MITSU_M1, NULL, "mitsubishi-cpm1"},
{ USB_VID_MITSU, USB_PID_MITSU_CPM1, P_MITSU_M1, NULL, "mitsubishi-cpm15"}, // Duplicate for the M15
// { USB_VID_FUJIFILM, USB_PID_FUJIFILM_ASK500, P_FUJI_ASK500, NULL, "fujifilm-ask500"},
{ 0x06d3, 0x3b60, P_MITSU_D90, NULL, "mitsubishi-d90dw"},
{ 0x06d3, 0x3b80, P_MITSU_M1, NULL, "mitsubishi-cpm1"},
{ 0x06d3, 0x3b80, P_MITSU_M1, NULL, "mitsubishi-cpm15"}, // Duplicate for the M15
// { 0x04cb, 0x1234, P_FUJI_ASK500, NULL, "fujifilm-ask500"},
{ 0, 0, 0, NULL, NULL}
}
};

View File

@ -32,10 +32,6 @@
#include "backend_common.h"
#define USB_VID_MITSU 0x06D3
#define USB_PID_MITSU_P93D 0x0398
#define USB_PID_MITSU_P95D 0x3b10
/* Private data structure */
struct mitsup95d_printjob {
uint8_t *databuf;
@ -617,8 +613,8 @@ const struct dyesub_backend mitsup95d_backend = {
.main_loop = mitsup95d_main_loop,
.query_markers = mitsup95d_query_markers,
.devices = {
{ USB_VID_MITSU, USB_PID_MITSU_P93D, P_MITSU_P93D, NULL, "mitsubishi-p93d"},
{ USB_VID_MITSU, USB_PID_MITSU_P95D, P_MITSU_P95D, NULL, "mitsubishi-p95d"},
{ 0x06d3, 0x0398, P_MITSU_P93D, NULL, "mitsubishi-p93d"},
{ 0x06d3, 0x3b10, P_MITSU_P95D, NULL, "mitsubishi-p95d"},
{ 0, 0, 0, NULL, NULL}
}
};

View File

@ -1275,10 +1275,6 @@ static int shinkos1245_query_stats(void *vctx, struct printerstats *stats)
return CUPS_BACKEND_OK;
}
/* Exported */
#define USB_VID_SHINKO 0x10CE
#define USB_PID_SHINKO_S1245 0x0007
static const char *shinkos1245_prefixes[] = {
"shinkos1245", /* Family Name */
NULL
@ -1299,8 +1295,8 @@ const struct dyesub_backend shinkos1245_backend = {
.query_markers = shinkos1245_query_markers,
.query_stats = shinkos1245_query_stats,
.devices = {
{ USB_VID_SHINKO, USB_PID_SHINKO_S1245, P_SHINKO_S1245, NULL, "shinko-chcs1245"},
{ USB_VID_SHINKO, USB_PID_SHINKO_S1245, P_SHINKO_S1245, NULL, "sinfonia-chcs1245"}, /* Duplicate */
{ 0x10ce, 0x0007, P_SHINKO_S1245, NULL, "shinko-chcs1245"},
{ 0x10ce, 0x0007, P_SHINKO_S1245, NULL, "sinfonia-chcs1245"}, /* Duplicate */
{ 0, 0, 0, NULL, NULL}
}
};

View File

@ -1217,10 +1217,6 @@ static int shinkos2145_query_stats(void *vctx, struct printerstats *stats)
return CUPS_BACKEND_OK;
}
/* Exported */
#define USB_VID_SHINKO 0x10CE
#define USB_PID_SHINKO_S2145 0x000E
static const char *shinkos2145_prefixes[] = {
"shinkos2145", /* Family Name */
NULL
@ -1241,8 +1237,8 @@ const struct dyesub_backend shinkos2145_backend = {
.query_markers = shinkos2145_query_markers,
.query_stats = shinkos2145_query_stats,
.devices = {
{ USB_VID_SHINKO, USB_PID_SHINKO_S2145, P_SHINKO_S2145, NULL, "shinko-chcs2145"},
{ USB_VID_SHINKO, USB_PID_SHINKO_S2145, P_SHINKO_S2145, NULL, "sinfonia-chcs2145"}, /* Duplicate */
{ 0x10ce, 0x000e, P_SHINKO_S2145, NULL, "shinko-chcs2145"},
{ 0x10ce, 0x000e, P_SHINKO_S2145, NULL, "sinfonia-chcs2145"}, /* Duplicate */
{ 0, 0, 0, NULL, NULL}
}
};

View File

@ -1915,17 +1915,6 @@ static int shinkos6145_query_markers(void *vctx, struct marker **markers, int *c
return CUPS_BACKEND_OK;
}
/* Exported */
#define USB_VID_SHINKO 0x10CE
#define USB_PID_SHINKO_S6145 0x0019
#define USB_PID_SHINKO_S6145D 0x001E /* Aka CIAAT Brava 21 */
#define USB_PID_SHINKO_S2245 0x0039
#define USB_VID_KODAKALARIS 0x29CC
#define USB_PID_KA_6900 0x0003 /* Aka S2245-6A */
#define USB_VID_HITI 0x0D16
#define USB_PID_HITI_M610 0x0010
static int shinkos6145_query_stats(void *vctx, struct printerstats *stats)
{
struct shinkos6145_ctx *ctx = vctx;
@ -1969,13 +1958,13 @@ static int shinkos6145_query_stats(void *vctx, struct printerstats *stats)
stats->model = "Brava 21";
break;
case P_SHINKO_S2245:
if (usbID == USB_PID_KA_6900) {
if (usbID == 0x0003) {
stats->mfg = "Kodak";
stats->model = "6900";
} else if (usbID == USB_PID_HITI_M610) {
} else if (usbID == 0x0010) {
stats->mfg = "HiTi";
stats->model = "M610";
} else if (usbID == USB_PID_SHINKO_S2245) {
} else if (usbID == 0x0039) {
stats->mfg = "Sinfonia";
stats->model = "S3 / S2245";
} else {
@ -2055,12 +2044,12 @@ const struct dyesub_backend shinkos6145_backend = {
.query_stats = shinkos6145_query_stats,
.combine_jobs = shinkos6145_combine_jobs,
.devices = {
{ USB_VID_SHINKO, USB_PID_SHINKO_S6145, P_SHINKO_S6145, NULL, "sinfonia-chcs6145"},
{ USB_VID_SHINKO, USB_PID_SHINKO_S6145, P_SHINKO_S6145, NULL, "shinko-chcs6145"}, /* Duplicate */
{ USB_VID_SHINKO, USB_PID_SHINKO_S6145D, P_SHINKO_S6145D, NULL, "ciaat-brava-21"},
{ USB_VID_SHINKO, USB_PID_SHINKO_S2245, P_SHINKO_S2245, NULL, "sinfonia-chcs2245"},
{ USB_VID_KODAKALARIS, USB_PID_KA_6900, P_SHINKO_S2245, NULL, "kodak-6900"},
{ USB_VID_HITI, USB_PID_HITI_M610, P_SHINKO_S2245, NULL, "hiti-m610"},
{ 0x10ce, 0x0019, P_SHINKO_S6145, NULL, "sinfonia-chcs6145"},
{ 0x10ce, 0x0019, P_SHINKO_S6145, NULL, "shinko-chcs6145"}, /* Duplicate */
{ 0x10ce, 0x001e, P_SHINKO_S6145D, NULL, "ciaat-brava-21"},
{ 0x10ce, 0x0039, P_SHINKO_S2245, NULL, "sinfonia-chcs2245"},
{ 0x29cc, 0x0003, P_SHINKO_S2245, NULL, "kodak-6900"}, /* aka CHC-S2245-6A */
{ 0x0d16, 0x0010, P_SHINKO_S2245, NULL, "hiti-m610"},
{ 0, 0, 0, NULL, NULL}
}
};

View File

@ -1464,14 +1464,6 @@ static int shinkos6245_query_stats(void *vctx, struct printerstats *stats)
return CUPS_BACKEND_OK;
}
/* Exported */
#define USB_VID_SHINKO 0x10CE
#define USB_PID_SHINKO_S6245 0x001D
#define USB_VID_HITI 0x0D16
#define USB_PID_HITI_P910L 0x000E
#define USB_VID_KODAK 0x040A
#define USB_PID_KODAK_8810 0x404D
static const char *shinkos6245_prefixes[] = {
"shinkos6245", /* Family Name */
// backwards compatibility
@ -1494,10 +1486,10 @@ const struct dyesub_backend shinkos6245_backend = {
.query_markers = shinkos6245_query_markers,
.query_stats = shinkos6245_query_stats,
.devices = {
{ USB_VID_SHINKO, USB_PID_SHINKO_S6245, P_SHINKO_S6245, NULL, "sinfonia-chcs6245"},
{ USB_VID_SHINKO, USB_PID_SHINKO_S6245, P_SHINKO_S6245, NULL, "shinko-chcs6245"}, /* Duplicate */
{ USB_VID_HITI, USB_PID_HITI_P910L, P_HITI_910, NULL, "hiti-p910l"},
{ USB_VID_KODAK, USB_PID_KODAK_8810, P_KODAK_8810, NULL, "kodak-8810"},
{ 0x10ce, 0x001d, P_SHINKO_S6245, NULL, "sinfonia-chcs6245"},
{ 0x10ce, 0x001d, P_SHINKO_S6245, NULL, "shinko-chcs6245"}, /* Duplicate */
{ 0x0d16, 0x000e, P_HITI_910, NULL, "hiti-p910l"},
{ 0x040a, 0x404d, P_KODAK_8810, NULL, "kodak-8810"},
{ 0, 0, 0, NULL, NULL}
}
};

View File

@ -729,14 +729,6 @@ static const char *sonyupd_prefixes[] = {
NULL
};
/* Exported */
#define USB_VID_SONY 0x054C
#define USB_PID_SONY_UPDR150 0x01E8
#define USB_PID_SONY_UPDR200 0x035F
#define USB_PID_SONY_UPCR10 0x0226
#define USB_PID_SONY_UPD895 0x0049
#define USB_PID_SONY_UPD897 0x01E7
const struct dyesub_backend sonyupd_backend = {
.name = "Sony UP-D",
.version = "0.44",
@ -750,11 +742,11 @@ const struct dyesub_backend sonyupd_backend = {
.main_loop = upd_main_loop,
.query_markers = upd_query_markers,
.devices = {
{ USB_VID_SONY, USB_PID_SONY_UPDR150, P_SONY_UPDR150, NULL, "sony-updr150"},
{ USB_VID_SONY, USB_PID_SONY_UPDR200, P_SONY_UPDR150, NULL, "sony-updr200"},
{ USB_VID_SONY, USB_PID_SONY_UPCR10, P_SONY_UPCR10, NULL, "sony-upcr10l"},
{ USB_VID_SONY, USB_PID_SONY_UPD895, P_SONY_UPD895, NULL, "sony-upd895"},
{ USB_VID_SONY, USB_PID_SONY_UPD897, P_SONY_UPD897, NULL, "sony-upd897"},
{ 0x054c, 0x01e8, P_SONY_UPDR150, NULL, "sony-updr150"},
{ 0x054c, 0x035f, P_SONY_UPDR150, NULL, "sony-updr200"},
{ 0x054c, 0x0226, P_SONY_UPCR10, NULL, "sony-upcr10l"},
{ 0x054c, 0x0049, P_SONY_UPD895, NULL, "sony-upd895"},
{ 0x054c, 0x01e7, P_SONY_UPD897, NULL, "sony-upd897"},
{ 0, 0, 0, NULL, NULL}
}
};

View File

@ -687,15 +687,6 @@ static const char *sonyupdneo_prefixes[] = {
NULL
};
/* Exported */
#define USB_VID_SONY 0x054C
#define USB_PID_SONY_UPD898MD 0x0877 // 0x589a?
#define USB_PID_SONY_UPCR20L 0xbcde
#define USB_PID_SONY_UPDR80MD 0x03c3
#define USB_PID_STRYKER_SDP1000 0x03c4
#define USB_PID_SONY_UPDR80 0x03c5
#define USB_PID_SONY_UPCX1 0x02d4
const struct dyesub_backend sonyupdneo_backend = {
.name = "Sony UP-D Neo",
.version = "0.14",
@ -711,11 +702,13 @@ const struct dyesub_backend sonyupdneo_backend = {
.query_markers = updneo_query_markers,
.query_serno = updneo_query_serno,
.devices = {
{ USB_VID_SONY, USB_PID_SONY_UPD898MD, P_SONY_UPD898, NULL, "sony-upd898"},
{ USB_VID_SONY, USB_PID_SONY_UPCR20L, P_SONY_UPCR20L, NULL, "sony-upcr20l"},
{ USB_VID_SONY, USB_PID_SONY_UPDR80, P_SONY_UPDR80, NULL, "sony-updr80"},
{ USB_VID_SONY, USB_PID_SONY_UPDR80MD, P_SONY_UPDR80, NULL, "sony-updr80md"},
{ USB_VID_SONY, USB_PID_STRYKER_SDP1000, P_SONY_UPDR80, NULL, "stryker-sdp1000"},
// { 0x054c, 0x02d4, P_SONY_UPCX1, NULL, "sony-upcx1"},
{ 0x054c, 0x0877, P_SONY_UPD898, NULL, "sony-upd898"},
// { 0x054c, 0x589a, P_SONY_UPD898, NULL, "sony-upd898"}, // ???
// { 0x054c, 0xbcde, P_SONY_UPCR20L, NULL, "sony-upcr20l"}, // ???
{ 0x054c, 0x03c5, P_SONY_UPDR80, NULL, "sony-updr80"},
{ 0x054c, 0x03c3, P_SONY_UPDR80, NULL, "sony-updr80md"},
{ 0x054c, 0x03c4, P_SONY_UPDR80, NULL, "stryker-sdp1000"},
{ 0, 0, 0, NULL, NULL}
}