On Fri Oct 17, 2025 at 4:39 AM JST, John Hubbard wrote: > On 10/16/25 12:34 PM, Danilo Krummrich wrote: >> On Thu Oct 16, 2025 at 9:28 PM CEST, Joel Fernandes wrote: >>>> On Oct 16, 2025, at 1:48 PM, Yury Norov <[email protected]> wrote: >>>> On Thu, Oct 16, 2025 at 11:13:21AM -0400, Joel Fernandes wrote: > ... >> While I'm not super opinionated for general bitfields, for the register!() >> infrastructure I very much prefer the hi:lo notation, as this is the common >> notation in datasheets and TRMs. >> >> However, if we use hi:lo, we should use it decending, i.e.: >> > > Sure, descending works. > >> bitfield! { >> struct ControlReg { >> 7:5 state as u8 => State; >> 3:0 mode as u8 ?=> Mode; > > And hi:lo matches our HW reference manuals. And if you're dealing > with bitfields, you are often also dealing with HW, so this is > a reasonable place in the SW to use hi:lo.
Definitely agree here. The use of `:` is what makes the difference with the GENMASK macro, which separates its argument with a regular comma. There is no room for mistaking these with anything else.
