Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1417758

[RFC PATCH 02/15] clocksource: samsung_pwm_timer: fix endian accessors

From Matthew Leach <matthew@mattleach.net>
Newsgroups linux.kernel
Subject [RFC PATCH 02/15] clocksource: samsung_pwm_timer: fix endian accessors
Date 2016-06-08 20:40 +0200
Message-ID <rHQyu-3JS-29@gated-at.bofh.it> (permalink)
References <rHQyt-3JS-5@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Fix the Samsung pwm timer access code to deal with kernels built for big
endian operation.

Signed-off-by: Matthew Leach <matthew@mattleach.net>
---
CC: Daniel Lezcano <daniel.lezcano@linaro.org>
CC: Thomas Gleixner <tglx@linutronix.de>
CC: linux-kernel@vger.kernel.org
---
 drivers/clocksource/samsung_pwm_timer.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/clocksource/samsung_pwm_timer.c b/drivers/clocksource/samsung_pwm_timer.c
index 9502bc4..47e0515 100644
--- a/drivers/clocksource/samsung_pwm_timer.c
+++ b/drivers/clocksource/samsung_pwm_timer.c
@@ -130,9 +130,9 @@ static void samsung_time_stop(unsigned int channel)
 
 	spin_lock_irqsave(&samsung_pwm_lock, flags);
 
-	tcon = __raw_readl(pwm.base + REG_TCON);
+	tcon = readl_relaxed(pwm.base + REG_TCON);
 	tcon &= ~TCON_START(channel);
-	__raw_writel(tcon, pwm.base + REG_TCON);
+	writel_relaxed(tcon, pwm.base + REG_TCON);
 
 	spin_unlock_irqrestore(&samsung_pwm_lock, flags);
 }
@@ -148,14 +148,14 @@ static void samsung_time_setup(unsigned int channel, unsigned long tcnt)
 
 	spin_lock_irqsave(&samsung_pwm_lock, flags);
 
-	tcon = __raw_readl(pwm.base + REG_TCON);
+	tcon = readl_relaxed(pwm.base + REG_TCON);
 
 	tcon &= ~(TCON_START(tcon_chan) | TCON_AUTORELOAD(tcon_chan));
 	tcon |= TCON_MANUALUPDATE(tcon_chan);
 
-	__raw_writel(tcnt, pwm.base + REG_TCNTB(channel));
-	__raw_writel(tcnt, pwm.base + REG_TCMPB(channel));
-	__raw_writel(tcon, pwm.base + REG_TCON);
+	writel_relaxed(tcnt, pwm.base + REG_TCNTB(channel));
+	writel_relaxed(tcnt, pwm.base + REG_TCMPB(channel));
+	writel_relaxed(tcon, pwm.base + REG_TCON);
 
 	spin_unlock_irqrestore(&samsung_pwm_lock, flags);
 }
@@ -170,7 +170,7 @@ static void samsung_time_start(unsigned int channel, bool periodic)
 
 	spin_lock_irqsave(&samsung_pwm_lock, flags);
 
-	tcon = __raw_readl(pwm.base + REG_TCON);
+	tcon = readl_relaxed(pwm.base + REG_TCON);
 
 	tcon &= ~TCON_MANUALUPDATE(channel);
 	tcon |= TCON_START(channel);
@@ -180,7 +180,7 @@ static void samsung_time_start(unsigned int channel, bool periodic)
 	else
 		tcon &= ~TCON_AUTORELOAD(channel);
 
-	__raw_writel(tcon, pwm.base + REG_TCON);
+	writel_relaxed(tcon, pwm.base + REG_TCON);
 
 	spin_unlock_irqrestore(&samsung_pwm_lock, flags);
 }
-- 
2.8.3

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[RFC PATCH 00/15] Exynos big-endian fixes Matthew Leach <matthew@mattleach.net> - 2016-06-08 20:40 +0200
  [RFC PATCH 14/15] hwrng: exynos - fixup IO accesors Matthew Leach <matthew@mattleach.net> - 2016-06-08 20:40 +0200
  [RFC PATCH 02/15] clocksource: samsung_pwm_timer: fix endian accessors Matthew Leach <matthew@mattleach.net> - 2016-06-08 20:40 +0200
    Re: [RFC PATCH 02/15] clocksource: samsung_pwm_timer: fix endian  accessors Krzysztof Kozlowski <k.kozlowski@samsung.com> - 2016-06-10 13:50 +0200
  [RFC PATCH 11/15] ARM: EXYNOS: Enable ARCH_SUPPORTS_BIG_ENDIAN explicitly Matthew Leach <matthew@mattleach.net> - 2016-06-08 20:40 +0200
  [RFC PATCH 13/15] memory: samsung: endian fixes for IO Matthew Leach <matthew@mattleach.net> - 2016-06-08 20:40 +0200
  [RFC PATCH 05/15] tty: serial: samsung: fixup accessors for endian Matthew Leach <matthew@mattleach.net> - 2016-06-08 20:40 +0200
    Re: [RFC PATCH 05/15] tty: serial: samsung: fixup accessors for  endian Ben Dooks <ben.dooks@codethink.co.uk> - 2016-06-09 10:20 +0200
    Re: [RFC PATCH 05/15] tty: serial: samsung: fixup accessors for  endian Ben Dooks <ben.dooks@codethink.co.uk> - 2016-06-10 12:20 +0200
      Re: [RFC PATCH 05/15] tty: serial: samsung: fixup accessors for endian Krzysztof Kozlowski <k.kozlowski@samsung.com> - 2016-06-10 13:50 +0200
  [RFC PATCH 01/15] clock: exynos: fixup endian in pll clk Matthew Leach <matthew@mattleach.net> - 2016-06-08 20:40 +0200
    Re: [RFC PATCH 01/15] clock: exynos: fixup endian in pll clk Sylwester Nawrocki <s.nawrocki@samsung.com> - 2016-06-10 12:00 +0200
  [RFC PATCH 06/15] tty: serial: samsung: add byte-order aware bit functions Matthew Leach <matthew@mattleach.net> - 2016-06-08 20:40 +0200
    Re: [RFC PATCH 06/15] tty: serial: samsung: add byte-order aware bit  functions Krzysztof Kozlowski <k.kozlowski@samsung.com> - 2016-06-10 14:20 +0200
  [RFC PATCH 04/15] irqchip: exynos_combiner: fixup reg access on be Matthew Leach <matthew@mattleach.net> - 2016-06-08 20:40 +0200
    Re: [RFC PATCH 04/15] irqchip: exynos_combiner: fixup reg access on be Krzysztof Kozlowski <k.kozlowski@samsung.com> - 2016-06-10 13:50 +0200
  [RFC PATCH 10/15] ARM: EXYNOS: fixup endian in pm/pmu Matthew Leach <matthew@mattleach.net> - 2016-06-08 20:40 +0200
  [RFC PATCH 07/15] ARM: exynos: fixup debug macros for big-endian Matthew Leach <matthew@mattleach.net> - 2016-06-08 20:40 +0200
    Re: [RFC PATCH 07/15] ARM: exynos: fixup debug macros for big-endian Krzysztof Kozlowski <k.kozlowski@samsung.com> - 2016-06-10 13:20 +0200
      Re: [RFC PATCH 07/15] ARM: exynos: fixup debug macros for big-endian Ben Dooks <ben.dooks@codethink.co.uk> - 2016-06-10 14:50 +0200
      Re: [RFC PATCH 07/15] ARM: exynos: fixup debug macros for big-endian Krzysztof Kozlowski <k.kozlowski@samsung.com> - 2016-06-10 15:10 +0200
      Re: [RFC PATCH 07/15] ARM: exynos: fixup debug macros for big-endian Ben Dooks <ben.dooks@codethink.co.uk> - 2016-06-10 15:10 +0200
    Re: [RFC PATCH 07/15] ARM: exynos: fixup debug macros for big-endian Ben Dooks <ben.dooks@codethink.co.uk> - 2016-06-10 13:20 +0200
  [RFC PATCH 03/15] clk: samsung: exynos4: fixup reg access on be Matthew Leach <matthew@mattleach.net> - 2016-06-08 20:40 +0200
    Re: [RFC PATCH 03/15] clk: samsung: exynos4: fixup reg access on be Sylwester Nawrocki <s.nawrocki@samsung.com> - 2016-06-10 12:00 +0200
  [RFC PATCH 15/15] iommu/exynos: update to use iommu big-endian Matthew Leach <matthew@mattleach.net> - 2016-06-08 20:40 +0200
    Re: [RFC PATCH 15/15] iommu/exynos: update to use iommu big-endian Marek Szyprowski <m.szyprowski@samsung.com> - 2016-06-09 09:00 +0200
      Re: [RFC PATCH 15/15] iommu/exynos: update to use iommu big-endian Ben Dooks <ben.dooks@codethink.co.uk> - 2016-06-09 10:20 +0200
  [RFC PATCH 09/15] ARM: EXYNOS: fixups for big-endian operation Matthew Leach <matthew@mattleach.net> - 2016-06-08 20:40 +0200
  [RFC PATCH 12/15] irqchip/s3c24xx: fixup IO accessors for big endian Matthew Leach <matthew@mattleach.net> - 2016-06-08 20:40 +0200
  Re: [RFC PATCH 00/15] Exynos big-endian fixes Ben Dooks <ben.dooks@codethink.co.uk> - 2016-06-09 10:10 +0200

csiph-web