Hi Daniel,

On 30 May 2016 at 23:07, Daniel Lezcano <daniel.lezcano@linaro.org> wrote:
On 05/24/2016 03:30 PM, fu.wei@linaro.org wrote:
From: Fu Wei <fu.wei@linaro.org>

This patch add a new enum "spi_nr" and use it in the driver.
Just for code's readability, no functional change.

Signed-off-by: Fu Wei <fu.wei@linaro.org>
---
  drivers/clocksource/arm_arch_timer.c | 4 ++--
  include/clocksource/arm_arch_timer.h | 6 ++++++
  2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/drivers/clocksource/arm_arch_timer.c b/drivers/clocksource/arm_arch_timer.c
index 5d7272e..966c574 100644
--- a/drivers/clocksource/arm_arch_timer.c
+++ b/drivers/clocksource/arm_arch_timer.c
@@ -826,9 +826,9 @@ static void __init arch_timer_mem_init(struct device_node *np)
        }

        if (arch_timer_mem_use_virtual)
-               irq = irq_of_parse_and_map(best_frame, 1);
+               irq = irq_of_parse_and_map(best_frame, VIRT_SPI);
        else
-               irq = irq_of_parse_and_map(best_frame, 0);
+               irq = irq_of_parse_and_map(best_frame, PHYS_SPI);

        if (!irq) {
                pr_err("arch_timer: Frame missing %s irq",
diff --git a/include/clocksource/arm_arch_timer.h b/include/clocksource/arm_arch_timer.h
index 6f06481..16dcd10 100644
--- a/include/clocksource/arm_arch_timer.h
+++ b/include/clocksource/arm_arch_timer.h
@@ -45,6 +45,12 @@ enum ppi_nr {
        MAX_TIMER_PPI
  };

+enum spi_nr {
+       PHYS_SPI,
+       VIRT_SPI,
+       MAX_TIMER_SPI
+};

Wouldn't make sense to use the constant below instead of defining new ones ?

  #define ARCH_TIMER_PHYS_ACCESS                0
  #define ARCH_TIMER_VIRT_ACCESS                1
  #define ARCH_TIMER_MEM_PHYS_ACCESS    2

I think the meaning of  them are different. 

"#define ARCH_TIMER_* " are for arch_timer_reg_read/arch_timer_reg_write, they are the index of register access(code path)
But in irq_of_parse_and_map, The second parameter means the index of  interrupts in a memory-mapped timer node of device tree.

Even we try to reuse it, for  a memory-mapped timer, we should use  ARCH_TIMER_MEM_*_ACCESS, but the definition is 2 or 3, which is not suitable for this case.
 
So I define a new enum for this case. 

Please correct me if I misunderstand something. 




--
 <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs

Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog




--
Best regards,

Fu Wei
Software Engineer
Red Hat Software (Beijing) Co.,Ltd.Shanghai Branch
Ph: +86 21 61221326(direct)
Ph: +86 186 2020 4684 (mobile)
Room 1512, Regus One Corporate Avenue,Level 15,
One Corporate Avenue,222 Hubin Road,Huangpu District,
Shanghai,China 200021