All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mike Turquette <mturquette-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
To: Peter De Schrijver
	<pdeschrijver-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>Peter De
	Schrijver <pdeschrijver-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH v3] clk: define and export clk_debugs_add_file
Date: Wed, 02 Jul 2014 16:17:45 -0700	[thread overview]
Message-ID: <20140702231745.7440.489@quantum> (raw)
In-Reply-To: <1403794853-16928-1-git-send-email-pdeschrijver-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>

Quoting Peter De Schrijver (2014-06-26 08:00:53)
> Define and export a new function clk_debugs_add_file which adds a file
> to a existing clock's debugfs directory. This can be used by clock
> providers to add debugfs entries which are not related to a specific clock
> type. Examples include the ability to measure the rate of a clock. It can
> also be used by modules to create new debugfs entries. This is useful if you
> want to expose features for testing which can potentially cause system
> instability such as allowing to change a clock's rate from userspace.
> 
> Signed-off-by: Peter De Schrijver <pdeschrijver-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>

Applied to clk-next. If you have some useful examples of how you use
this in downstream kernels or in out-of-tree modules then it would be
great to post them to the list. Others might find them helpful.

Regards,
Mike

> 
> ---
> Changes in v3:
>  * export a function to create a new file in a clock's debugfs directory
>    instead of exposing the clock's debugfs dentry pointer
> 
> Changes in v2:
>  * fix function name in description
>  * export function in header file
> ---
>  drivers/clk/clk.c            |   12 ++++++++++++
>  include/linux/clk-provider.h |    5 +++++
>  2 files changed, 17 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c
> index 8b73ede..c1e2fab 100644
> --- a/drivers/clk/clk.c
> +++ b/drivers/clk/clk.c
> @@ -403,6 +403,18 @@ static void clk_debug_reparent(struct clk *clk, struct clk *new_parent)
>                                 __func__, clk->name);
>  }
>  
> +struct dentry *clk_debugfs_add_file(struct clk *clk, char *name, umode_t mode,
> +                               void *data, const struct file_operations *fops)
> +{
> +       struct dentry *d = NULL;
> +
> +       if (clk->dentry)
> +               d = debugfs_create_file(name, mode, clk->dentry, data, fops);
> +
> +       return d;
> +}
> +EXPORT_SYMBOL_GPL(clk_debugfs_add_file);
> +
>  /**
>   * clk_debug_init - lazily create the debugfs clk tree visualization
>   *
> diff --git a/include/linux/clk-provider.h b/include/linux/clk-provider.h
> index 0c287db..411dd7e 100644
> --- a/include/linux/clk-provider.h
> +++ b/include/linux/clk-provider.h
> @@ -619,5 +619,10 @@ static inline void clk_writel(u32 val, u32 __iomem *reg)
>  
>  #endif /* platform dependent I/O accessors */
>  
> +#ifdef CONFIG_DEBUG_FS
> +struct dentry *clk_debugfs_add_file(struct clk *clk, char *name, umode_t mode,
> +                               void *data, const struct file_operations *fops);
> +#endif
> +
>  #endif /* CONFIG_COMMON_CLK */
>  #endif /* CLK_PROVIDER_H */
> -- 
> 1.7.7.rc0.72.g4b5ea.dirty
> 

WARNING: multiple messages have this Message-ID (diff)
From: mturquette@linaro.org (Mike Turquette)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3] clk: define and export clk_debugs_add_file
Date: Wed, 02 Jul 2014 16:17:45 -0700	[thread overview]
Message-ID: <20140702231745.7440.489@quantum> (raw)
In-Reply-To: <1403794853-16928-1-git-send-email-pdeschrijver@nvidia.com>

Quoting Peter De Schrijver (2014-06-26 08:00:53)
> Define and export a new function clk_debugs_add_file which adds a file
> to a existing clock's debugfs directory. This can be used by clock
> providers to add debugfs entries which are not related to a specific clock
> type. Examples include the ability to measure the rate of a clock. It can
> also be used by modules to create new debugfs entries. This is useful if you
> want to expose features for testing which can potentially cause system
> instability such as allowing to change a clock's rate from userspace.
> 
> Signed-off-by: Peter De Schrijver <pdeschrijver@nvidia.com>

Applied to clk-next. If you have some useful examples of how you use
this in downstream kernels or in out-of-tree modules then it would be
great to post them to the list. Others might find them helpful.

Regards,
Mike

> 
> ---
> Changes in v3:
>  * export a function to create a new file in a clock's debugfs directory
>    instead of exposing the clock's debugfs dentry pointer
> 
> Changes in v2:
>  * fix function name in description
>  * export function in header file
> ---
>  drivers/clk/clk.c            |   12 ++++++++++++
>  include/linux/clk-provider.h |    5 +++++
>  2 files changed, 17 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c
> index 8b73ede..c1e2fab 100644
> --- a/drivers/clk/clk.c
> +++ b/drivers/clk/clk.c
> @@ -403,6 +403,18 @@ static void clk_debug_reparent(struct clk *clk, struct clk *new_parent)
>                                 __func__, clk->name);
>  }
>  
> +struct dentry *clk_debugfs_add_file(struct clk *clk, char *name, umode_t mode,
> +                               void *data, const struct file_operations *fops)
> +{
> +       struct dentry *d = NULL;
> +
> +       if (clk->dentry)
> +               d = debugfs_create_file(name, mode, clk->dentry, data, fops);
> +
> +       return d;
> +}
> +EXPORT_SYMBOL_GPL(clk_debugfs_add_file);
> +
>  /**
>   * clk_debug_init - lazily create the debugfs clk tree visualization
>   *
> diff --git a/include/linux/clk-provider.h b/include/linux/clk-provider.h
> index 0c287db..411dd7e 100644
> --- a/include/linux/clk-provider.h
> +++ b/include/linux/clk-provider.h
> @@ -619,5 +619,10 @@ static inline void clk_writel(u32 val, u32 __iomem *reg)
>  
>  #endif /* platform dependent I/O accessors */
>  
> +#ifdef CONFIG_DEBUG_FS
> +struct dentry *clk_debugfs_add_file(struct clk *clk, char *name, umode_t mode,
> +                               void *data, const struct file_operations *fops);
> +#endif
> +
>  #endif /* CONFIG_COMMON_CLK */
>  #endif /* CLK_PROVIDER_H */
> -- 
> 1.7.7.rc0.72.g4b5ea.dirty
> 

WARNING: multiple messages have this Message-ID (diff)
From: Mike Turquette <mturquette@linaro.org>
To: Peter De Schrijver <pdeschrijver@nvidia.com>,
	"Peter De Schrijver" <pdeschrijver@nvidia.com>
Cc: linux-arm-kernel@lists.infradead.org,
	linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3] clk: define and export clk_debugs_add_file
Date: Wed, 02 Jul 2014 16:17:45 -0700	[thread overview]
Message-ID: <20140702231745.7440.489@quantum> (raw)
In-Reply-To: <1403794853-16928-1-git-send-email-pdeschrijver@nvidia.com>

Quoting Peter De Schrijver (2014-06-26 08:00:53)
> Define and export a new function clk_debugs_add_file which adds a file
> to a existing clock's debugfs directory. This can be used by clock
> providers to add debugfs entries which are not related to a specific clock
> type. Examples include the ability to measure the rate of a clock. It can
> also be used by modules to create new debugfs entries. This is useful if you
> want to expose features for testing which can potentially cause system
> instability such as allowing to change a clock's rate from userspace.
> 
> Signed-off-by: Peter De Schrijver <pdeschrijver@nvidia.com>

Applied to clk-next. If you have some useful examples of how you use
this in downstream kernels or in out-of-tree modules then it would be
great to post them to the list. Others might find them helpful.

Regards,
Mike

> 
> ---
> Changes in v3:
>  * export a function to create a new file in a clock's debugfs directory
>    instead of exposing the clock's debugfs dentry pointer
> 
> Changes in v2:
>  * fix function name in description
>  * export function in header file
> ---
>  drivers/clk/clk.c            |   12 ++++++++++++
>  include/linux/clk-provider.h |    5 +++++
>  2 files changed, 17 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c
> index 8b73ede..c1e2fab 100644
> --- a/drivers/clk/clk.c
> +++ b/drivers/clk/clk.c
> @@ -403,6 +403,18 @@ static void clk_debug_reparent(struct clk *clk, struct clk *new_parent)
>                                 __func__, clk->name);
>  }
>  
> +struct dentry *clk_debugfs_add_file(struct clk *clk, char *name, umode_t mode,
> +                               void *data, const struct file_operations *fops)
> +{
> +       struct dentry *d = NULL;
> +
> +       if (clk->dentry)
> +               d = debugfs_create_file(name, mode, clk->dentry, data, fops);
> +
> +       return d;
> +}
> +EXPORT_SYMBOL_GPL(clk_debugfs_add_file);
> +
>  /**
>   * clk_debug_init - lazily create the debugfs clk tree visualization
>   *
> diff --git a/include/linux/clk-provider.h b/include/linux/clk-provider.h
> index 0c287db..411dd7e 100644
> --- a/include/linux/clk-provider.h
> +++ b/include/linux/clk-provider.h
> @@ -619,5 +619,10 @@ static inline void clk_writel(u32 val, u32 __iomem *reg)
>  
>  #endif /* platform dependent I/O accessors */
>  
> +#ifdef CONFIG_DEBUG_FS
> +struct dentry *clk_debugfs_add_file(struct clk *clk, char *name, umode_t mode,
> +                               void *data, const struct file_operations *fops);
> +#endif
> +
>  #endif /* CONFIG_COMMON_CLK */
>  #endif /* CLK_PROVIDER_H */
> -- 
> 1.7.7.rc0.72.g4b5ea.dirty
> 

  parent reply	other threads:[~2014-07-02 23:17 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-26 15:00 [PATCH v3] clk: define and export clk_debugs_add_file Peter De Schrijver
2014-06-26 15:00 ` Peter De Schrijver
2014-06-26 15:00 ` Peter De Schrijver
     [not found] ` <1403794853-16928-1-git-send-email-pdeschrijver-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2014-07-02 23:17   ` Mike Turquette [this message]
2014-07-02 23:17     ` Mike Turquette
2014-07-02 23:17     ` Mike Turquette

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140702231745.7440.489@quantum \
    --to=mturquette-qsej5fyqhm4dnm+yrofe0a@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=pdeschrijver-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.