[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190227133226.GQ4747@localhost>
Date: Wed, 27 Feb 2019 14:32:26 +0100
From: Johan Hovold <johan@...nel.org>
To: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Cc: Johan Hovold <johan@...nel.org>, linux-kernel@...r.kernel.org,
"Rafael J. Wysocki" <rafael.j.wysocki@...el.com>
Subject: Re: [PATCH 1/2] device.h: pack struct dev_links_info
On Wed, Feb 27, 2019 at 01:06:45PM +0100, Greg Kroah-Hartman wrote:
> On Wed, Feb 27, 2019 at 11:59:51AM +0100, Johan Hovold wrote:
> Yeah, that is a good point, normally we use packed to keep padding from
> the middle of the structure from happening.
>
> I just don't like that 4 bytes sitting there doing nothing :)
You could perhaps put them directly in struct device if the
dev_links_info struct is just used a separator there and this really
bothers you. :)
> But, in thinking about this, there is no real reason that I can see that
> this structure even is in struct device. It should be able to be in the
> private "internal" structure.
>
> The patch below moves it out of struct device entirely. Overall there
> is no memory savings, but it could give us the chance to only create
> this structure if we really need it later on, as very few things use
> links at this point in time.
>
> Rafael, there is one logic change below, the link structure is not
> initialized until device_add() happens, instead of device_initialize().
> Will that affect anything that you can think of? Does anyone do
> anything with links before device_add() is called?
I think device_add() may be too late.
The earliest point in time when device links can be added is
after :c:func:`device_add()` has been called for the supplier
and :c:func:`device_initialize()` has been called for the
consumer.
Johan
Powered by blists - more mailing lists