Re: [PATCH v2] driver core: allow kobj_to_dev() to take a const pointer

From: 'Greg Kroah-Hartman'
Date: Mon Oct 17 2022 - 07:33:04 EST


On Mon, Oct 17, 2022 at 11:24:26AM +0000, David Laight wrote:
> From: Greg Kroah-Hartman
> > Sent: 17 October 2022 09:04
> >
> > On Mon, Oct 17, 2022 at 07:54:52AM +0000, Sakari Ailus wrote:
> > > Hi Greg,
> > >
> > > On Sun, Oct 16, 2022 at 12:41:26PM +0200, Greg Kroah-Hartman wrote:
> > > > If a const * to a kobject is passed to kobj_to_dev(), we want to return
> > > > back a const * to a device as the driver core shouldn't be modifying a
> > > > constant structure. But when dealing with container_of() the pointer
> > > > const attribute is cast away, so we need to manually handle this by
> > > > determining the type of the pointer passed in to know the type of the
> > > > pointer to pass out.
> > >
> > > Alternatively container_of() could be fixed, but that will likely produce
> > > lots of warnings currently.
> >
> > Yeah, we can not do that because, as you found out, there's just too
> > many warnings that it would cause. Let's work on the individual
> > subsystems to clean them all up first before worrying about the core
> > container_of() macro as that should fix the majority of the build
> > warnings.
>
> Is it possible to generate a fixed container_of() with a
> different name and then use that to clean up the subsystems?
> Then finally rename it back?
>
> That you probably be a lot less churn.

That's the identical churn.