Re: [PATCH 2/3] ptp: Add clock name to uevent
From: Sven Schnelle <svens@linux.ibm.com>
Date: 2024-10-15 12:19:30
Also in:
linux-s390, lkml
Greg Kroah-Hartman [off-list ref] writes:
On Tue, Oct 15, 2024 at 02:02:17PM +0200, Sven Schnelle wrote:quoted
Greg Kroah-Hartman [off-list ref] writes:quoted
On Tue, Oct 15, 2024 at 12:54:13PM +0200, Sven Schnelle wrote:quoted
To allow users to have stable device names with the help of udev, add the name to the udev event that is sent when a new PtP clock is available. The key is called 'PTP_CLOCK_NAME'.Where are you documenting this new user/kernel api you are adding?quoted
Signed-off-by: Sven Schnelle <svens@linux.ibm.com> --- drivers/ptp/ptp_clock.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-)diff --git a/drivers/ptp/ptp_clock.c b/drivers/ptp/ptp_clock.c index c56cd0f63909..15937acb79c6 100644 --- a/drivers/ptp/ptp_clock.c +++ b/drivers/ptp/ptp_clock.c@@ -25,9 +25,11 @@ #define PTP_PPS_EVENT PPS_CAPTUREASSERT #define PTP_PPS_MODE (PTP_PPS_DEFAULTS | PPS_CANWAIT | PPS_TSFMT_TSPEC) +static int ptp_udev_uevent(const struct device *dev, struct kobj_uevent_env *env); const struct class ptp_class = { .name = "ptp", - .dev_groups = ptp_groups + .dev_groups = ptp_groups, + .dev_uevent = ptp_udev_uevent }; /* private globals */@@ -514,6 +516,13 @@ EXPORT_SYMBOL(ptp_cancel_worker_sync); /* module operations */ +static int ptp_udev_uevent(const struct device *dev, struct kobj_uevent_env *env) +{ + struct ptp_clock *ptp = container_of(dev, struct ptp_clock, dev); + + return add_uevent_var(env, "PTP_CLOCK_NAME=%s", ptp->info->name);Why is this needed? Can't you get the name from the sysfs paths, the symlink should be there already.You mean the 'clock_name' attribute in sysfs?Great, yes, it's right there.quoted
That would require to write some script to iterate over all ptp devices and check the name, or is there a way to match that in udev?Yes there is. Please use that :)
Indeed. Sorry, will drop the patch.