From: Daniel Lezcano <daniel.lezcano@linaro.org> To: mingo@kernel.org Cc: tglx@linutronix.de, linux-kernel@vger.kernel.org, Viresh Kumar <viresh.kumar@linaro.org>, Barry Song <baohua@kernel.org>, linux-arm-kernel@lists.infradead.org (moderated list:ARM/CSR SIRFPRIMA...) Subject: [PATCH 37/74] clockevents/drivers/atlas7: Migrate to new 'set-state' interface Date: Mon, 10 Aug 2015 11:51:54 +0200 [thread overview] Message-ID: <1439200352-26767-37-git-send-email-daniel.lezcano@linaro.org> (raw) In-Reply-To: <1439200352-26767-1-git-send-email-daniel.lezcano@linaro.org> From: Viresh Kumar <viresh.kumar@linaro.org> Migrate atlas7 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Barry Song <baohua@kernel.org> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> --- drivers/clocksource/timer-atlas7.c | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/drivers/clocksource/timer-atlas7.c b/drivers/clocksource/timer-atlas7.c index 60f9de3..27fa136 100644 --- a/drivers/clocksource/timer-atlas7.c +++ b/drivers/clocksource/timer-atlas7.c @@ -76,7 +76,7 @@ static irqreturn_t sirfsoc_timer_interrupt(int irq, void *dev_id) /* clear timer interrupt */ writel_relaxed(BIT(cpu), sirfsoc_timer_base + SIRFSOC_TIMER_INTR_STATUS); - if (ce->mode == CLOCK_EVT_MODE_ONESHOT) + if (clockevent_state_oneshot(ce)) sirfsoc_timer_count_disable(cpu); ce->event_handler(ce); @@ -117,18 +117,11 @@ static int sirfsoc_timer_set_next_event(unsigned long delta, return 0; } -static void sirfsoc_timer_set_mode(enum clock_event_mode mode, - struct clock_event_device *ce) +/* Oneshot is enabled in set_next_event */ +static int sirfsoc_timer_shutdown(struct clock_event_device *evt) { - switch (mode) { - case CLOCK_EVT_MODE_ONESHOT: - /* enable in set_next_event */ - break; - default: - break; - } - sirfsoc_timer_count_disable(smp_processor_id()); + return 0; } static void sirfsoc_clocksource_suspend(struct clocksource *cs) @@ -193,7 +186,9 @@ static int sirfsoc_local_timer_setup(struct clock_event_device *ce) ce->name = "local_timer"; ce->features = CLOCK_EVT_FEAT_ONESHOT; ce->rating = 200; - ce->set_mode = sirfsoc_timer_set_mode; + ce->set_state_shutdown = sirfsoc_timer_shutdown; + ce->set_state_oneshot = sirfsoc_timer_shutdown; + ce->tick_resume = sirfsoc_timer_shutdown; ce->set_next_event = sirfsoc_timer_set_next_event; clockevents_calc_mult_shift(ce, atlas7_timer_rate, 60); ce->max_delta_ns = clockevent_delta2ns(-2, ce); -- 1.9.1
WARNING: multiple messages have this Message-ID (diff)
From: daniel.lezcano@linaro.org (Daniel Lezcano) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH 37/74] clockevents/drivers/atlas7: Migrate to new 'set-state' interface Date: Mon, 10 Aug 2015 11:51:54 +0200 [thread overview] Message-ID: <1439200352-26767-37-git-send-email-daniel.lezcano@linaro.org> (raw) In-Reply-To: <1439200352-26767-1-git-send-email-daniel.lezcano@linaro.org> From: Viresh Kumar <viresh.kumar@linaro.org> Migrate atlas7 driver to the new 'set-state' interface provided by clockevents core, the earlier 'set-mode' interface is marked obsolete now. This also enables us to implement callbacks for new states of clockevent devices, for example: ONESHOT_STOPPED. Cc: Barry Song <baohua@kernel.org> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> --- drivers/clocksource/timer-atlas7.c | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/drivers/clocksource/timer-atlas7.c b/drivers/clocksource/timer-atlas7.c index 60f9de3..27fa136 100644 --- a/drivers/clocksource/timer-atlas7.c +++ b/drivers/clocksource/timer-atlas7.c @@ -76,7 +76,7 @@ static irqreturn_t sirfsoc_timer_interrupt(int irq, void *dev_id) /* clear timer interrupt */ writel_relaxed(BIT(cpu), sirfsoc_timer_base + SIRFSOC_TIMER_INTR_STATUS); - if (ce->mode == CLOCK_EVT_MODE_ONESHOT) + if (clockevent_state_oneshot(ce)) sirfsoc_timer_count_disable(cpu); ce->event_handler(ce); @@ -117,18 +117,11 @@ static int sirfsoc_timer_set_next_event(unsigned long delta, return 0; } -static void sirfsoc_timer_set_mode(enum clock_event_mode mode, - struct clock_event_device *ce) +/* Oneshot is enabled in set_next_event */ +static int sirfsoc_timer_shutdown(struct clock_event_device *evt) { - switch (mode) { - case CLOCK_EVT_MODE_ONESHOT: - /* enable in set_next_event */ - break; - default: - break; - } - sirfsoc_timer_count_disable(smp_processor_id()); + return 0; } static void sirfsoc_clocksource_suspend(struct clocksource *cs) @@ -193,7 +186,9 @@ static int sirfsoc_local_timer_setup(struct clock_event_device *ce) ce->name = "local_timer"; ce->features = CLOCK_EVT_FEAT_ONESHOT; ce->rating = 200; - ce->set_mode = sirfsoc_timer_set_mode; + ce->set_state_shutdown = sirfsoc_timer_shutdown; + ce->set_state_oneshot = sirfsoc_timer_shutdown; + ce->tick_resume = sirfsoc_timer_shutdown; ce->set_next_event = sirfsoc_timer_set_next_event; clockevents_calc_mult_shift(ce, atlas7_timer_rate, 60); ce->max_delta_ns = clockevent_delta2ns(-2, ce); -- 1.9.1
next prev parent reply other threads:[~2015-08-10 10:05 UTC|newest] Thread overview: 107+ messages / expand[flat|nested] mbox.gz Atom feed top 2015-08-10 9:48 [PULL] clockevents changes for 4.3 Daniel Lezcano 2015-08-10 9:51 ` [PATCH 01/74] clockevents/drivers/arm_arch_timer: Migrate to new 'set-state' interface Daniel Lezcano 2015-08-10 9:51 ` [PATCH 02/74] clockevents/drivers/arm_global_timer: " Daniel Lezcano 2015-08-10 9:51 ` Daniel Lezcano 2015-08-10 9:51 ` [PATCH 03/74] clockevents/drivers/bcm2835: " Daniel Lezcano 2015-08-11 15:31 ` Lee Jones 2015-08-10 9:51 ` [PATCH 04/74] clockevents/drivers/bcm_kona: " Daniel Lezcano 2015-08-12 19:30 ` Scott Branden 2015-08-10 9:51 ` [PATCH 05/74] clockevents/drivers/cs5535: " Daniel Lezcano 2015-08-10 9:51 ` [PATCH 06/74] clockevents/drivers/em_sti: " Daniel Lezcano 2015-08-10 9:51 ` [PATCH 07/74] clockevents/drivers/Kconfig: Replace USE_OF with OF Daniel Lezcano 2015-08-10 9:51 ` [PATCH 08/74] clockevents/drivers/exynos_mct: Remove unneeded container_of() Daniel Lezcano 2015-08-10 9:51 ` Daniel Lezcano 2015-08-10 9:51 ` Daniel Lezcano 2015-08-10 9:51 ` [PATCH 09/74] clockevents/drivers/sh_cmt: Remove obsolete sh-cmt-32-fast platform_device_id entry Daniel Lezcano 2015-08-10 9:51 ` [PATCH 10/74] clockevents/drivers/sh_cmt: Remove obsolete sh-cmt-48-gen2 " Daniel Lezcano 2015-08-10 9:51 ` [PATCH 11/74] clockevents/drivers/asm9260: Migrate to new 'set-state' interface Daniel Lezcano 2015-08-10 9:51 ` [PATCH 12/74] clockevents/drivers/cadence_ttc: " Daniel Lezcano 2015-08-10 9:51 ` Daniel Lezcano 2015-08-10 9:51 ` [PATCH 13/74] clockevents/drivers/clps711x: " Daniel Lezcano 2015-08-10 9:51 ` Daniel Lezcano 2015-08-10 9:51 ` [PATCH 14/74] clockevents/drivers/dummy_timer: " Daniel Lezcano 2015-08-10 9:51 ` [PATCH 15/74] clockevents/drivers/dw_apb: " Daniel Lezcano 2015-08-10 9:51 ` [PATCH 16/74] clockevents/drivers/fsl_ftm: " Daniel Lezcano 2015-08-10 9:51 ` [PATCH 17/74] clockevents/drivers/i8253: " Daniel Lezcano 2015-08-10 9:51 ` [PATCH 18/74] clockevents/drivers/meson6: " Daniel Lezcano 2015-08-10 9:51 ` Daniel Lezcano 2015-08-10 9:51 ` [PATCH 19/74] clockevents/drivers/metag_generic: " Daniel Lezcano 2015-08-10 9:51 ` Daniel Lezcano 2015-08-10 9:51 ` [PATCH 20/74] clockevents/drivers/mips-gic: " Daniel Lezcano 2015-08-10 9:51 ` [PATCH 21/74] clockevents/drivers/moxart: " Daniel Lezcano 2015-08-10 9:51 ` [PATCH 22/74] clockevents/drivers/mtk: " Daniel Lezcano 2015-08-10 9:51 ` Daniel Lezcano 2015-08-10 9:51 ` Daniel Lezcano 2015-08-10 9:51 ` [PATCH 23/74] clockevents/drivers/mxs: " Daniel Lezcano 2015-08-10 9:51 ` [PATCH 24/74] clockevents/drivers/nomadik-mtu: " Daniel Lezcano 2015-08-10 9:51 ` [PATCH 25/74] clockevents/drivers/pxa: " Daniel Lezcano 2015-08-10 9:51 ` [PATCH 26/74] clockevents/drivers/qcom: " Daniel Lezcano 2015-08-10 9:51 ` [PATCH 27/74] clockevents/drivers/rockchip: " Daniel Lezcano 2015-08-10 9:51 ` Daniel Lezcano 2015-08-10 9:51 ` Daniel Lezcano 2015-08-10 9:51 ` [PATCH 28/74] clockevents/drivers/samsung_pwm: " Daniel Lezcano 2015-08-10 9:51 ` [PATCH 29/74] clockevents/drivers/sh_cmt: " Daniel Lezcano 2015-08-10 9:51 ` [PATCH 30/74] clockevents/drivers/sh_mtu2: " Daniel Lezcano 2015-08-10 9:51 ` [PATCH 31/74] clockevents/drivers/sh_tmu: " Daniel Lezcano 2015-08-10 9:51 ` [PATCH 32/74] clockevents/drivers/sun4i: " Daniel Lezcano 2015-08-10 9:51 ` Daniel Lezcano 2015-08-10 9:51 ` [PATCH 33/74] clockevents/drivers/tegra20: " Daniel Lezcano 2015-08-10 9:51 ` Daniel Lezcano 2015-08-10 9:51 ` [PATCH 34/74] clockevents/drivers/time-armada-370-xp: " Daniel Lezcano 2015-08-10 9:51 ` [PATCH 35/74] clockevents/drivers/efm32: " Daniel Lezcano 2015-08-10 9:51 ` Daniel Lezcano 2015-08-10 9:51 ` [PATCH 36/74] clockevents/drivers/orion: " Daniel Lezcano 2015-08-10 9:51 ` Daniel Lezcano [this message] 2015-08-10 9:51 ` [PATCH 37/74] clockevents/drivers/atlas7: " Daniel Lezcano 2015-08-10 9:51 ` [PATCH 38/74] clockevents/drivers/atmel: " Daniel Lezcano 2015-08-10 9:51 ` [PATCH 39/74] clockevents/drivers/atmel-st: " Daniel Lezcano 2015-08-10 9:51 ` [PATCH 40/74] clockevents/drivers/digicolor: " Daniel Lezcano 2015-08-10 9:51 ` Daniel Lezcano 2015-08-10 9:51 ` [PATCH 41/74] clockevents/drivers/integrator: " Daniel Lezcano 2015-08-10 9:51 ` [PATCH 42/74] clockevents/drivers/keystone: " Daniel Lezcano 2015-08-10 9:51 ` Daniel Lezcano 2015-08-10 16:55 ` santosh.shilimkar 2015-08-10 16:55 ` santosh.shilimkar at oracle.com 2015-08-10 9:52 ` [PATCH 43/74] clockevents/drivers/prima2: " Daniel Lezcano 2015-08-10 9:52 ` Daniel Lezcano 2015-08-10 9:52 ` [PATCH 44/74] clockevents/drivers/stm32: " Daniel Lezcano 2015-08-10 9:52 ` Daniel Lezcano 2015-08-10 9:52 ` [PATCH 45/74] clockevents/drivers/sun5i: " Daniel Lezcano 2015-08-10 9:52 ` Daniel Lezcano 2015-08-10 9:52 ` [PATCH 46/74] clockevents/drivers/u300: " Daniel Lezcano 2015-08-10 9:52 ` Daniel Lezcano 2015-08-10 9:52 ` [PATCH 47/74] clockevents/drivers/vf_pit: " Daniel Lezcano 2015-08-10 9:52 ` [PATCH 48/74] clockevents/drivers/vt8500: " Daniel Lezcano 2015-08-10 9:52 ` Daniel Lezcano 2015-08-10 9:52 ` [PATCH 49/74] clockevents/drivers/zevio: " Daniel Lezcano 2015-08-10 9:52 ` [PATCH 50/74] clockevents/drivers/tcb_clksrc: " Daniel Lezcano 2015-08-10 9:52 ` Daniel Lezcano 2015-08-10 9:52 ` [PATCH 51/74] clockevents/drivers/exynos_mct: " Daniel Lezcano 2015-08-10 9:52 ` Daniel Lezcano 2015-08-10 9:52 ` Daniel Lezcano 2015-08-10 9:52 ` [PATCH 52/74] clockevents/drivers/dw_apb_timer: Add dynamic irq flag to the timer Daniel Lezcano 2015-08-10 9:52 ` [PATCH 53/74] clockevents/drivers/sh_cmt: Remove obsolete sh-cmt-48 platform_device_id entry Daniel Lezcano 2015-08-10 9:52 ` [PATCH 54/74] clockevents/drivers/timer-imx-gpt: Migrate to new 'set-state' interface Daniel Lezcano 2015-08-10 9:52 ` [PATCH 55/74] clockevents/drivers/timer-sp804: " Daniel Lezcano 2015-08-10 9:52 ` [PATCH 56/74] clockevents/drivers/timer-atmel-pit: Fix typo in structure initialization Daniel Lezcano 2015-08-10 9:52 ` [PATCH 57/74] clocksource/drivers/sh_tmu: Fix traceback spotted in -next Daniel Lezcano 2015-08-10 9:52 ` [PATCH 58/74] clockevents/drivers/h8300_timer8: Migrate to new 'set-state' interface Daniel Lezcano 2015-08-10 9:52 ` [PATCH 59/74] alpha/time: " Daniel Lezcano 2015-08-10 9:52 ` [PATCH 60/74] blackfin/time-ts: " Daniel Lezcano 2015-08-10 9:52 ` [PATCH 61/74] c6x/timer64: " Daniel Lezcano 2015-08-10 9:52 ` [PATCH 62/74] microblaze/timer: " Daniel Lezcano 2015-08-10 9:52 ` [PATCH 63/74] mn10300/cevt-mn10300: " Daniel Lezcano 2015-08-10 9:52 ` [PATCH 64/74] openrisc/time: " Daniel Lezcano 2015-08-10 9:52 ` [PATCH 65/74] powerpc/time: " Daniel Lezcano 2015-08-10 9:52 ` [PATCH 66/74] s390/time: " Daniel Lezcano 2015-08-10 9:52 ` [PATCH 67/74] score/time: " Daniel Lezcano 2015-08-16 17:04 ` Lennox Wu 2015-08-10 9:52 ` [PATCH 68/74] sh/localtimer: " Daniel Lezcano 2015-08-10 9:52 ` Daniel Lezcano 2015-08-10 9:52 ` [PATCH 69/74] sparc/time: " Daniel Lezcano 2015-08-10 9:52 ` Daniel Lezcano 2015-08-10 9:52 ` [PATCH 70/74] um/time: " Daniel Lezcano 2015-08-10 9:52 ` [PATCH 71/74] unicore/time: " Daniel Lezcano 2015-08-10 9:52 ` [PATCH 72/74] xtensa/time: " Daniel Lezcano 2015-08-10 9:52 ` [PATCH 73/74] kernel: broadcast-hrtimer: " Daniel Lezcano 2015-08-10 9:52 ` [PATCH 74/74] cris/time: " 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=1439200352-26767-37-git-send-email-daniel.lezcano@linaro.org \ --to=daniel.lezcano@linaro.org \ --cc=baohua@kernel.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=mingo@kernel.org \ --cc=tglx@linutronix.de \ --cc=viresh.kumar@linaro.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: 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.