Re: [PATCH 2/3] ptp: Add clock name to uevent

From: Greg Kroah-Hartman
Date: Tue Oct 15 2024 - 06:59:52 EST


On Tue, Oct 15, 2024 at 12:54:13PM +0200, Sven Schnelle wrote:
> 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?

>
> Signed-off-by: Sven Schnelle <svens@xxxxxxxxxxxxx>
> ---
> 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.

thanks,

greg k-h