On Mon, Jan 28, 2019 at 06:02:47AM -0800, Guenter Roeck wrote: > On 1/27/19 11:48 PM, Matti Vaittinen wrote: > > Thanks again Guenter, > > > > On Sat, Jan 26, 2019 at 08:30:24AM -0800, Guenter Roeck wrote: > > > On 1/25/19 3:05 AM, Matti Vaittinen wrote: > > > > +/* > > > > + * We read regs RTC_SEC => RTC_YEAR > > > > + * this struct is ordered according to chip registers. > > > > + * Keep it u8 only to avoid padding issues. > > > > + */ > > > > +struct bd70528_rtc_day { > > > > + u8 sec; > > > > + u8 min; > > > > + u8 hour; > > > > +}; > > > > + > > > > +struct bd70528_rtc_data { > > > > + struct bd70528_rtc_day time; > > > > + u8 week; > > > > + u8 day; > > > > + u8 month; > > > > + u8 year; > > > > +}; > > > > + > > > > +struct bd70528_rtc_wake { > > > > + struct bd70528_rtc_day time; > > > > + u8 ctrl; > > > > +}; > > > > + > > > > +struct bd70528_rtc_alm { > > > > + struct bd70528_rtc_data data; > > > > + u8 alm_mask; > > > > + u8 alm_repeat; > > > > +}; > > > > > > At least some of the above are directly associated with chip registers. > > > I don't think this will work for all architectures without explicit packed > > > attribute. > > > > Allright. I was thinking of that but thought that most of the > > architectures using this PMIC would handle alignments fine if I used > > only u8 members. I did consider using __attribute__((packed)) - but I'm > > not sure if we hit into troubles with that too. I guess some people > > would like to compile kernel with other compiler(s) but gcc - although > > I'm not sure if this should be taken into account. I'll try doing some > > study on this - unless someone replies to this and just tells how this > > should be done. (I am pretty sure I can find the answer from mail > > archives though). I'll try adding some packing hint for compiler at v3. > > > > Use __packed ? Right. That appends to __attribute__((packed)) on gcc. I'll use that. Thanks for the tip :) Br, Matti Vaittinen