Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

devlink: Add new "clock_id" generic device param

Add a new device generic parameter to specify clock ID that should
be used by the device for registering DPLL devices and pins.

Signed-off-by: Ivan Vecera <ivecera@redhat.com>
Reviewed-by: Jiri Pirko <jiri@nvidia.com>
Link: https://patch.msgid.link/20250704182202.1641943-5-ivecera@redhat.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

authored by

Ivan Vecera and committed by
Jakub Kicinski
de9ccf22 c0ef1446

+12
+4
include/net/devlink.h
··· 525 525 DEVLINK_PARAM_GENERIC_ID_IO_EQ_SIZE, 526 526 DEVLINK_PARAM_GENERIC_ID_EVENT_EQ_SIZE, 527 527 DEVLINK_PARAM_GENERIC_ID_ENABLE_PHC, 528 + DEVLINK_PARAM_GENERIC_ID_CLOCK_ID, 528 529 529 530 /* add new param generic ids above here*/ 530 531 __DEVLINK_PARAM_GENERIC_ID_MAX, ··· 586 585 587 586 #define DEVLINK_PARAM_GENERIC_ENABLE_PHC_NAME "enable_phc" 588 587 #define DEVLINK_PARAM_GENERIC_ENABLE_PHC_TYPE DEVLINK_PARAM_TYPE_BOOL 588 + 589 + #define DEVLINK_PARAM_GENERIC_CLOCK_ID_NAME "clock_id" 590 + #define DEVLINK_PARAM_GENERIC_CLOCK_ID_TYPE DEVLINK_PARAM_TYPE_U64 589 591 590 592 #define DEVLINK_PARAM_GENERIC(_id, _cmodes, _get, _set, _validate) \ 591 593 { \
+5
net/devlink/param.c
··· 97 97 .name = DEVLINK_PARAM_GENERIC_ENABLE_PHC_NAME, 98 98 .type = DEVLINK_PARAM_GENERIC_ENABLE_PHC_TYPE, 99 99 }, 100 + { 101 + .id = DEVLINK_PARAM_GENERIC_ID_CLOCK_ID, 102 + .name = DEVLINK_PARAM_GENERIC_CLOCK_ID_NAME, 103 + .type = DEVLINK_PARAM_GENERIC_CLOCK_ID_TYPE, 104 + }, 100 105 }; 101 106 102 107 static int devlink_param_generic_verify(const struct devlink_param *param)