From: Alexandre Belloni <alexandre.belloni@bootlin.com> To: Daniel Lezcano <daniel.lezcano@linaro.org> Cc: Thomas Gleixner <tglx@linutronix.de>, Nicolas Ferre <nicolas.ferre@microchip.com>, Sebastian Andrzej Siewior <bigeasy@linutronix.de>, kamel.bouhara@bootlin.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Alexandre Belloni <alexandre.belloni@bootlin.com> Subject: [PATCH v6 6/9] clocksource/drivers/timer-atmel-tcb: fill tcb_config Date: Sat, 11 Jul 2020 01:08:10 +0200 [thread overview] Message-ID: <20200710230813.1005150-7-alexandre.belloni@bootlin.com> (raw) In-Reply-To: <20200710230813.1005150-1-alexandre.belloni@bootlin.com> Use the tcb_config and struct atmel_tcb_config to get the timer counter width. This is necessary because atmel_tcb_config will be extended later on. Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> --- drivers/clocksource/timer-atmel-tcb.c | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/drivers/clocksource/timer-atmel-tcb.c b/drivers/clocksource/timer-atmel-tcb.c index b255a4a1a36b..423af2f9835f 100644 --- a/drivers/clocksource/timer-atmel-tcb.c +++ b/drivers/clocksource/timer-atmel-tcb.c @@ -348,9 +348,17 @@ static void __init tcb_setup_single_chan(struct atmel_tc *tc, int mck_divisor_id static const u8 atmel_tcb_divisors[] = { 2, 8, 32, 128 }; +static struct atmel_tcb_config tcb_rm9200_config = { + .counter_width = 16, +}; + +static struct atmel_tcb_config tcb_sam9x5_config = { + .counter_width = 32, +}; + static const struct of_device_id atmel_tcb_of_match[] = { - { .compatible = "atmel,at91rm9200-tcb", .data = (void *)16, }, - { .compatible = "atmel,at91sam9x5-tcb", .data = (void *)32, }, + { .compatible = "atmel,at91rm9200-tcb", .data = &tcb_rm9200_config, }, + { .compatible = "atmel,at91sam9x5-tcb", .data = &tcb_sam9x5_config, }, { /* sentinel */ } }; @@ -398,7 +406,11 @@ static int __init tcb_clksrc_init(struct device_node *node) } match = of_match_node(atmel_tcb_of_match, node->parent); - bits = (uintptr_t)match->data; + if (!match) + return -ENODEV; + + tc.tcb_config = match->data; + bits = tc.tcb_config->counter_width; for (i = 0; i < ARRAY_SIZE(tc.irq); i++) writel(ATMEL_TC_ALL_IRQ, tc.regs + ATMEL_TC_REG(i, IDR)); -- 2.26.2
WARNING: multiple messages have this Message-ID (diff)
From: Alexandre Belloni <alexandre.belloni@bootlin.com> To: Daniel Lezcano <daniel.lezcano@linaro.org> Cc: kamel.bouhara@bootlin.com, Alexandre Belloni <alexandre.belloni@bootlin.com>, Sebastian Andrzej Siewior <bigeasy@linutronix.de>, linux-kernel@vger.kernel.org, Thomas Gleixner <tglx@linutronix.de>, linux-arm-kernel@lists.infradead.org Subject: [PATCH v6 6/9] clocksource/drivers/timer-atmel-tcb: fill tcb_config Date: Sat, 11 Jul 2020 01:08:10 +0200 [thread overview] Message-ID: <20200710230813.1005150-7-alexandre.belloni@bootlin.com> (raw) In-Reply-To: <20200710230813.1005150-1-alexandre.belloni@bootlin.com> Use the tcb_config and struct atmel_tcb_config to get the timer counter width. This is necessary because atmel_tcb_config will be extended later on. Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> --- drivers/clocksource/timer-atmel-tcb.c | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/drivers/clocksource/timer-atmel-tcb.c b/drivers/clocksource/timer-atmel-tcb.c index b255a4a1a36b..423af2f9835f 100644 --- a/drivers/clocksource/timer-atmel-tcb.c +++ b/drivers/clocksource/timer-atmel-tcb.c @@ -348,9 +348,17 @@ static void __init tcb_setup_single_chan(struct atmel_tc *tc, int mck_divisor_id static const u8 atmel_tcb_divisors[] = { 2, 8, 32, 128 }; +static struct atmel_tcb_config tcb_rm9200_config = { + .counter_width = 16, +}; + +static struct atmel_tcb_config tcb_sam9x5_config = { + .counter_width = 32, +}; + static const struct of_device_id atmel_tcb_of_match[] = { - { .compatible = "atmel,at91rm9200-tcb", .data = (void *)16, }, - { .compatible = "atmel,at91sam9x5-tcb", .data = (void *)32, }, + { .compatible = "atmel,at91rm9200-tcb", .data = &tcb_rm9200_config, }, + { .compatible = "atmel,at91sam9x5-tcb", .data = &tcb_sam9x5_config, }, { /* sentinel */ } }; @@ -398,7 +406,11 @@ static int __init tcb_clksrc_init(struct device_node *node) } match = of_match_node(atmel_tcb_of_match, node->parent); - bits = (uintptr_t)match->data; + if (!match) + return -ENODEV; + + tc.tcb_config = match->data; + bits = tc.tcb_config->counter_width; for (i = 0; i < ARRAY_SIZE(tc.irq); i++) writel(ATMEL_TC_ALL_IRQ, tc.regs + ATMEL_TC_REG(i, IDR)); -- 2.26.2 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2020-07-10 23:08 UTC|newest] Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-07-10 23:08 [PATCH v6 0/9] clocksource/drivers/timer-atmel-tcb: add sama5d2 support Alexandre Belloni 2020-07-10 23:08 ` Alexandre Belloni 2020-07-10 23:08 ` [PATCH v6 1/9] dt-bindings: atmel-tcb: convert bindings to json-schema Alexandre Belloni 2020-07-10 23:08 ` Alexandre Belloni 2020-07-23 19:09 ` [tip: timers/core] " tip-bot2 for Alexandre Belloni 2020-07-10 23:08 ` [PATCH v6 2/9] dt-bindings: microchip: atmel,at91rm9200-tcb: add sama5d2 compatible Alexandre Belloni 2020-07-10 23:08 ` [PATCH v6 2/9] dt-bindings: microchip: atmel, at91rm9200-tcb: " Alexandre Belloni 2020-07-23 19:09 ` [tip: timers/core] dt-bindings: microchip: atmel,at91rm9200-tcb: " tip-bot2 for Alexandre Belloni 2020-07-10 23:08 ` [PATCH v6 3/9] ARM: dts: at91: sama5d2: add TCB GCLK Alexandre Belloni 2020-07-10 23:08 ` Alexandre Belloni 2020-07-23 19:09 ` [tip: timers/core] " tip-bot2 for Alexandre Belloni 2020-07-10 23:08 ` [PATCH v6 4/9] ARM: at91: add atmel tcb capabilities Alexandre Belloni 2020-07-10 23:08 ` Alexandre Belloni 2020-07-23 19:09 ` [tip: timers/core] " tip-bot2 for Kamel Bouhara 2020-07-10 23:08 ` [PATCH v6 5/9] clocksource/drivers/timer-atmel-tcb: rework 32khz clock selection Alexandre Belloni 2020-07-10 23:08 ` Alexandre Belloni 2020-07-23 19:09 ` [tip: timers/core] clocksource/drivers/timer-atmel-tcb: Rework " tip-bot2 for Alexandre Belloni 2020-07-10 23:08 ` Alexandre Belloni [this message] 2020-07-10 23:08 ` [PATCH v6 6/9] clocksource/drivers/timer-atmel-tcb: fill tcb_config Alexandre Belloni 2020-07-23 19:09 ` [tip: timers/core] clocksource/drivers/timer-atmel-tcb: Fill tcb_config tip-bot2 for Alexandre Belloni 2020-07-10 23:08 ` [PATCH v6 7/9] clocksource/drivers/timer-atmel-tcb: stop using the 32kHz for clockevents Alexandre Belloni 2020-07-10 23:08 ` Alexandre Belloni 2020-07-23 19:09 ` [tip: timers/core] clocksource/drivers/timer-atmel-tcb: Stop " tip-bot2 for Alexandre Belloni 2020-07-10 23:08 ` [PATCH v6 8/9] clocksource/drivers/timer-atmel-tcb: allow selecting first divider Alexandre Belloni 2020-07-10 23:08 ` Alexandre Belloni 2020-07-23 19:09 ` [tip: timers/core] clocksource/drivers/timer-atmel-tcb: Allow " tip-bot2 for Alexandre Belloni 2020-07-10 23:08 ` [PATCH v6 9/9] clocksource/drivers/timer-atmel-tcb: add sama5d2 support Alexandre Belloni 2020-07-10 23:08 ` Alexandre Belloni 2020-07-23 19:09 ` [tip: timers/core] clocksource/drivers/timer-atmel-tcb: Add " tip-bot2 for Alexandre Belloni 2020-07-17 4:11 ` [PATCH v6 0/9] clocksource/drivers/timer-atmel-tcb: add " Daniel Lezcano 2020-07-17 4:11 ` Daniel Lezcano
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=20200710230813.1005150-7-alexandre.belloni@bootlin.com \ --to=alexandre.belloni@bootlin.com \ --cc=bigeasy@linutronix.de \ --cc=daniel.lezcano@linaro.org \ --cc=kamel.bouhara@bootlin.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=nicolas.ferre@microchip.com \ --cc=tglx@linutronix.de \ /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: linkBe 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.