public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] powerpc/8xxx: Fix in USB device-tree fixup
@ 2014-08-22  5:26 Ramneek Mehresh
  2014-09-25 16:35 ` York Sun
  0 siblings, 1 reply; 2+ messages in thread
From: Ramneek Mehresh @ 2014-08-22  5:26 UTC (permalink / raw)
  To: u-boot

 Fix following issues in USB device-tree fixup:
        - returns when either dr_mode or phy_type not defined.
          This was terminating fix-up when only either property
          was defined in hwconfig string
        - updates dr_mode_type or dr_phy_type with junk value when
          their index is -1. Now these are updated only when their
          respective index is pointing to relevant types
          in modes[] and phys[] array
        - dr_mode_type and dr_phy_type were not NULL for
          each controller

Signed-off-by: Ramneek Mehresh <ramneek.mehresh@freescale.com>
---
 arch/powerpc/cpu/mpc8xxx/fdt.c | 20 +++++++++-----------
 1 file changed, 9 insertions(+), 11 deletions(-)

diff --git a/arch/powerpc/cpu/mpc8xxx/fdt.c b/arch/powerpc/cpu/mpc8xxx/fdt.c
index 9273745..4cec5e1 100644
--- a/arch/powerpc/cpu/mpc8xxx/fdt.c
+++ b/arch/powerpc/cpu/mpc8xxx/fdt.c
@@ -1,5 +1,5 @@
 /*
- * Copyright 2009-2012 Freescale Semiconductor, Inc.
+ * Copyright 2009-2014 Freescale Semiconductor, Inc.
  *
  * This file is derived from arch/powerpc/cpu/mpc85xx/cpu.c and
  * arch/powerpc/cpu/mpc86xx/cpu.c. Basically this file contains
@@ -123,14 +123,14 @@ void fdt_fixup_dr_usb(void *blob, bd_t *bd)
 {
 	const char *modes[] = { "host", "peripheral", "otg" };
 	const char *phys[] = { "ulpi", "utmi" };
-	const char *dr_mode_type = NULL;
-	const char *dr_phy_type = NULL;
 	int usb_mode_off = -1;
 	int usb_phy_off = -1;
 	char str[5];
 	int i, j;
 
 	for (i = 1; i <= CONFIG_USB_MAX_CONTROLLER_COUNT; i++) {
+		const char *dr_mode_type = NULL;
+		const char *dr_phy_type = NULL;
 		int mode_idx = -1, phy_idx = -1;
 		snprintf(str, 5, "%s%d", "usb", i);
 		if (hwconfig(str)) {
@@ -150,18 +150,16 @@ void fdt_fixup_dr_usb(void *blob, bd_t *bd)
 				}
 			}
 
-			if (mode_idx < 0 || phy_idx < 0) {
-				puts("ERROR: wrong usb mode/phy defined!!\n");
-				return;
-			}
-
-			dr_mode_type = modes[mode_idx];
-			dr_phy_type = phys[phy_idx];
-
 			if (mode_idx < 0 && phy_idx < 0) {
 				printf("WARNING: invalid phy or mode\n");
 				return;
 			}
+
+			if (mode_idx > -1)
+				dr_mode_type = modes[mode_idx];
+
+			if (phy_idx > -1)
+				dr_phy_type = phys[phy_idx];
 		}
 
 		usb_mode_off = fdt_fixup_usb_mode_phy_type(blob,
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2014-09-25 16:35 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-08-22  5:26 [U-Boot] [PATCH] powerpc/8xxx: Fix in USB device-tree fixup Ramneek Mehresh
2014-09-25 16:35 ` York Sun

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox