mbox series

[v4,00/11] ARM: davinci: modernize the timer support

Message ID 20190318121100.28132-1-brgl@bgdev.pl (mailing list archive)
Headers show
Series ARM: davinci: modernize the timer support | expand

Message

Bartosz Golaszewski March 18, 2019, 12:10 p.m. UTC
From: Bartosz Golaszewski <bgolaszewski@baylibre.com>

This series removes the legacy timer code from mach-davinci in favor of
a new clocksource driver it introduces.

Patch 1 adds a new clocksource driver for davinci.

Patch 2 enables the new driver for device-tree based systems.

Patch 3 adds a WARN_ON() to the machine code of all davinci boards
which is triggered if clk_get() for the timer clock fails. This is needed
as the new driver expects the clock to be functional and doesn't check it.

Patches 4-5 and 7-10 switch the board files to using the new
clocksource driver while patch 6 moves some necessary defines to
a different place since we'll be removing the file that contains them.

Patch 11 removes legacy timer code.

v1 -> v2:

- changed the license to GPL-only
- dropped regmap usage due to the additional code paths making the
  code too slow
- minor code rearrangement
- fixed the da830 timer configuration
- correctly assign the timer halves to clocksource and clockevent
- sqashed the commits adding WARN() when clk_get() fails
- used WARN_ON() and added a return when clk_get() fails to avoid
  entering the timer driver without a valid clock
- request the register range before iomapping it
- simplified the configuration structure (dropped the additional
  cmp struct)

v2 -> v3:

- use readl/writel_relaxed() instead of __raw variants in the clocksource
  driver
- request the memory region before remapping it
- add explanatory comments
- fixed licensing
- used pr_fmt macro
- correctly assign the clocksource name
- use DEFINE_RES_x macros when defining resources to avoid off-by-one
  bugs in resource's size
- tweak the commit messages
- don't delete the comments describing the timer usage
- other minor improvements
- rebased on top of Sekhar's soc branch
- dropped patch fixing the clocksource interrupts in device tree (already
  upstream)

v3 -> v4:
- fixed formatting of error messages
- fixed comments all around the place
- rebased on top of v5.1-rc1

Bartosz Golaszewski (11):
  clocksource: davinci-timer: new driver
  ARM: davinci: enable the clocksource driver for DT mode
  ARM: davinci: WARN_ON() if clk_get() fails
  ARM: davinci: da850: switch to using the clocksource driver
  ARM: davinci: da830: switch to using the clocksource driver
  ARM: davinci: move timer definitions to davinci.h
  ARM: davinci: dm355: switch to using the clocksource driver
  ARM: davinci: dm365: switch to using the clocksource driver
  ARM: davinci: dm644x: switch to using the clocksource driver
  ARM: davinci: dm646x: switch to using the clocksource driver
  ARM: davinci: remove legacy timer support

 arch/arm/Kconfig                            |   1 +
 arch/arm/mach-davinci/Makefile              |   3 +-
 arch/arm/mach-davinci/da830.c               |  45 +-
 arch/arm/mach-davinci/da850.c               |  50 +--
 arch/arm/mach-davinci/davinci.h             |   3 +
 arch/arm/mach-davinci/devices-da8xx.c       |   1 -
 arch/arm/mach-davinci/devices.c             |  19 -
 arch/arm/mach-davinci/dm355.c               |  28 +-
 arch/arm/mach-davinci/dm365.c               |  26 +-
 arch/arm/mach-davinci/dm644x.c              |  28 +-
 arch/arm/mach-davinci/dm646x.c              |  28 +-
 arch/arm/mach-davinci/include/mach/common.h |  17 -
 arch/arm/mach-davinci/include/mach/time.h   |  35 --
 arch/arm/mach-davinci/time.c                | 414 ------------------
 drivers/clocksource/Kconfig                 |   5 +
 drivers/clocksource/Makefile                |   1 +
 drivers/clocksource/timer-davinci.c         | 438 ++++++++++++++++++++
 include/clocksource/timer-davinci.h         |  44 ++
 18 files changed, 598 insertions(+), 588 deletions(-)
 delete mode 100644 arch/arm/mach-davinci/include/mach/time.h
 delete mode 100644 arch/arm/mach-davinci/time.c
 create mode 100644 drivers/clocksource/timer-davinci.c
 create mode 100644 include/clocksource/timer-davinci.h

Comments

Sekhar Nori March 27, 2019, 3:36 p.m. UTC | #1
Hi Daniel, Thomas,

On 18/03/19 5:40 PM, Bartosz Golaszewski wrote:
> From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> 
> This series removes the legacy timer code from mach-davinci in favor of
> a new clocksource driver it introduces.
> 
> Patch 1 adds a new clocksource driver for davinci.
> 
> Patch 2 enables the new driver for device-tree based systems.
> 
> Patch 3 adds a WARN_ON() to the machine code of all davinci boards
> which is triggered if clk_get() for the timer clock fails. This is needed
> as the new driver expects the clock to be functional and doesn't check it.
> 
> Patches 4-5 and 7-10 switch the board files to using the new
> clocksource driver while patch 6 moves some necessary defines to
> a different place since we'll be removing the file that contains them.
> 
> Patch 11 removes legacy timer code.

The series looks good to me. With your ack on 1/11, I would like to
merge the series through ARM SoC tree.

Thanks,
Sekhar
Daniel Lezcano March 27, 2019, 5:49 p.m. UTC | #2
Hi Sekhar,


On 27/03/2019 16:36, Sekhar Nori wrote:
> Hi Daniel, Thomas,
> 
> On 18/03/19 5:40 PM, Bartosz Golaszewski wrote:
>> From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
>>
>> This series removes the legacy timer code from mach-davinci in favor of
>> a new clocksource driver it introduces.
>>
>> Patch 1 adds a new clocksource driver for davinci.
>>
>> Patch 2 enables the new driver for device-tree based systems.
>>
>> Patch 3 adds a WARN_ON() to the machine code of all davinci boards
>> which is triggered if clk_get() for the timer clock fails. This is needed
>> as the new driver expects the clock to be functional and doesn't check it.
>>
>> Patches 4-5 and 7-10 switch the board files to using the new
>> clocksource driver while patch 6 moves some necessary defines to
>> a different place since we'll be removing the file that contains them.
>>
>> Patch 11 removes legacy timer code.
> 
> The series looks good to me. With your ack on 1/11, I would like to
> merge the series through ARM SoC tree.

ok, will do the review asap.

 -- Daniel