> On 15 September 2014 at 01:13 One Thousand Gnomes <gnomes at > lxorguk.ukuu.org.uk> > wrote: > > > On Sun, 14 Sep 2014 18:40:13 +0200 > Fabian Frederick <fabf at skynet.be> wrote: > > > Small patchset using container_of instead of casting on first structure > > member address. > > Why. Container_of is useful for random offsets but its just convoluting > and confusing code which is designed with the fields intentionally at the > start. > > Alan
What if someone doesn't know about that intention one day and inserts some field in the structure at the "wrong place" ? This would need at least some comment in each declaration but once again it's hard to control.One other way is to commonly use container_of and get rid of every casting with some semantic script. Peter has been asking for container_of in the following: http://marc.info/?l=linux-arm-kernel&m=140838705729653&w=2 struct uart_amba_port *uap = (struct uart_amba_port *)port (port/uart_port is the first field in uart_amba_port though) Regards, Fabian