All of lore.kernel.org
 help / color / mirror / Atom feed
From: Viresh Kumar <viresh.kumar@linaro.org>
To: Leonard Crestez <leonard.crestez@nxp.com>
Cc: Shawn Guo <shawnguo@kernel.org>, Jacky Bai <ping.bai@nxp.com>,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	Anson Huang <anson.huang@nxp.com>, Abel Vesa <abel.vesa@nxp.com>,
	Aisheng Dong <aisheng.dong@nxp.com>,
	Fabio Estevam <fabio.estevam@nxp.com>,
	"linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>,
	"kernel@pengutronix.de" <kernel@pengutronix.de>,
	dl-linux-imx <linux-imx@nxp.com>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH 3/3] cpufreq: Switch imx7d to imx-cpufreq-dt for speed grading
Date: Mon, 3 Jun 2019 11:08:50 +0530	[thread overview]
Message-ID: <20190603053850.tkskdzcloir4k3kw@vireshk-i7> (raw)
In-Reply-To: <8787934ff35e7e55837f2caabc0d5bf65828d971.1559131365.git.leonard.crestez@nxp.com>

On 29-05-19, 12:03, Leonard Crestez wrote:
> This driver can handle speed grading bits on imx7d just like on imx8mq
> and imx8mm.
> 
> Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
> ---
>  arch/arm/mach-imx/mach-imx7d.c       | 7 +++++++
>  drivers/cpufreq/cpufreq-dt-platdev.c | 2 +-
>  drivers/cpufreq/imx-cpufreq-dt.c     | 1 +
>  3 files changed, 9 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm/mach-imx/mach-imx7d.c b/arch/arm/mach-imx/mach-imx7d.c
> index 26ca744d3e2b..0b77412795c9 100644
> --- a/arch/arm/mach-imx/mach-imx7d.c
> +++ b/arch/arm/mach-imx/mach-imx7d.c
> @@ -95,10 +95,16 @@ static void __init imx7d_init_machine(void)
>  
>  	imx_anatop_init();
>  	imx7d_enet_init();
>  }
>  
> +static void __init imx7d_init_late(void)
> +{
> +	if (IS_ENABLED(CONFIG_ARM_IMX_CPUFREQ_DT))
> +		platform_device_register_simple("imx-cpufreq-dt", -1, NULL, 0);
> +}
> +
>  static void __init imx7d_init_irq(void)
>  {
>  	imx_init_revision_from_anatop();
>  	imx_src_init();
>  	irqchip_init();
> @@ -111,7 +117,8 @@ static const char *const imx7d_dt_compat[] __initconst = {
>  };
>  
>  DT_MACHINE_START(IMX7D, "Freescale i.MX7 Dual (Device Tree)")
>  	.init_irq	= imx7d_init_irq,
>  	.init_machine	= imx7d_init_machine,
> +	.init_late      = imx7d_init_late,
>  	.dt_compat	= imx7d_dt_compat,
>  MACHINE_END
> diff --git a/drivers/cpufreq/cpufreq-dt-platdev.c b/drivers/cpufreq/cpufreq-dt-platdev.c
> index 19c1aad57e26..eb282dff9f2c 100644
> --- a/drivers/cpufreq/cpufreq-dt-platdev.c
> +++ b/drivers/cpufreq/cpufreq-dt-platdev.c
> @@ -38,11 +38,10 @@ static const struct of_device_id whitelist[] __initconst = {
>  	{ .compatible = "hisilicon,hi3660", },
>  
>  	{ .compatible = "fsl,imx27", },
>  	{ .compatible = "fsl,imx51", },
>  	{ .compatible = "fsl,imx53", },
> -	{ .compatible = "fsl,imx7d", },
>  
>  	{ .compatible = "marvell,berlin", },
>  	{ .compatible = "marvell,pxa250", },
>  	{ .compatible = "marvell,pxa270", },
>  
> @@ -106,10 +105,11 @@ static const struct of_device_id whitelist[] __initconst = {
>   */
>  static const struct of_device_id blacklist[] __initconst = {
>  	{ .compatible = "calxeda,highbank", },
>  	{ .compatible = "calxeda,ecx-2000", },
>  
> +	{ .compatible = "fsl,imx7d", },
>  	{ .compatible = "fsl,imx8mq", },
>  	{ .compatible = "fsl,imx8mm", },
>  
>  	{ .compatible = "marvell,armadaxp", },
>  
> diff --git a/drivers/cpufreq/imx-cpufreq-dt.c b/drivers/cpufreq/imx-cpufreq-dt.c
> index 5061503cb0a1..ce26ffc18ce6 100644
> --- a/drivers/cpufreq/imx-cpufreq-dt.c
> +++ b/drivers/cpufreq/imx-cpufreq-dt.c
> @@ -18,10 +18,11 @@
>  #define OCOTP_CFG3_SPEED_GRADE_MASK	(0x3 << 8)
>  #define OCOTP_CFG3_MKT_SEGMENT_SHIFT    6
>  #define OCOTP_CFG3_MKT_SEGMENT_MASK     (0x3 << 6)
>  
>  static const struct of_device_id imx_cpufreq_dt_match_list[] = {
> +	{ .compatible = "fsl,imx7d" },
>  	{ .compatible = "fsl,imx8mm" },
>  	{ .compatible = "fsl,imx8mq" },
>  	{}
>  };

What is the purpose of this array and can we get rid of it instead ? I am asking
as this driver gets probed only if the platform code has created the
imx-cpufreq-dt device and it shouldn't get created for other machines than what
is supported.

-- 
viresh

WARNING: multiple messages have this Message-ID (diff)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: Leonard Crestez <leonard.crestez@nxp.com>
Cc: Aisheng Dong <aisheng.dong@nxp.com>, Jacky Bai <ping.bai@nxp.com>,
	Anson Huang <anson.huang@nxp.com>,
	"linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	dl-linux-imx <linux-imx@nxp.com>,
	"kernel@pengutronix.de" <kernel@pengutronix.de>,
	Fabio Estevam <fabio.estevam@nxp.com>,
	Shawn Guo <shawnguo@kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	Abel Vesa <abel.vesa@nxp.com>
Subject: Re: [PATCH 3/3] cpufreq: Switch imx7d to imx-cpufreq-dt for speed grading
Date: Mon, 3 Jun 2019 11:08:50 +0530	[thread overview]
Message-ID: <20190603053850.tkskdzcloir4k3kw@vireshk-i7> (raw)
In-Reply-To: <8787934ff35e7e55837f2caabc0d5bf65828d971.1559131365.git.leonard.crestez@nxp.com>

On 29-05-19, 12:03, Leonard Crestez wrote:
> This driver can handle speed grading bits on imx7d just like on imx8mq
> and imx8mm.
> 
> Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
> ---
>  arch/arm/mach-imx/mach-imx7d.c       | 7 +++++++
>  drivers/cpufreq/cpufreq-dt-platdev.c | 2 +-
>  drivers/cpufreq/imx-cpufreq-dt.c     | 1 +
>  3 files changed, 9 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm/mach-imx/mach-imx7d.c b/arch/arm/mach-imx/mach-imx7d.c
> index 26ca744d3e2b..0b77412795c9 100644
> --- a/arch/arm/mach-imx/mach-imx7d.c
> +++ b/arch/arm/mach-imx/mach-imx7d.c
> @@ -95,10 +95,16 @@ static void __init imx7d_init_machine(void)
>  
>  	imx_anatop_init();
>  	imx7d_enet_init();
>  }
>  
> +static void __init imx7d_init_late(void)
> +{
> +	if (IS_ENABLED(CONFIG_ARM_IMX_CPUFREQ_DT))
> +		platform_device_register_simple("imx-cpufreq-dt", -1, NULL, 0);
> +}
> +
>  static void __init imx7d_init_irq(void)
>  {
>  	imx_init_revision_from_anatop();
>  	imx_src_init();
>  	irqchip_init();
> @@ -111,7 +117,8 @@ static const char *const imx7d_dt_compat[] __initconst = {
>  };
>  
>  DT_MACHINE_START(IMX7D, "Freescale i.MX7 Dual (Device Tree)")
>  	.init_irq	= imx7d_init_irq,
>  	.init_machine	= imx7d_init_machine,
> +	.init_late      = imx7d_init_late,
>  	.dt_compat	= imx7d_dt_compat,
>  MACHINE_END
> diff --git a/drivers/cpufreq/cpufreq-dt-platdev.c b/drivers/cpufreq/cpufreq-dt-platdev.c
> index 19c1aad57e26..eb282dff9f2c 100644
> --- a/drivers/cpufreq/cpufreq-dt-platdev.c
> +++ b/drivers/cpufreq/cpufreq-dt-platdev.c
> @@ -38,11 +38,10 @@ static const struct of_device_id whitelist[] __initconst = {
>  	{ .compatible = "hisilicon,hi3660", },
>  
>  	{ .compatible = "fsl,imx27", },
>  	{ .compatible = "fsl,imx51", },
>  	{ .compatible = "fsl,imx53", },
> -	{ .compatible = "fsl,imx7d", },
>  
>  	{ .compatible = "marvell,berlin", },
>  	{ .compatible = "marvell,pxa250", },
>  	{ .compatible = "marvell,pxa270", },
>  
> @@ -106,10 +105,11 @@ static const struct of_device_id whitelist[] __initconst = {
>   */
>  static const struct of_device_id blacklist[] __initconst = {
>  	{ .compatible = "calxeda,highbank", },
>  	{ .compatible = "calxeda,ecx-2000", },
>  
> +	{ .compatible = "fsl,imx7d", },
>  	{ .compatible = "fsl,imx8mq", },
>  	{ .compatible = "fsl,imx8mm", },
>  
>  	{ .compatible = "marvell,armadaxp", },
>  
> diff --git a/drivers/cpufreq/imx-cpufreq-dt.c b/drivers/cpufreq/imx-cpufreq-dt.c
> index 5061503cb0a1..ce26ffc18ce6 100644
> --- a/drivers/cpufreq/imx-cpufreq-dt.c
> +++ b/drivers/cpufreq/imx-cpufreq-dt.c
> @@ -18,10 +18,11 @@
>  #define OCOTP_CFG3_SPEED_GRADE_MASK	(0x3 << 8)
>  #define OCOTP_CFG3_MKT_SEGMENT_SHIFT    6
>  #define OCOTP_CFG3_MKT_SEGMENT_MASK     (0x3 << 6)
>  
>  static const struct of_device_id imx_cpufreq_dt_match_list[] = {
> +	{ .compatible = "fsl,imx7d" },
>  	{ .compatible = "fsl,imx8mm" },
>  	{ .compatible = "fsl,imx8mq" },
>  	{}
>  };

What is the purpose of this array and can we get rid of it instead ? I am asking
as this driver gets probed only if the platform code has created the
imx-cpufreq-dt device and it shouldn't get created for other machines than what
is supported.

-- 
viresh

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2019-06-03  5:38 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-29 12:03 [PATCH 1/3] ARM: dts: imx7d: Update cpufreq OPP table Leonard Crestez
2019-05-29 12:03 ` Leonard Crestez
2019-05-29 12:03 ` [PATCH 2/3] ARM: imx_v6_v7_defconfig: Enable CONFIG_ARM_IMX_CPUFREQ_DT Leonard Crestez
2019-05-29 12:03   ` Leonard Crestez
2019-05-29 12:03 ` [PATCH 3/3] cpufreq: Switch imx7d to imx-cpufreq-dt for speed grading Leonard Crestez
2019-05-29 12:03   ` Leonard Crestez
2019-06-03  5:38   ` Viresh Kumar [this message]
2019-06-03  5:38     ` Viresh Kumar
2019-06-03  7:01     ` Leonard Crestez
2019-06-03  7:01       ` Leonard Crestez
2019-06-03  7:11       ` Viresh Kumar
2019-06-03  7:11         ` Viresh Kumar

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=20190603053850.tkskdzcloir4k3kw@vireshk-i7 \
    --to=viresh.kumar@linaro.org \
    --cc=abel.vesa@nxp.com \
    --cc=aisheng.dong@nxp.com \
    --cc=anson.huang@nxp.com \
    --cc=fabio.estevam@nxp.com \
    --cc=kernel@pengutronix.de \
    --cc=leonard.crestez@nxp.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-imx@nxp.com \
    --cc=linux-pm@vger.kernel.org \
    --cc=ping.bai@nxp.com \
    --cc=rjw@rjwysocki.net \
    --cc=shawnguo@kernel.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.