Re: [PATCH v2 01/16] of: device: make of_device_uevent_modalias() take a const device *

From: Dmitry Baryshkov
Date: Wed Jan 11 2023 - 10:31:38 EST


On 11/01/2023 17:26, Greg Kroah-Hartman wrote:
On Wed, Jan 11, 2023 at 08:54:04AM -0600, Rob Herring wrote:
On Wed, Jan 11, 2023 at 5:30 AM Greg Kroah-Hartman
<gregkh@xxxxxxxxxxxxxxxxxxx> wrote:

of_device_uevent_modalias() does not modify the device pointer passed to
it, so mark it constant. In order to properly do this, a number of
busses need to have a modalias function added as they were attempting to
just point to of_device_uevent_modalias instead of their bus-specific
modalias function. This is fine except if the prototype for a bus and
device type modalias function diverges and then problems could happen. To
prevent all of that, just wrap the call to of_device_uevent_modalias()
directly for each bus and device type individually.

Why not just put the wrapper function in the DT code instead of making
4 copies of it?

I could, if you think that it would be better there instead of in each
individual bus (like all of the other bus callbacks). This way each bus
"owns" their implementation :)



I'd vote for the generic wrapper instead of 4 similar wrapper. In the end, if of_device_uevent_modalias (or the bus callback) interface changes again for whatever reasons, there will be just a single place to fix rather than fixing 4 (or more) bus drivers.
--
With best wishes
Dmitry