[PATCH net-next v4 4/9] dpll: netlink: Add DPLL framework base functions

Vadim Fedorenko vadim.fedorenko at linux.dev
Tue Aug 15 11:25:12 PDT 2023


On 15/08/2023 17:55, Jakub Kicinski wrote:
> On Tue, 15 Aug 2023 16:18:16 +0100 Vadim Fedorenko wrote:
>> On 15/08/2023 04:24, Jakub Kicinski wrote:
>>> On Fri, 11 Aug 2023 21:03:35 +0100 Vadim Fedorenko wrote:
>>>> +	xa_for_each(&pin->dpll_refs, i, ref) {
>>>> +		const struct dpll_pin_ops *ops = dpll_pin_ops(ref);
>>>> +		struct dpll_device *dpll = ref->dpll;
>>>> +
>>>> +		if (!ops->frequency_set)
>>>> +			return -EOPNOTSUPP;
>>>> +		ret = ops->frequency_set(pin, dpll_pin_on_dpll_priv(dpll, pin),
>>>> +					 dpll, dpll_priv(dpll), freq, extack);
>>>> +		if (ret)
>>>> +			return ret;
>>>> +		__dpll_pin_change_ntf(pin);
>>>> +	}
>>>
>>> only one freq is reported in get, AFAICT, so why send a notification
>>> after each ref is updated?
>>
>> The pin can be technically connected to several DPLLs and app may watch
>> for the specific DPLL messages only. We would like to inform all users
>> on any DPLL which has this pin connected to.
> 
> How does this end up looking in the notifications?
> __dpll_pin_change_ntf() only takes the pin object, from a quick read
> it seems like it will generate the same notification multiple times.

Oops... yeah, will move the notification outside of the loop.



More information about the linux-arm-kernel mailing list