Skip to content

Commit ba3e22d

Browse files
bors[bot]burrbull
andcommitted
Merge #316
316: move reset_value r=therealprof a=burrbull move `reset_value` to be public method of register struct (not `W`). It's breaking change, but I think this can't break existent code. Co-authored-by: Andrey Zgarbul <[email protected]>
2 parents f7c2155 + 2600a2f commit ba3e22d

File tree

1 file changed

+12
-15
lines changed

1 file changed

+12
-15
lines changed

src/generate/register.rs

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ pub fn render(
8787
where
8888
F: FnOnce(&mut W) -> &mut W
8989
{
90-
self.register.set(f(&mut W::reset_value()).bits);
90+
self.register.set(f(&mut W { bits: Self::reset_value() }).bits);
9191
}
9292
});
9393

@@ -104,13 +104,20 @@ pub fn render(
104104
.map(util::hex)
105105
.ok_or_else(|| format!("Register {} has no reset value", register.name))?;
106106

107-
w_impl_items.push(quote! {
107+
reg_impl_items.push(quote! {
108108
/// Reset value of the register
109109
#[inline]
110-
pub const fn reset_value() -> W {
111-
W { bits: #rv }
110+
pub const fn reset_value() -> #rty {
111+
#rv
112112
}
113+
/// Writes the reset value to the register
114+
#[inline]
115+
pub fn reset(&self) {
116+
self.register.set(Self::reset_value())
117+
}
118+
});
113119

120+
w_impl_items.push(quote! {
114121
/// Writes raw bits to the register
115122
#[inline]
116123
pub #unsafety fn bits(&mut self, bits: #rty) -> &mut Self {
@@ -120,16 +127,6 @@ pub fn render(
120127
});
121128
}
122129

123-
if access == Access::ReadWrite {
124-
reg_impl_items.push(quote! {
125-
/// Writes the reset value to the register
126-
#[inline]
127-
pub fn reset(&self) {
128-
self.write(|w| w)
129-
}
130-
})
131-
}
132-
133130
mod_items.push(quote! {
134131
impl super::#name_pc {
135132
#(#reg_impl_items)*
@@ -372,7 +369,7 @@ pub fn fields(
372369
#[doc = #description]
373370
#[inline]
374371
pub fn #sc(&self) -> #pc_r {
375-
#pc_r::_from({ #value })
372+
#pc_r::_from( #value )
376373
}
377374
});
378375

0 commit comments

Comments
 (0)