Merge tag 'media/v4.16-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab...
[sfrench/cifs-2.6.git] / include / linux / sfp.h
index 0c5c5f6ae1ec78ec125ff6461b2ed369560b57ae..e724d5a3dd80e5cee3bb4f31d06d76b3a9cf901e 100644 (file)
@@ -165,7 +165,41 @@ struct sfp_eeprom_base {
        char vendor_rev[4];
        union {
                __be16 optical_wavelength;
-               u8 cable_spec;
+               __be16 cable_compliance;
+               struct {
+#if defined __BIG_ENDIAN_BITFIELD
+                       u8 reserved60_2:6;
+                       u8 fc_pi_4_app_h:1;
+                       u8 sff8431_app_e:1;
+                       u8 reserved61:8;
+#elif defined __LITTLE_ENDIAN_BITFIELD
+                       u8 sff8431_app_e:1;
+                       u8 fc_pi_4_app_h:1;
+                       u8 reserved60_2:6;
+                       u8 reserved61:8;
+#else
+#error Unknown Endian
+#endif
+               } __packed passive;
+               struct {
+#if defined __BIG_ENDIAN_BITFIELD
+                       u8 reserved60_4:4;
+                       u8 fc_pi_4_lim:1;
+                       u8 sff8431_lim:1;
+                       u8 fc_pi_4_app_h:1;
+                       u8 sff8431_app_e:1;
+                       u8 reserved61:8;
+#elif defined __LITTLE_ENDIAN_BITFIELD
+                       u8 sff8431_app_e:1;
+                       u8 fc_pi_4_app_h:1;
+                       u8 sff8431_lim:1;
+                       u8 fc_pi_4_lim:1;
+                       u8 reserved60_4:4;
+                       u8 reserved61:8;
+#else
+#error Unknown Endian
+#endif
+               } __packed active;
        } __packed;
        u8 reserved62;
        u8 cc_base;