@@ -1271,6 +1271,28 @@ macro_rules! make_bitfield_serde {(
1271
1271
) *
1272
1272
}
1273
1273
}
1274
+
1275
+ #[ cfg( feature = "serde" ) ]
1276
+ paste:: paste!{
1277
+ /// Use this for serialization in order to make serde skip those
1278
+ /// fields where the meaning of a raw value is unknown to us.
1279
+ ///
1280
+ /// Caller can then override Serializer::skip_field and thus find out
1281
+ /// which fields were skipped, inferring where errors were.
1282
+ #[ doc( hidden) ]
1283
+ #[ allow( non_camel_case_types) ]
1284
+ #[ cfg_attr( feature = "serde" , derive( Serialize ) ) ]
1285
+ #[ cfg_attr( feature = "serde" , serde( rename = "" $StructName) ) ]
1286
+ pub ( crate ) struct [ <SerdePermissiveSerializing $StructName>] {
1287
+ $(
1288
+ $( #[ serde( skip_serializing_if="Option::is_none" ) ]
1289
+ pub $field_name: Option <$field_ty>, ) ?
1290
+ $( #[ serde( skip_serializing_if="Option::is_none" ) ]
1291
+ $( #[ $serde_field_orig_meta] ) *
1292
+ pub $field_name: Option <$serde_ty>, ) ?
1293
+ ) *
1294
+ }
1295
+ }
1274
1296
} }
1275
1297
1276
1298
make_bitfield_serde ! {
@@ -2657,21 +2679,11 @@ pub mod memory {
2657
2679
#[ repr( u32 ) ]
2658
2680
#[ derive( Clone , Copy ) ]
2659
2681
pub struct RdimmDdr4Voltages {
2660
- pub _1_2V || #[ serde( default ) ] bool : bool | pub get bool : pub set bool ,
2682
+ pub _1_2V || #[ serde( default ) ] # [ serde ( rename = "1.2 V" ) ] bool : bool | pub get bool : pub set bool ,
2661
2683
pub _reserved_1 || #[ serde( default ) ] SerdeHex32 : B31 ,
2662
2684
// all = 7
2663
2685
}
2664
2686
}
2665
- #[ cfg_attr( feature = "serde" , derive( serde:: Serialize , serde:: Deserialize ) ) ]
2666
- #[ cfg_attr( feature = "serde" , serde( deny_unknown_fields) ) ]
2667
- #[ cfg_attr( feature = "schemars" , derive( schemars:: JsonSchema ) ) ]
2668
- #[ cfg_attr( feature = "serde" , serde( rename = "RdimmDdr4Voltages" ) ) ]
2669
- pub struct CustomSerdeRdimmDdr4Voltages {
2670
- #[ cfg_attr( feature = "serde" , serde( rename = "1.2 V" ) ) ]
2671
- pub _1_2V : bool ,
2672
- #[ cfg_attr( feature = "serde" , serde( default ) ) ]
2673
- pub _reserved_1 : u32 ,
2674
- }
2675
2687
macro_rules! define_compat_bitfield_field {
2676
2688
( $compat_field: ident, $current_field: ident) => {
2677
2689
paste! {
@@ -2820,27 +2832,13 @@ pub mod memory {
2820
2832
#[ repr( u32 ) ]
2821
2833
#[ derive( Clone , Copy ) ]
2822
2834
pub struct UdimmDdr4Voltages {
2823
- pub _1_5V || #[ serde( default ) ] bool : bool | pub get bool : pub set bool ,
2824
- pub _1_35V || #[ serde( default ) ] bool : bool | pub get bool : pub set bool ,
2825
- pub _1_25V || #[ serde( default ) ] bool : bool | pub get bool : pub set bool ,
2835
+ pub _1_5V || #[ serde( default ) ] # [ serde ( rename = "1.5 V" ) ] bool : bool | pub get bool : pub set bool ,
2836
+ pub _1_35V || #[ serde( default ) ] # [ serde ( rename = "1.35 V" ) ] bool : bool | pub get bool : pub set bool ,
2837
+ pub _1_25V || #[ serde( default ) ] # [ serde ( rename = "1.25 V" ) ] bool : bool | pub get bool : pub set bool ,
2826
2838
// all = 7
2827
2839
pub _reserved_1 || #[ serde( default ) ] SerdeHex32 : B29 ,
2828
2840
}
2829
2841
}
2830
- #[ cfg_attr( feature = "serde" , derive( serde:: Serialize , serde:: Deserialize ) ) ]
2831
- #[ cfg_attr( feature = "serde" , serde( deny_unknown_fields) ) ]
2832
- #[ cfg_attr( feature = "schemars" , derive( schemars:: JsonSchema ) ) ]
2833
- #[ cfg_attr( feature = "serde" , serde( rename = "UdimmDdr4Voltages" ) ) ]
2834
- pub struct CustomSerdeUdimmDdr4Voltages {
2835
- #[ cfg_attr( feature = "serde" , serde( rename = "1.5 V" ) ) ]
2836
- pub _1_5V : bool ,
2837
- #[ cfg_attr( feature = "serde" , serde( rename = "1.35 V" ) ) ]
2838
- pub _1_35V : bool ,
2839
- #[ cfg_attr( feature = "serde" , serde( rename = "1.25 V" ) ) ]
2840
- pub _1_25V : bool ,
2841
- #[ cfg_attr( feature = "serde" , serde( default ) ) ]
2842
- pub _reserved_1 : u32 ,
2843
- }
2844
2842
impl UdimmDdr4Voltages {
2845
2843
define_compat_bitfield_field ! ( v_1_5, _1_5V) ;
2846
2844
define_compat_bitfield_field ! ( v_1_35, _1_35V) ;
@@ -2915,21 +2913,11 @@ pub mod memory {
2915
2913
#[ repr( u32 ) ]
2916
2914
#[ derive( Clone , Copy ) ]
2917
2915
pub struct LrdimmDdr4Voltages {
2918
- pub _1_2V || #[ serde( default ) ] bool : bool | pub get bool : pub set bool ,
2916
+ pub _1_2V || #[ serde( default ) ] # [ serde ( rename = "1.2 V" ) ] bool : bool | pub get bool : pub set bool ,
2919
2917
// all = 7
2920
2918
pub _reserved_1 || #[ serde( default ) ] SerdeHex32 : B31 ,
2921
2919
}
2922
2920
}
2923
- #[ cfg_attr( feature = "serde" , derive( serde:: Serialize , serde:: Deserialize ) ) ]
2924
- #[ cfg_attr( feature = "serde" , serde( deny_unknown_fields) ) ]
2925
- #[ cfg_attr( feature = "schemars" , derive( schemars:: JsonSchema ) ) ]
2926
- #[ cfg_attr( feature = "serde" , serde( rename = "LrdimmDdr4Voltages" ) ) ]
2927
- pub struct CustomSerdeLrdimmDdr4Voltages {
2928
- #[ cfg_attr( feature = "serde" , serde( rename = "1.2 V" ) ) ]
2929
- pub _1_2V : bool ,
2930
- #[ cfg_attr( feature = "serde" , serde( default ) ) ]
2931
- pub _reserved_1 : u32 ,
2932
- }
2933
2921
2934
2922
impl LrdimmDdr4Voltages {
2935
2923
define_compat_bitfield_field ! ( v_1_2, _1_2V) ;
@@ -3843,7 +3831,7 @@ pub mod memory {
3843
3831
}
3844
3832
}
3845
3833
#[ cfg( feature = "serde" ) ]
3846
- #[ cfg_attr( feature = "serde" , derive( Serialize , Deserialize ) ) ]
3834
+ #[ cfg_attr( feature = "serde" , derive( Deserialize ) ) ]
3847
3835
#[ cfg_attr( feature = "serde" , serde( deny_unknown_fields) ) ]
3848
3836
#[ cfg_attr( feature = "schemars" , derive( schemars:: JsonSchema ) ) ]
3849
3837
#[ cfg_attr( feature = "serde" , serde( rename = "ErrorOutControlBeepCode" ) ) ]
@@ -3853,6 +3841,14 @@ pub mod memory {
3853
3841
pub peak_attr : ErrorOutControlBeepCodePeakAttr ,
3854
3842
}
3855
3843
#[ cfg( feature = "serde" ) ]
3844
+ #[ cfg_attr( feature = "serde" , derive( Serialize ) ) ]
3845
+ #[ cfg_attr( feature = "serde" , serde( rename = "ErrorOutControlBeepCode" ) ) ]
3846
+ pub ( crate ) struct CustomSerdePermissiveSerializingErrorOutControlBeepCode {
3847
+ pub custom_error_type : Option < ErrorOutControlBeepCodeErrorType > ,
3848
+ pub peak_map : Option < SerdeHex16 > ,
3849
+ pub peak_attr : Option < ErrorOutControlBeepCodePeakAttr > ,
3850
+ }
3851
+ #[ cfg( feature = "serde" ) ]
3856
3852
impl ErrorOutControlBeepCode {
3857
3853
pub ( crate ) fn serde_custom_error_type (
3858
3854
& self ,
@@ -4330,7 +4326,7 @@ Clone)]
4330
4326
}
4331
4327
4332
4328
#[ cfg( feature = "serde" ) ]
4333
- #[ cfg_attr( feature = "serde" , derive( Serialize , Deserialize ) ) ]
4329
+ #[ cfg_attr( feature = "serde" , derive( Deserialize ) ) ]
4334
4330
#[ cfg_attr( feature = "serde" , serde( deny_unknown_fields) ) ]
4335
4331
#[ cfg_attr( feature = "schemars" , derive( schemars:: JsonSchema ) ) ]
4336
4332
#[ cfg_attr(
@@ -4341,6 +4337,15 @@ Clone)]
4341
4337
pub raw_body : DdrPostPackageRepairBody ,
4342
4338
}
4343
4339
#[ cfg( feature = "serde" ) ]
4340
+ #[ cfg_attr( feature = "serde" , derive( Serialize ) ) ]
4341
+ #[ cfg_attr(
4342
+ feature = "serde" ,
4343
+ serde( rename = "DdrPostPackageRepairElement" )
4344
+ ) ]
4345
+ pub struct CustomSerdePermissiveSerializingDdrPostPackageRepairElement {
4346
+ pub raw_body : Option < DdrPostPackageRepairBody > ,
4347
+ }
4348
+ #[ cfg( feature = "serde" ) ]
4344
4349
impl DdrPostPackageRepairElement {
4345
4350
pub ( crate ) fn serde_raw_body (
4346
4351
& self ,
0 commit comments