media: dvb-usb: opera1: use an enum for the device number
authorMauro Carvalho Chehab <mchehab@kernel.org>
Mon, 28 Mar 2022 20:41:29 +0000 (22:41 +0200)
committerMauro Carvalho Chehab <mchehab@kernel.org>
Mon, 18 Apr 2022 05:36:44 +0000 (07:36 +0200)
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.

Link: https://lore.kernel.org/linux-media/08861d80b6706ac1ed04a68959ebb78f27cb028d.1648499509.git.mchehab@kernel.org
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
drivers/media/usb/dvb-usb/opera1.c
include/media/dvb-usb-ids.h

index e8d784b9d1194b1677812bc3047bc307bf5df5fc..0da86f58aff6984d8f84256141bfe5b0a592a307 100644 (file)
@@ -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},
                },
        }
 };
index cc1df632d08b5443edd67b0fd58c4d95aedc3d2b..6aa15988b5771f72e261548bf8fc166cffc74e1f 100644 (file)
 #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
 #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