[PATCH RFC v6 2/6] dpll: Add DPLL framework base functions
Jiri Pirko
jiri at resnulli.us
Thu Mar 16 05:31:45 PDT 2023
Wed, Mar 15, 2023 at 10:22:33AM CET, jiri at resnulli.us wrote:
>Tue, Mar 14, 2023 at 06:50:57PM CET, arkadiusz.kubalewski at intel.com wrote:
>>>From: Jiri Pirko <jiri at resnulli.us>
>>>Sent: Tuesday, March 14, 2023 10:22 AM
>>>
>>>Mon, Mar 13, 2023 at 11:59:32PM CET, vadim.fedorenko at linux.dev wrote:
>>>>On 13.03.2023 16:21, Jiri Pirko wrote:
>>>>> Sun, Mar 12, 2023 at 03:28:03AM CET, vadfed at meta.com wrote:
[...]
>>>>> > + const struct dpll_pin_properties *prop)
>>>>> > +{
>>>>> > + struct dpll_pin *pos, *ret = NULL;
>>>>> > + unsigned long index;
>>>>> > +
>>>>> > + mutex_lock(&dpll_pin_xa_lock);
>>>>> > + xa_for_each(&dpll_pin_xa, index, pos) {
>>>>> > + if (pos->clock_id == clock_id &&
>>>>> > + pos->dev_driver_id == device_drv_id &&
>>>>> > + pos->module == module) {
>>>>>
>>>>> Compare prop as well.
>>>>>
>>>>> Can't the driver_id (pin index) be something const as well? I think it
>>>>> should. And therefore it could be easily put inside.
>>>>>
>>>>
>>>>I think clock_id + dev_driver_id + module should identify the pin exactly.
>>>>And now I think that *prop is not needed here at all. Arkadiusz, any
>>>>thoughts?
>>>
>>>IDK, no strong opinion on this. I just thought it may help to identify
>>>the pin and avoid potential driver bugs. (Like registering 2 pins with
Was thinking about this some more, I think that it would be good to
store and check properties in case of pin_get() call. If the driver does
call for the second time pin_get() for the same pin (clockid,pin_index)
with different prop, it is buggy and WARN_ON should be triggered.
WARN_ON check should compare the actual struct, not just pointer.
[...]
More information about the linux-arm-kernel
mailing list