Message ID | 52E8B601.8070502@samsung.com |
---|---|
State | Accepted |
Delegated to: | Minkyu Kang |
Headers | show |
Hi Minkyu Knag, On Wed, Jan 29, 2014 at 1:34 PM, Minkyu Kang <mk7.kang@samsung.com> wrote: > Because of the list of peripherals is not sequential, > such a routine does not check for valid correctly. > Error check will be done when call the exynos_pinmux_config function. > > Signed-off-by: Minkyu Kang <mk7.kang@samsung.com> > --- > arch/arm/cpu/armv7/exynos/pinmux.c | 7 +------ > 1 file changed, 1 insertion(+), 6 deletions(-) > > diff --git a/arch/arm/cpu/armv7/exynos/pinmux.c b/arch/arm/cpu/armv7/exynos/pinmux.c > index 904177a..645c497 100644 > --- a/arch/arm/cpu/armv7/exynos/pinmux.c > +++ b/arch/arm/cpu/armv7/exynos/pinmux.c > @@ -751,12 +751,7 @@ static int exynos5_pinmux_decode_periph_id(const void *blob, int node) > if (err) > return PERIPH_ID_NONE; > > - /* check for invalid peripheral id */ > - if ((PERIPH_ID_SDMMC4 > cell[1]) || (cell[1] < PERIPH_ID_UART0)) > - return cell[1]; Cant we check if less than PERIPH_ID_COUNT, this way we can atleast cut down some wrong values. Or value has to range between PERIPH_ID_UART0 and PERIPH_ID_COUNT
On 29/01/14 18:01, Rajeshwari Birje wrote: > Hi Minkyu Knag, > > On Wed, Jan 29, 2014 at 1:34 PM, Minkyu Kang <mk7.kang@samsung.com> wrote: >> Because of the list of peripherals is not sequential, >> such a routine does not check for valid correctly. >> Error check will be done when call the exynos_pinmux_config function. >> >> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com> >> --- >> arch/arm/cpu/armv7/exynos/pinmux.c | 7 +------ >> 1 file changed, 1 insertion(+), 6 deletions(-) >> >> diff --git a/arch/arm/cpu/armv7/exynos/pinmux.c b/arch/arm/cpu/armv7/exynos/pinmux.c >> index 904177a..645c497 100644 >> --- a/arch/arm/cpu/armv7/exynos/pinmux.c >> +++ b/arch/arm/cpu/armv7/exynos/pinmux.c >> @@ -751,12 +751,7 @@ static int exynos5_pinmux_decode_periph_id(const void *blob, int node) >> if (err) >> return PERIPH_ID_NONE; >> >> - /* check for invalid peripheral id */ >> - if ((PERIPH_ID_SDMMC4 > cell[1]) || (cell[1] < PERIPH_ID_UART0)) >> - return cell[1]; > > Cant we check if less than PERIPH_ID_COUNT, this way we can atleast > cut down some wrong values. > Or value has to range between PERIPH_ID_UART0 and PERIPH_ID_COUNT > possible. but I think it's unnecessary. It can not check error correctly. for example, if cell[1] is 55 then it's valid but does not supported. Thanks, Minkyu Kang.
Acked-by: Jaehoon Chung <jh80.chung@samsung.com> On 01/29/2014 05:04 PM, Minkyu Kang wrote: > Because of the list of peripherals is not sequential, > such a routine does not check for valid correctly. > Error check will be done when call the exynos_pinmux_config function. > > Signed-off-by: Minkyu Kang <mk7.kang@samsung.com> > --- > arch/arm/cpu/armv7/exynos/pinmux.c | 7 +------ > 1 file changed, 1 insertion(+), 6 deletions(-) > > diff --git a/arch/arm/cpu/armv7/exynos/pinmux.c b/arch/arm/cpu/armv7/exynos/pinmux.c > index 904177a..645c497 100644 > --- a/arch/arm/cpu/armv7/exynos/pinmux.c > +++ b/arch/arm/cpu/armv7/exynos/pinmux.c > @@ -751,12 +751,7 @@ static int exynos5_pinmux_decode_periph_id(const void *blob, int node) > if (err) > return PERIPH_ID_NONE; > > - /* check for invalid peripheral id */ > - if ((PERIPH_ID_SDMMC4 > cell[1]) || (cell[1] < PERIPH_ID_UART0)) > - return cell[1]; > - > - debug(" invalid peripheral id\n"); > - return PERIPH_ID_NONE; > + return cell[1]; > } > > int pinmux_decode_periph_id(const void *blob, int node) >
Hi Minkyu Kang, On Mon, Feb 3, 2014 at 12:53 PM, Minkyu Kang <mk7.kang@samsung.com> wrote: > On 29/01/14 18:01, Rajeshwari Birje wrote: >> Hi Minkyu Knag, >> >> On Wed, Jan 29, 2014 at 1:34 PM, Minkyu Kang <mk7.kang@samsung.com> wrote: >>> Because of the list of peripherals is not sequential, >>> such a routine does not check for valid correctly. >>> Error check will be done when call the exynos_pinmux_config function. >>> >>> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com> >>> --- >>> arch/arm/cpu/armv7/exynos/pinmux.c | 7 +------ >>> 1 file changed, 1 insertion(+), 6 deletions(-) >>> >>> diff --git a/arch/arm/cpu/armv7/exynos/pinmux.c b/arch/arm/cpu/armv7/exynos/pinmux.c >>> index 904177a..645c497 100644 >>> --- a/arch/arm/cpu/armv7/exynos/pinmux.c >>> +++ b/arch/arm/cpu/armv7/exynos/pinmux.c >>> @@ -751,12 +751,7 @@ static int exynos5_pinmux_decode_periph_id(const void *blob, int node) >>> if (err) >>> return PERIPH_ID_NONE; >>> >>> - /* check for invalid peripheral id */ >>> - if ((PERIPH_ID_SDMMC4 > cell[1]) || (cell[1] < PERIPH_ID_UART0)) >>> - return cell[1]; >> >> Cant we check if less than PERIPH_ID_COUNT, this way we can atleast >> cut down some wrong values. >> Or value has to range between PERIPH_ID_UART0 and PERIPH_ID_COUNT >> > > possible. but I think it's unnecessary. > It can not check error correctly. > for example, if cell[1] is 55 then it's valid but does not supported. Ok the point seems valid. Acked-by: Rajeshwari Shinde<rajeshwari.s@samsung.com> > > Thanks, > Minkyu Kang. >
On 29/01/14 17:04, Minkyu Kang wrote: > Because of the list of peripherals is not sequential, > such a routine does not check for valid correctly. > Error check will be done when call the exynos_pinmux_config function. > > Signed-off-by: Minkyu Kang <mk7.kang@samsung.com> > --- > arch/arm/cpu/armv7/exynos/pinmux.c | 7 +------ > 1 file changed, 1 insertion(+), 6 deletions(-) > applied to u-boot-samsung. Minkyu Kang.
diff --git a/arch/arm/cpu/armv7/exynos/pinmux.c b/arch/arm/cpu/armv7/exynos/pinmux.c index 904177a..645c497 100644 --- a/arch/arm/cpu/armv7/exynos/pinmux.c +++ b/arch/arm/cpu/armv7/exynos/pinmux.c @@ -751,12 +751,7 @@ static int exynos5_pinmux_decode_periph_id(const void *blob, int node) if (err) return PERIPH_ID_NONE; - /* check for invalid peripheral id */ - if ((PERIPH_ID_SDMMC4 > cell[1]) || (cell[1] < PERIPH_ID_UART0)) - return cell[1]; - - debug(" invalid peripheral id\n"); - return PERIPH_ID_NONE; + return cell[1]; } int pinmux_decode_periph_id(const void *blob, int node)
Because of the list of peripherals is not sequential, such a routine does not check for valid correctly. Error check will be done when call the exynos_pinmux_config function. Signed-off-by: Minkyu Kang <mk7.kang@samsung.com> --- arch/arm/cpu/armv7/exynos/pinmux.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-)