From: Suzuki.Poulose@arm.com (Suzuki K Poulose)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] [for 4.7] arm-ccn: Enable building as module
Date: Wed, 4 May 2016 10:37:16 +0100 [thread overview]
Message-ID: <5729C2CC.7030806@arm.com> (raw)
In-Reply-To: <1461855901-23794-1-git-send-email-suzuki.poulose@arm.com>
On 28/04/16 16:05, Suzuki K Poulose wrote:
> arm-ccn driver uses irq_set_affinity, which is not exported and
> hence cannot be built as a module, eventhough we have all the
> bits ready. This patch makes use of the exported helper
> irq_set_affinity_hint() instead. Also, the __free_irq expects
> the affinity_hint to be NULL when we free the irq. So set the
> affinity_hint to NULL at clean up.
>
> Now that we can build it as a module, update the Kconfig to
> reflect the change.
>
> Cc: Will Deacon <will.deacon@arm.com>
> Cc: Mark Rutland <mark.rutland@arm.com>
> Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
> Acked-by: Pawel Moll <pawel.moll@arm.com>
> Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Hi,
Could you please pull this for 4.7 ?
Thanks
Suzuki
> ---
> drivers/bus/Kconfig | 2 +-
> drivers/bus/arm-ccn.c | 7 ++++---
> 2 files changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/bus/Kconfig b/drivers/bus/Kconfig
> index d4a3a31..3efc996 100644
> --- a/drivers/bus/Kconfig
> +++ b/drivers/bus/Kconfig
> @@ -48,7 +48,7 @@ config ARM_CCI5xx_PMU
> If unsure, say Y
>
> config ARM_CCN
> - bool "ARM CCN driver support"
> + tristate "ARM CCN driver support"
> depends on ARM || ARM64
> depends on PERF_EVENTS
> help
> diff --git a/drivers/bus/arm-ccn.c b/drivers/bus/arm-ccn.c
> index 7082c72..acc3eb5 100644
> --- a/drivers/bus/arm-ccn.c
> +++ b/drivers/bus/arm-ccn.c
> @@ -1189,7 +1189,7 @@ static int arm_ccn_pmu_cpu_notifier(struct notifier_block *nb,
> perf_pmu_migrate_context(&dt->pmu, cpu, target);
> cpumask_set_cpu(target, &dt->cpu);
> if (ccn->irq)
> - WARN_ON(irq_set_affinity(ccn->irq, &dt->cpu) != 0);
> + WARN_ON(irq_set_affinity_hint(ccn->irq, &dt->cpu) != 0);
> default:
> break;
> }
> @@ -1278,7 +1278,7 @@ static int arm_ccn_pmu_init(struct arm_ccn *ccn)
>
> /* Also make sure that the overflow interrupt is handled by this CPU */
> if (ccn->irq) {
> - err = irq_set_affinity(ccn->irq, &ccn->dt.cpu);
> + err = irq_set_affinity_hint(ccn->irq, &ccn->dt.cpu);
> if (err) {
> dev_err(ccn->dev, "Failed to set interrupt affinity!\n");
> goto error_set_affinity;
> @@ -1306,7 +1306,8 @@ static void arm_ccn_pmu_cleanup(struct arm_ccn *ccn)
> {
> int i;
>
> - irq_set_affinity(ccn->irq, cpu_possible_mask);
> + if (ccn->irq)
> + irq_set_affinity_hint(ccn->irq, NULL);
> unregister_cpu_notifier(&ccn->dt.cpu_nb);
> for (i = 0; i < ccn->num_xps; i++)
> writel(0, ccn->xp[i].base + CCN_XP_DT_CONTROL);
>
WARNING: multiple messages have this Message-ID (diff)
From: Suzuki K Poulose <Suzuki.Poulose@arm.com>
To: olof@lixom.net, arnd@arndb.de, khilman@baylibre.com
Cc: arm@kernel.org, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, Will Deacon <will.deacon@arm.com>,
Mark Rutland <mark.rutland@arm.com>,
Paul Gortmaker <paul.gortmaker@windriver.com>
Subject: Re: [PATCH] [for 4.7] arm-ccn: Enable building as module
Date: Wed, 4 May 2016 10:37:16 +0100 [thread overview]
Message-ID: <5729C2CC.7030806@arm.com> (raw)
In-Reply-To: <1461855901-23794-1-git-send-email-suzuki.poulose@arm.com>
On 28/04/16 16:05, Suzuki K Poulose wrote:
> arm-ccn driver uses irq_set_affinity, which is not exported and
> hence cannot be built as a module, eventhough we have all the
> bits ready. This patch makes use of the exported helper
> irq_set_affinity_hint() instead. Also, the __free_irq expects
> the affinity_hint to be NULL when we free the irq. So set the
> affinity_hint to NULL at clean up.
>
> Now that we can build it as a module, update the Kconfig to
> reflect the change.
>
> Cc: Will Deacon <will.deacon@arm.com>
> Cc: Mark Rutland <mark.rutland@arm.com>
> Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
> Acked-by: Pawel Moll <pawel.moll@arm.com>
> Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Hi,
Could you please pull this for 4.7 ?
Thanks
Suzuki
> ---
> drivers/bus/Kconfig | 2 +-
> drivers/bus/arm-ccn.c | 7 ++++---
> 2 files changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/bus/Kconfig b/drivers/bus/Kconfig
> index d4a3a31..3efc996 100644
> --- a/drivers/bus/Kconfig
> +++ b/drivers/bus/Kconfig
> @@ -48,7 +48,7 @@ config ARM_CCI5xx_PMU
> If unsure, say Y
>
> config ARM_CCN
> - bool "ARM CCN driver support"
> + tristate "ARM CCN driver support"
> depends on ARM || ARM64
> depends on PERF_EVENTS
> help
> diff --git a/drivers/bus/arm-ccn.c b/drivers/bus/arm-ccn.c
> index 7082c72..acc3eb5 100644
> --- a/drivers/bus/arm-ccn.c
> +++ b/drivers/bus/arm-ccn.c
> @@ -1189,7 +1189,7 @@ static int arm_ccn_pmu_cpu_notifier(struct notifier_block *nb,
> perf_pmu_migrate_context(&dt->pmu, cpu, target);
> cpumask_set_cpu(target, &dt->cpu);
> if (ccn->irq)
> - WARN_ON(irq_set_affinity(ccn->irq, &dt->cpu) != 0);
> + WARN_ON(irq_set_affinity_hint(ccn->irq, &dt->cpu) != 0);
> default:
> break;
> }
> @@ -1278,7 +1278,7 @@ static int arm_ccn_pmu_init(struct arm_ccn *ccn)
>
> /* Also make sure that the overflow interrupt is handled by this CPU */
> if (ccn->irq) {
> - err = irq_set_affinity(ccn->irq, &ccn->dt.cpu);
> + err = irq_set_affinity_hint(ccn->irq, &ccn->dt.cpu);
> if (err) {
> dev_err(ccn->dev, "Failed to set interrupt affinity!\n");
> goto error_set_affinity;
> @@ -1306,7 +1306,8 @@ static void arm_ccn_pmu_cleanup(struct arm_ccn *ccn)
> {
> int i;
>
> - irq_set_affinity(ccn->irq, cpu_possible_mask);
> + if (ccn->irq)
> + irq_set_affinity_hint(ccn->irq, NULL);
> unregister_cpu_notifier(&ccn->dt.cpu_nb);
> for (i = 0; i < ccn->num_xps; i++)
> writel(0, ccn->xp[i].base + CCN_XP_DT_CONTROL);
>
next prev parent reply other threads:[~2016-05-04 9:37 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-28 15:05 [PATCH] [for 4.7] arm-ccn: Enable building as module Suzuki K Poulose
2016-04-28 15:05 ` Suzuki K Poulose
2016-05-04 9:37 ` Suzuki K Poulose [this message]
2016-05-04 9:37 ` Suzuki K Poulose
2016-05-09 14:04 ` Suzuki K Poulose
2016-05-09 14:04 ` Suzuki K Poulose
2016-05-09 14:36 ` Arnd Bergmann
2016-05-09 14:36 ` Arnd Bergmann
2016-05-09 14:40 ` Suzuki K Poulose
2016-05-09 14:40 ` Suzuki K Poulose
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=5729C2CC.7030806@arm.com \
--to=suzuki.poulose@arm.com \
--cc=linux-arm-kernel@lists.infradead.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.