
Hi Jaehoon,
Thanks for review. Please comments below.
-----Original Message-----
Hi, Piotr.
On 01/27/2014 11:15 PM, Piotr Wilczek wrote:
This patch adds api to decode peripheral id based in interrupt
number.
Signed-off-by: Piotr Wilczek p.wilczek@samsung.com Signed-off-by: Kyungmin Park kyungmin.park@samsung.com CC: Minkyu Kang mk7.kang@samsung.com
arch/arm/cpu/armv7/exynos/pinmux.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+)
diff --git a/arch/arm/cpu/armv7/exynos/pinmux.c b/arch/arm/cpu/armv7/exynos/pinmux.c index 904177a..3201d53 100644 --- a/arch/arm/cpu/armv7/exynos/pinmux.c +++ b/arch/arm/cpu/armv7/exynos/pinmux.c @@ -741,6 +741,25 @@ int exynos_pinmux_config(int peripheral, int flags) }
#ifdef CONFIG_OF_CONTROL
Remove the white space.
Ok.
+static int exynos4_pinmux_decode_periph_id(const void *blob, int +node) {
- int err;
- u32 cell[3];
- err = fdtdec_get_int_array(blob, node, "interrupts", cell,
ARRAY_SIZE(cell));
- if (err)
return PERIPH_ID_NONE;
- /* check for invalid peripheral id */
- if ((PERIPH_ID_SDMMC4 > cell[1]) || (cell[1] < PERIPH_ID_UART0))
What's condition checking? i didn't understand this. PERIPH_ID_SDMMC > cell[1] or PERIPH_ID_UART0 > cell[1] is valid?
It supposed to check if cell[1] is within supported periph_id range and should be like this: If ((cell[1] >= PERIPH_ID_UART0) && (cell[1] < PERIPH_ID_COUNT))
Best Regards, Jaehoon Chung
return cell[1];
- debug(" invalid peripheral id\n");
- return PERIPH_ID_NONE;
+}
static int exynos5_pinmux_decode_periph_id(const void *blob, int node) { int err; @@ -763,6 +782,8 @@ int pinmux_decode_periph_id(const void *blob, int node) { if (cpu_is_exynos5()) return exynos5_pinmux_decode_periph_id(blob, node);
- else if (cpu_is_exynos4())
else return PERIPH_ID_NONE;return exynos4_pinmux_decode_periph_id(blob, node);
}
Best regards, Piotr Wilczek