Re: [PATCH v2 00/32] driver core: Constify API device_find_child() and adapt for various existing usages

Zijun Hu <[email protected]>
Newsgroups gmane.linux.serial,gmane.linux.kernel,gmane.comp.video.dri.devel,gmane.linux.ports.arm.mediatek,gmane.linux.ports.arm.kernel,gmane.linux.kernel.hwmon,gmane.linux.drivers.video-input-infrastructure,gmane.linux.usb.general,gmane.linux.kernel.gpio,gmane.linux.network,gmane.linux.pwm,gmane.linux.kernel.firewire.devel,gmane.linux.sound,gmane.linux.iscsi.open-iscsi,gmane.linux.scsi,gmane.linux.ports.sparc,gmane.linux.block,gmane.linux.kernel.efi
Message-ID <[email protected]>
On 2024/12/3 23:34, James Bottomley wrote:
>>> This also enables an incremental migration.
>> change the API prototype from:
>> device_find_child(..., void *data_0, int (*match)(struct device *dev,
>> void *data));
>>
>> to:
>> device_find_child(..., const void *data_0, int (*match)(struct device
>> *dev, const void *data));
>>
>> For @data_0,  void * -> const void * is okay.
>> but for @match, the problem is function pointer type incompatibility.
>>
>> there are two solutions base on discussions.
>>
>> 1) squashing likewise Greg mentioned.
>>    Do all of the "prep work" first, and then
>>    do the const change at the very end, all at once.
>>
>> 2)  as changing platform_driver's remove() prototype.
>> Commit: e70140ba0d2b ("Get rid of 'remove_new' relic from platform
>> driver struct")
>>
>>  introduce extra device_find_child_new() which is constified  -> use
>> *_new() replace ALL device_find_child() instances one by one -> 
>> remove device_find_child() -> rename *_new() to device_find_child()
>> once.
> Why bother with the last step, which churns the entire code base again?

keep the good API name device_find_child().

> Why not call the new function device_find_child_const() and simply keep
> it (it's descriptive of its function).  That way you can have a patch
> series without merging and at the end simply remove the old function.

device_find_child is a good name for the API, 'find' already means const.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.