Re: [PATCH v5 04/12] driver core: Constify API device_find_child() and adapt for various usages

Jonathan Cameron <[email protected]>
Newsgroups gmane.linux.pwm,gmane.linux.kernel,gmane.linux.sound,gmane.linux.ports.sparc,gmane.linux.block,gmane.linux.kernel.firewire.devel,gmane.linux.kernel.efi,gmane.linux.kernel.gpio,gmane.comp.video.dri.devel,gmane.linux.ports.arm.mediatek,gmane.linux.kernel.hwmon,gmane.linux.drivers.video-input-infrastructure,gmane.linux.scsi,gmane.linux.usb.general,gmane.linux.serial,gmane.linux.network
Message-ID <[email protected]>
On Tue, 24 Dec 2024 21:05:03 +0800
Zijun Hu <[email protected]> wrote:

> From: Zijun Hu <[email protected]>
> 
> Constify the following API:
> struct device *device_find_child(struct device *dev, void *data,
> 		int (*match)(struct device *dev, void *data));
> To :
> struct device *device_find_child(struct device *dev, const void *data,
>                                  device_match_t match);
> typedef int (*device_match_t)(struct device *dev, const void *data);
> with the following reasons:
> 
> - Protect caller's match data @*data which is for comparison and lookup
>   and the API does not actually need to modify @*data.
> 
> - Make the API's parameters (@match)() and @data have the same type as
>   all of other device finding APIs (bus|class|driver)_find_device().
> 
> - All kinds of existing device match functions can be directly taken
>   as the API's argument, they were exported by driver core.
> 
> Constify the API and adapt for various existing usages.
> 
> BTW, various subsystem changes are squashed into this commit to meet
> 'git bisect' requirement, and this commit has the minimal and simplest
> changes to complement squashing shortcoming, and that may bring extra
> code improvement.
> 
> Reviewed-by: Alison Schofield <[email protected]>
> Reviewed-by: Takashi Sakamoto <[email protected]>
> Acked-by: Uwe Kleine-König <[email protected]> # for drivers/pwm
> Signed-off-by: Zijun Hu <[email protected]>
Reviewed-by: Jonathan Cameron <[email protected]>
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.