Re: [PATCH v2 3/7] clocksource: Drop unused efm32 timer code

2021-01-18 Thread Daniel Lezcano
On 15/01/2021 16:51, Uwe Kleine-König wrote:
> Support for this machine was just removed, so drop the now unused timer
> code, too.
> 
> Signed-off-by: Uwe Kleine-König 
> ---

I've applied this patch in the clocksource tree.

Thanks

  -- Daniel


-- 
 Linaro.org │ Open source software for ARM SoCs

Follow Linaro:   Facebook |
 Twitter |
 Blog


Re: [PATCH v2 3/7] clocksource: Drop unused efm32 timer code

2021-01-18 Thread Daniel Lezcano
On 15/01/2021 16:51, Uwe Kleine-König wrote:
> Support for this machine was just removed, so drop the now unused timer
> code, too.
> 
> Signed-off-by: Uwe Kleine-König 

Shall I take it through my tree ?

> ---
>  drivers/clocksource/Kconfig   |   9 -
>  drivers/clocksource/Makefile  |   1 -
>  drivers/clocksource/timer-efm32.c | 278 --
>  3 files changed, 288 deletions(-)
>  delete mode 100644 drivers/clocksource/timer-efm32.c
> 
> diff --git a/drivers/clocksource/Kconfig b/drivers/clocksource/Kconfig
> index 14c7c4712478..1416a32140c5 100644
> --- a/drivers/clocksource/Kconfig
> +++ b/drivers/clocksource/Kconfig
> @@ -242,15 +242,6 @@ config INTEGRATOR_AP_TIMER
>   help
> Enables support for the Integrator-AP timer.
>  
> -config CLKSRC_EFM32
> - bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32
> - depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST)
> - select CLKSRC_MMIO
> - default ARCH_EFM32
> - help
> -   Support to use the timers of EFM32 SoCs as clock source and clock
> -   event device.
> -
>  config CLKSRC_LPC32XX
>   bool "Clocksource for LPC32XX" if COMPILE_TEST
>   depends on HAS_IOMEM
> diff --git a/drivers/clocksource/Makefile b/drivers/clocksource/Makefile
> index 3c75cbbf8533..08173383f2d9 100644
> --- a/drivers/clocksource/Makefile
> +++ b/drivers/clocksource/Makefile
> @@ -43,7 +43,6 @@ obj-$(CONFIG_VT8500_TIMER)  += timer-vt8500.o
>  obj-$(CONFIG_NSPIRE_TIMER)   += timer-zevio.o
>  obj-$(CONFIG_BCM_KONA_TIMER) += bcm_kona_timer.o
>  obj-$(CONFIG_CADENCE_TTC_TIMER)  += timer-cadence-ttc.o
> -obj-$(CONFIG_CLKSRC_EFM32)   += timer-efm32.o
>  obj-$(CONFIG_CLKSRC_STM32)   += timer-stm32.o
>  obj-$(CONFIG_CLKSRC_STM32_LP)+= timer-stm32-lp.o
>  obj-$(CONFIG_CLKSRC_EXYNOS_MCT)  += exynos_mct.o
> diff --git a/drivers/clocksource/timer-efm32.c 
> b/drivers/clocksource/timer-efm32.c
> deleted file mode 100644
> index 441a4b916841..
> --- a/drivers/clocksource/timer-efm32.c
> +++ /dev/null
> @@ -1,278 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0-only
> -/*
> - * Copyright (C) 2013 Pengutronix
> - * Uwe Kleine-Koenig 
> - */
> -
> -#define pr_fmt(fmt)  KBUILD_MODNAME ": " fmt
> -
> -#include 
> -#include 
> -#include 
> -#include 
> -#include 
> -#include 
> -#include 
> -#include 
> -#include 
> -
> -#define TIMERn_CTRL  0x00
> -#define TIMERn_CTRL_PRESC(val)   (((val) & 0xf) << 24)
> -#define TIMERn_CTRL_PRESC_1024   TIMERn_CTRL_PRESC(10)
> -#define TIMERn_CTRL_CLKSEL(val)  (((val) & 0x3) << 16)
> -#define TIMERn_CTRL_CLKSEL_PRESCHFPERCLK TIMERn_CTRL_CLKSEL(0)
> -#define TIMERn_CTRL_OSMEN0x0010
> -#define TIMERn_CTRL_MODE(val)(((val) & 0x3) <<  0)
> -#define TIMERn_CTRL_MODE_UP  TIMERn_CTRL_MODE(0)
> -#define TIMERn_CTRL_MODE_DOWNTIMERn_CTRL_MODE(1)
> -
> -#define TIMERn_CMD   0x04
> -#define TIMERn_CMD_START 0x0001
> -#define TIMERn_CMD_STOP  0x0002
> -
> -#define TIMERn_IEN   0x0c
> -#define TIMERn_IF0x10
> -#define TIMERn_IFS   0x14
> -#define TIMERn_IFC   0x18
> -#define TIMERn_IRQ_UF0x0002
> -
> -#define TIMERn_TOP   0x1c
> -#define TIMERn_CNT   0x24
> -
> -struct efm32_clock_event_ddata {
> - struct clock_event_device evtdev;
> - void __iomem *base;
> - unsigned periodic_top;
> -};
> -
> -static int efm32_clock_event_shutdown(struct clock_event_device *evtdev)
> -{
> - struct efm32_clock_event_ddata *ddata =
> - container_of(evtdev, struct efm32_clock_event_ddata, evtdev);
> -
> - writel_relaxed(TIMERn_CMD_STOP, ddata->base + TIMERn_CMD);
> - return 0;
> -}
> -
> -static int efm32_clock_event_set_oneshot(struct clock_event_device *evtdev)
> -{
> - struct efm32_clock_event_ddata *ddata =
> - container_of(evtdev, struct efm32_clock_event_ddata, evtdev);
> -
> - writel_relaxed(TIMERn_CMD_STOP, ddata->base + TIMERn_CMD);
> - writel_relaxed(TIMERn_CTRL_PRESC_1024 |
> -TIMERn_CTRL_CLKSEL_PRESCHFPERCLK |
> -TIMERn_CTRL_OSMEN |
> -TIMERn_CTRL_MODE_DOWN,
> -ddata->base + TIMERn_CTRL);
> - return 0;
> -}
> -
> -static int efm32_clock_event_set_periodic(struct clock_event_device *evtdev)
> -{
> - struct efm32_clock_event_ddata *ddata =
> - container_of(evtdev, struct efm32_clock_event_ddata, evtdev);
> -
> - writel_relaxed(TIMERn_CMD_STOP, ddata->base + TIMERn_CMD);
> - writel_relaxed(ddata->periodic_top, ddata->base + TIMERn_TOP);
> - writel_relaxed(TIMERn_CTRL_PRESC_1024 |
> -TIMERn_CTRL_CLKSEL_PRESCHFPERCLK |
> - 

[PATCH v2 3/7] clocksource: Drop unused efm32 timer code

2021-01-15 Thread Uwe Kleine-König
Support for this machine was just removed, so drop the now unused timer
code, too.

Signed-off-by: Uwe Kleine-König 
---
 drivers/clocksource/Kconfig   |   9 -
 drivers/clocksource/Makefile  |   1 -
 drivers/clocksource/timer-efm32.c | 278 --
 3 files changed, 288 deletions(-)
 delete mode 100644 drivers/clocksource/timer-efm32.c

diff --git a/drivers/clocksource/Kconfig b/drivers/clocksource/Kconfig
index 14c7c4712478..1416a32140c5 100644
--- a/drivers/clocksource/Kconfig
+++ b/drivers/clocksource/Kconfig
@@ -242,15 +242,6 @@ config INTEGRATOR_AP_TIMER
help
  Enables support for the Integrator-AP timer.
 
-config CLKSRC_EFM32
-   bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32
-   depends on OF && ARM && (ARCH_EFM32 || COMPILE_TEST)
-   select CLKSRC_MMIO
-   default ARCH_EFM32
-   help
- Support to use the timers of EFM32 SoCs as clock source and clock
- event device.
-
 config CLKSRC_LPC32XX
bool "Clocksource for LPC32XX" if COMPILE_TEST
depends on HAS_IOMEM
diff --git a/drivers/clocksource/Makefile b/drivers/clocksource/Makefile
index 3c75cbbf8533..08173383f2d9 100644
--- a/drivers/clocksource/Makefile
+++ b/drivers/clocksource/Makefile
@@ -43,7 +43,6 @@ obj-$(CONFIG_VT8500_TIMER)+= timer-vt8500.o
 obj-$(CONFIG_NSPIRE_TIMER) += timer-zevio.o
 obj-$(CONFIG_BCM_KONA_TIMER)   += bcm_kona_timer.o
 obj-$(CONFIG_CADENCE_TTC_TIMER)+= timer-cadence-ttc.o
-obj-$(CONFIG_CLKSRC_EFM32) += timer-efm32.o
 obj-$(CONFIG_CLKSRC_STM32) += timer-stm32.o
 obj-$(CONFIG_CLKSRC_STM32_LP)  += timer-stm32-lp.o
 obj-$(CONFIG_CLKSRC_EXYNOS_MCT)+= exynos_mct.o
diff --git a/drivers/clocksource/timer-efm32.c 
b/drivers/clocksource/timer-efm32.c
deleted file mode 100644
index 441a4b916841..
--- a/drivers/clocksource/timer-efm32.c
+++ /dev/null
@@ -1,278 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-only
-/*
- * Copyright (C) 2013 Pengutronix
- * Uwe Kleine-Koenig 
- */
-
-#define pr_fmt(fmt)KBUILD_MODNAME ": " fmt
-
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-
-#define TIMERn_CTRL0x00
-#define TIMERn_CTRL_PRESC(val) (((val) & 0xf) << 24)
-#define TIMERn_CTRL_PRESC_1024 TIMERn_CTRL_PRESC(10)
-#define TIMERn_CTRL_CLKSEL(val)(((val) & 0x3) << 16)
-#define TIMERn_CTRL_CLKSEL_PRESCHFPERCLK   TIMERn_CTRL_CLKSEL(0)
-#define TIMERn_CTRL_OSMEN  0x0010
-#define TIMERn_CTRL_MODE(val)  (((val) & 0x3) <<  0)
-#define TIMERn_CTRL_MODE_UPTIMERn_CTRL_MODE(0)
-#define TIMERn_CTRL_MODE_DOWN  TIMERn_CTRL_MODE(1)
-
-#define TIMERn_CMD 0x04
-#define TIMERn_CMD_START   0x0001
-#define TIMERn_CMD_STOP0x0002
-
-#define TIMERn_IEN 0x0c
-#define TIMERn_IF  0x10
-#define TIMERn_IFS 0x14
-#define TIMERn_IFC 0x18
-#define TIMERn_IRQ_UF  0x0002
-
-#define TIMERn_TOP 0x1c
-#define TIMERn_CNT 0x24
-
-struct efm32_clock_event_ddata {
-   struct clock_event_device evtdev;
-   void __iomem *base;
-   unsigned periodic_top;
-};
-
-static int efm32_clock_event_shutdown(struct clock_event_device *evtdev)
-{
-   struct efm32_clock_event_ddata *ddata =
-   container_of(evtdev, struct efm32_clock_event_ddata, evtdev);
-
-   writel_relaxed(TIMERn_CMD_STOP, ddata->base + TIMERn_CMD);
-   return 0;
-}
-
-static int efm32_clock_event_set_oneshot(struct clock_event_device *evtdev)
-{
-   struct efm32_clock_event_ddata *ddata =
-   container_of(evtdev, struct efm32_clock_event_ddata, evtdev);
-
-   writel_relaxed(TIMERn_CMD_STOP, ddata->base + TIMERn_CMD);
-   writel_relaxed(TIMERn_CTRL_PRESC_1024 |
-  TIMERn_CTRL_CLKSEL_PRESCHFPERCLK |
-  TIMERn_CTRL_OSMEN |
-  TIMERn_CTRL_MODE_DOWN,
-  ddata->base + TIMERn_CTRL);
-   return 0;
-}
-
-static int efm32_clock_event_set_periodic(struct clock_event_device *evtdev)
-{
-   struct efm32_clock_event_ddata *ddata =
-   container_of(evtdev, struct efm32_clock_event_ddata, evtdev);
-
-   writel_relaxed(TIMERn_CMD_STOP, ddata->base + TIMERn_CMD);
-   writel_relaxed(ddata->periodic_top, ddata->base + TIMERn_TOP);
-   writel_relaxed(TIMERn_CTRL_PRESC_1024 |
-  TIMERn_CTRL_CLKSEL_PRESCHFPERCLK |
-  TIMERn_CTRL_MODE_DOWN,
-  ddata->base + TIMERn_CTRL);
-   writel_relaxed(TIMERn_CMD_START, ddata->base + TIMERn_CMD);
-   return 0;
-}
-
-static int efm32_clock_event_set_next_event(unsigned long evt,
-