Re: [PATCH 1/4 v4] video, sm501: add I/O functions for use on powerpc

2011-01-31 Thread Samuel Ortiz
Hi Heiko,

On Mon, Jan 24, 2011 at 10:57:20AM +0100, Heiko Schocher wrote:
 - add read/write functions for using this driver
   also on powerpc plattforms
Not sure whose tree this is going through. Probably Paul's one though.
The mfd part looks fine to me, please add my:
Acked-by: Samuel Ortiz sa...@linux.intel.com

Cheers,
Samuel.

-- 
Intel Open Source Technology Centre
http://oss.intel.com/
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


[PATCH 1/4 v4] video, sm501: add I/O functions for use on powerpc

2011-01-24 Thread Heiko Schocher
- add read/write functions for using this driver
  also on powerpc plattforms

Signed-off-by: Heiko Schocher h...@denx.de
cc: linux-fb...@vger.kernel.org
cc: devicetree-disc...@ozlabs.org
cc: Ben Dooks b...@simtec.co.uk
cc: Vincent Sanders vi...@simtec.co.uk
cc: Samuel Ortiz sa...@linux.intel.com
cc: linux-ker...@vger.kernel.org
cc: Randy Dunlap rdun...@xenotime.net
cc: Paul Mundt let...@linux-sh.org

---
- changes since v1:
  add Ben Dooks, Vincent Sanders and Samuel Ortiz to cc, as suggested from
  Paul Mundt.
- changes since v2:
  add comments from Randy Dunlap:
  - move parameter documentation to Documentation/fb/sm501.txt
- changes since v3:
  - rebased against v2.6.38-rc2
  - split in 3 patches
- of support patch
- i/o routine patch
  - use ioread/write32{be} accessors instead of
__do_readl/__do_writel{_be}
- edid support patch

./scripts/checkpatch.pl 
0001-video-sm501-add-I-O-functions-for-use-on-powerpc.patch
total: 0 errors, 0 warnings, 841 lines checked

0001-video-sm501-add-I-O-functions-for-use-on-powerpc.patch has no obvious 
style problems and is ready for submission.

 drivers/mfd/sm501.c |  125 +-
 drivers/video/sm501fb.c |  172 --
 include/linux/sm501.h   |8 ++
 3 files changed, 161 insertions(+), 144 deletions(-)

diff --git a/drivers/mfd/sm501.c b/drivers/mfd/sm501.c
index 5de3a76..558d5f3 100644
--- a/drivers/mfd/sm501.c
+++ b/drivers/mfd/sm501.c
@@ -133,10 +133,10 @@ static unsigned long decode_div(unsigned long pll2, 
unsigned long val,
 
 static void sm501_dump_clk(struct sm501_devdata *sm)
 {
-   unsigned long misct = readl(sm-regs + SM501_MISC_TIMING);
-   unsigned long pm0 = readl(sm-regs + SM501_POWER_MODE_0_CLOCK);
-   unsigned long pm1 = readl(sm-regs + SM501_POWER_MODE_1_CLOCK);
-   unsigned long pmc = readl(sm-regs + SM501_POWER_MODE_CONTROL);
+   unsigned long misct = smc501_readl(sm-regs + SM501_MISC_TIMING);
+   unsigned long pm0 = smc501_readl(sm-regs + SM501_POWER_MODE_0_CLOCK);
+   unsigned long pm1 = smc501_readl(sm-regs + SM501_POWER_MODE_1_CLOCK);
+   unsigned long pmc = smc501_readl(sm-regs + SM501_POWER_MODE_CONTROL);
unsigned long sdclk0, sdclk1;
unsigned long pll2 = 0;
 
@@ -193,29 +193,29 @@ static void sm501_dump_regs(struct sm501_devdata *sm)
void __iomem *regs = sm-regs;
 
dev_info(sm-dev, System Control   %08x\n,
-   readl(regs + SM501_SYSTEM_CONTROL));
+   smc501_readl(regs + SM501_SYSTEM_CONTROL));
dev_info(sm-dev, Misc Control %08x\n,
-   readl(regs + SM501_MISC_CONTROL));
+   smc501_readl(regs + SM501_MISC_CONTROL));
dev_info(sm-dev, GPIO Control Low %08x\n,
-   readl(regs + SM501_GPIO31_0_CONTROL));
+   smc501_readl(regs + SM501_GPIO31_0_CONTROL));
dev_info(sm-dev, GPIO Control Hi  %08x\n,
-   readl(regs + SM501_GPIO63_32_CONTROL));
+   smc501_readl(regs + SM501_GPIO63_32_CONTROL));
dev_info(sm-dev, DRAM Control %08x\n,
-   readl(regs + SM501_DRAM_CONTROL));
+   smc501_readl(regs + SM501_DRAM_CONTROL));
dev_info(sm-dev, Arbitration Ctrl %08x\n,
-   readl(regs + SM501_ARBTRTN_CONTROL));
+   smc501_readl(regs + SM501_ARBTRTN_CONTROL));
dev_info(sm-dev, Misc Timing  %08x\n,
-   readl(regs + SM501_MISC_TIMING));
+   smc501_readl(regs + SM501_MISC_TIMING));
 }
 
 static void sm501_dump_gate(struct sm501_devdata *sm)
 {
dev_info(sm-dev, CurrentGate  %08x\n,
-   readl(sm-regs + SM501_CURRENT_GATE));
+   smc501_readl(sm-regs + SM501_CURRENT_GATE));
dev_info(sm-dev, CurrentClock %08x\n,
-   readl(sm-regs + SM501_CURRENT_CLOCK));
+   smc501_readl(sm-regs + SM501_CURRENT_CLOCK));
dev_info(sm-dev, PowerModeControl %08x\n,
-   readl(sm-regs + SM501_POWER_MODE_CONTROL));
+   smc501_readl(sm-regs + SM501_POWER_MODE_CONTROL));
 }
 
 #else
@@ -231,7 +231,7 @@ static inline void sm501_dump_clk(struct sm501_devdata *sm) 
{ }
 
 static void sm501_sync_regs(struct sm501_devdata *sm)
 {
-   readl(sm-regs);
+   smc501_readl(sm-regs);
 }
 
 static inline void sm501_mdelay(struct sm501_devdata *sm, unsigned int delay)
@@ -261,11 +261,11 @@ int sm501_misc_control(struct device *dev,
 
spin_lock_irqsave(sm-reg_lock, save);
 
-   misc = readl(sm-regs + SM501_MISC_CONTROL);
+   misc = smc501_readl(sm-regs + SM501_MISC_CONTROL);
to = (misc  ~clear) | set;
 
if (to != misc) {
-   writel(to, sm-regs + SM501_MISC_CONTROL);
+   smc501_writel(to, sm-regs +