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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 24/12/2024 14:05, Zijun Hu wrote:
> From: Zijun Hu <quic_zijuhu@xxxxxxxxxxx>
> 
> 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 <alison.schofield@xxxxxxxxx>
> Reviewed-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx>
> Acked-by: Uwe Kleine-König <ukleinek@xxxxxxxxxx> # for drivers/pwm
> Signed-off-by: Zijun Hu <quic_zijuhu@xxxxxxxxxxx>

<snip>

> diff --git a/drivers/media/pci/mgb4/mgb4_core.c b/drivers/media/pci/mgb4/mgb4_core.c
> index bc63dc81bcae0d20924174be74b93a2139d5879f..697d50bedfe285d74c702efde61e510df87c1229 100644
> --- a/drivers/media/pci/mgb4/mgb4_core.c
> +++ b/drivers/media/pci/mgb4/mgb4_core.c
> @@ -123,7 +123,7 @@ static const struct hwmon_chip_info temp_chip_info = {
>  };
>  #endif
>  
> -static int match_i2c_adap(struct device *dev, void *data)
> +static int match_i2c_adap(struct device *dev, const void *data)
>  {
>  	return i2c_verify_adapter(dev) ? 1 : 0;
>  }
> @@ -139,7 +139,7 @@ static struct i2c_adapter *get_i2c_adap(struct platform_device *pdev)
>  	return dev ? to_i2c_adapter(dev) : NULL;
>  }
>  
> -static int match_spi_adap(struct device *dev, void *data)
> +static int match_spi_adap(struct device *dev, const void *data)
>  {
>  	return to_spi_device(dev) ? 1 : 0;
>  }

Reviewed-by: Hans Verkuil <hverkuil@xxxxxxxxx>

Regards,

	Hans




[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux