[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