@@ -107,7 +107,7 @@ pub fn render(
107
107
w_impl_items. push ( quote ! {
108
108
/// Reset value of the register
109
109
#[ inline]
110
- pub fn reset_value( ) -> W {
110
+ pub const fn reset_value( ) -> W {
111
111
W { bits: #rv }
112
112
}
113
113
@@ -257,7 +257,7 @@ pub fn fields(
257
257
access : f. access ,
258
258
evs : & f. enumerated_values ,
259
259
sc : Ident :: new ( & * sc) ,
260
- mask : util:: hex_or_bool ( ( ( ( 1 as u64 ) << width) - 1 ) as u32 , width ) ,
260
+ mask : util:: hex ( ( ( ( 1 as u64 ) << width) - 1 ) as u32 ) ,
261
261
name : & f. name ,
262
262
offset : util:: unsuffixed ( u64:: from ( f. bit_range . offset ) ) ,
263
263
ty : width. to_ty ( ) ?,
@@ -285,10 +285,7 @@ pub fn fields(
285
285
quote ! { as #fty }
286
286
} ;
287
287
let value = quote ! {
288
- const MASK : #fty = #mask;
289
- const OFFSET : u8 = #offset;
290
-
291
- ( ( self . bits >> OFFSET ) & MASK as #rty) #cast
288
+ ( ( self . bits >> #offset) & #mask) #cast
292
289
} ;
293
290
294
291
if let Some ( ( evs, base) ) = lookup (
@@ -519,7 +516,7 @@ pub fn fields(
519
516
#[ doc = #description]
520
517
#[ inline]
521
518
pub fn #sc( & self ) -> #pc_r {
522
- let bits = { #value } ;
519
+ let bits = #value;
523
520
#pc_r { bits }
524
521
}
525
522
} ) ;
@@ -763,11 +760,8 @@ pub fn fields(
763
760
/// Writes raw bits to the field
764
761
#[ inline]
765
762
pub #unsafety fn #bits( self , value: #fty) -> & ' a mut W {
766
- const MASK : #fty = #mask;
767
- const OFFSET : u8 = #offset;
768
-
769
- self . w. bits &= !( ( MASK as #rty) << OFFSET ) ;
770
- self . w. bits |= ( ( value & MASK ) as #rty) << OFFSET ;
763
+ self . w. bits &= !( #mask << #offset) ;
764
+ self . w. bits |= ( ( value as #rty) & #mask) << #offset;
771
765
self . w
772
766
}
773
767
} ) ;
0 commit comments