Re: [RFC PATCH v2 08/10] rtc: bd70528: Initial support for ROHM bd70528 RTC

From: Matti Vaittinen
Date: Mon Jan 28 2019 - 11:57:30 EST


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