@@ -425,10 +425,15 @@ static int opera1_rc_query(struct dvb_usb_device *dev, u32 * event, int *state)
return 0;
}
+enum {
+ CYPRESS_OPERA1_COLD,
+ OPERA1_WARM,
+};
+
static struct usb_device_id opera1_table[] = {
- {USB_DEVICE(USB_VID_CYPRESS, USB_PID_OPERA1_COLD)},
- {USB_DEVICE(USB_VID_OPERA1, USB_PID_OPERA1_WARM)},
- {}
+ DVB_USB_DEV(CYPRESS, CYPRESS_OPERA1_COLD),
+ DVB_USB_DEV(OPERA1, OPERA1_WARM),
+ { }
};
MODULE_DEVICE_TABLE(usb, opera1_table);
@@ -540,8 +545,8 @@ static struct dvb_usb_device_properties opera1_properties = {
.num_device_descs = 1,
.devices = {
{"Opera1 DVB-S USB2.0",
- {&opera1_table[0], NULL},
- {&opera1_table[1], NULL},
+ {&opera1_table[CYPRESS_OPERA1_COLD], NULL},
+ {&opera1_table[OPERA1_WARM], NULL},
},
}
};
@@ -168,6 +168,7 @@
#define USB_PID_CYPRESS_DW2102 0x2102
#define USB_PID_CYPRESS_DW2104 0x2104
#define USB_PID_CYPRESS_DW3101 0x3101
+#define USB_PID_CYPRESS_OPERA1_COLD 0x2830
#define USB_PID_DELOCK_USB2_DVBT 0xb803
#define USB_PID_DIBCOM_ANCHOR_2135_COLD 0x2131
#define USB_PID_DIBCOM_HOOK_DEFAULT 0x0064
@@ -307,7 +308,6 @@
#define USB_PID_NOXON_DAB_STICK 0x00b3
#define USB_PID_NOXON_DAB_STICK_REV2 0x00e0
#define USB_PID_NOXON_DAB_STICK_REV3 0x00b4
-#define USB_PID_OPERA1_COLD 0x2830
#define USB_PID_OPERA1_WARM 0x3829
#define USB_PID_PCTV_2002E 0x025c
#define USB_PID_PCTV_2002E_SE 0x025d
The device number is currently a value that needs to be the same on two separate tables, but the code doesn't actually enforce it, leading to errors as boards get added or removed. Fix it by using an enum. Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org> --- To avoid mailbombing on a large number of people, only mailing lists were C/C on the cover. See [PATCH 00/26] at: https://lore.kernel.org/all/cover.1648499509.git.mchehab@kernel.org/ drivers/media/usb/dvb-usb/opera1.c | 15 ++++++++++----- include/media/dvb-usb-ids.h | 2 +- 2 files changed, 11 insertions(+), 6 deletions(-)