* [U-Boot] [PATCH v3 0/3] Make usb device-tree fixup independent of USB controller
@ 2016-03-01 7:03 Sriram Dash
2016-03-01 7:03 ` [U-Boot] [PATCH v3 1/3] board:freescale:common: Move device-tree fixup framework to common file Sriram Dash
` (2 more replies)
0 siblings, 3 replies; 18+ messages in thread
From: Sriram Dash @ 2016-03-01 7:03 UTC (permalink / raw)
To: u-boot
Makes usb device-tree fixup independent of Controller type. This enables the
usage of device-tree fixup as a common framework for EHCI and XHCI controllers
Sriram Dash (3):
board:freescale:common: Move device-tree fixup framework to common
file
board:freescale:usb: Remove code duplication for fdt_usb_get_node_type
board:freescale:usb: Add device-tree fixup support for xhci controller
board/freescale/common/Makefile | 3 +
board/freescale/common/usb.c | 194 +++++++++++++++++++++++++++++++++++++++
drivers/usb/host/ehci-fsl.c | 195 ----------------------------------------
include/fdt_support.h | 4 +-
4 files changed, 199 insertions(+), 197 deletions(-)
create mode 100644 board/freescale/common/usb.c
--
2.1.0
^ permalink raw reply [flat|nested] 18+ messages in thread
* [U-Boot] [PATCH v3 1/3] board:freescale:common: Move device-tree fixup framework to common file
2016-03-01 7:03 [U-Boot] [PATCH v3 0/3] Make usb device-tree fixup independent of USB controller Sriram Dash
@ 2016-03-01 7:03 ` Sriram Dash
2016-03-01 22:13 ` Marek Vasut
2016-03-01 7:03 ` [U-Boot] [PATCH v3 2/3] board:freescale:usb: Remove code duplication for fdt_usb_get_node_type Sriram Dash
2016-03-01 7:03 ` [U-Boot] [PATCH v3 3/3] board:freescale:usb: Add device-tree fixup support for xhci controller Sriram Dash
2 siblings, 1 reply; 18+ messages in thread
From: Sriram Dash @ 2016-03-01 7:03 UTC (permalink / raw)
To: u-boot
Move usb device-tree fixup framework from ehci-fsl.c to common place so
that it can be used by other drivers as well (xhci-fsl.c).
Signed-off-by: Ramneek Mehresh <ramneek.mehresh@nxp.com>
Signed-off-by: Sriram Dash <sriram.dash@nxp.com>
---
board/freescale/common/Makefile | 2 +
.../ehci-fsl.c => board/freescale/common/usb.c | 160 +----------------
drivers/usb/host/ehci-fsl.c | 195 ---------------------
3 files changed, 3 insertions(+), 354 deletions(-)
copy drivers/usb/host/ehci-fsl.c => board/freescale/common/usb.c (53%)
diff --git a/board/freescale/common/Makefile b/board/freescale/common/Makefile
index be114ce..62de45c 100644
--- a/board/freescale/common/Makefile
+++ b/board/freescale/common/Makefile
@@ -13,6 +13,8 @@ MINIMAL=y
endif
endif
+obj-$(CONFIG_USB_EHCI_FSL) += usb.o
+
ifdef MINIMAL
# necessary to create built-in.o
obj- := __dummy__.o
diff --git a/drivers/usb/host/ehci-fsl.c b/board/freescale/common/usb.c
similarity index 53%
copy from drivers/usb/host/ehci-fsl.c
copy to board/freescale/common/usb.c
index 97b7f14..85cb1bf 100644
--- a/drivers/usb/host/ehci-fsl.c
+++ b/board/freescale/common/usb.c
@@ -1,9 +1,5 @@
/*
- * (C) Copyright 2009, 2011 Freescale Semiconductor, Inc.
- *
- * (C) Copyright 2008, Excito Elektronik i Sk=E5ne AB
- *
- * Author: Tor Krill tor at excito.com
+ * (C) Copyright 2016 Freescale Semiconductor, Inc.
*
* SPDX-License-Identifier: GPL-2.0+
*/
@@ -17,164 +13,11 @@
#include <fsl_usb.h>
#include <fdt_support.h>
-#include "ehci.h"
#ifndef CONFIG_USB_MAX_CONTROLLER_COUNT
#define CONFIG_USB_MAX_CONTROLLER_COUNT 1
#endif
-static void set_txfifothresh(struct usb_ehci *, u32);
-
-/* Check USB PHY clock valid */
-static int usb_phy_clk_valid(struct usb_ehci *ehci)
-{
- if (!((in_be32(&ehci->control) & PHY_CLK_VALID) ||
- in_be32(&ehci->prictrl))) {
- printf("USB PHY clock invalid!\n");
- return 0;
- } else {
- return 1;
- }
-}
-
-/*
- * Create the appropriate control structures to manage
- * a new EHCI host controller.
- *
- * Excerpts from linux ehci fsl driver.
- */
-int ehci_hcd_init(int index, enum usb_init_type init,
- struct ehci_hccr **hccr, struct ehci_hcor **hcor)
-{
- struct usb_ehci *ehci = NULL;
- const char *phy_type = NULL;
- size_t len;
- char current_usb_controller[5];
-#ifdef CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY
- char usb_phy[5];
-
- usb_phy[0] = '\0';
-#endif
- if (has_erratum_a007075()) {
- /*
- * A 5ms delay is needed after applying soft-reset to the
- * controller to let external ULPI phy come out of reset.
- * This delay needs to be added before re-initializing
- * the controller after soft-resetting completes
- */
- mdelay(5);
- }
- memset(current_usb_controller, '\0', 5);
- snprintf(current_usb_controller, 4, "usb%d", index+1);
-
- switch (index) {
- case 0:
- ehci = (struct usb_ehci *)CONFIG_SYS_FSL_USB1_ADDR;
- break;
- case 1:
- ehci = (struct usb_ehci *)CONFIG_SYS_FSL_USB2_ADDR;
- break;
- default:
- printf("ERROR: wrong controller index!!\n");
- return -EINVAL;
- };
-
- *hccr = (struct ehci_hccr *)((uint32_t)&ehci->caplength);
- *hcor = (struct ehci_hcor *)((uint32_t) *hccr +
- HC_LENGTH(ehci_readl(&(*hccr)->cr_capbase)));
-
- /* Set to Host mode */
- setbits_le32(&ehci->usbmode, CM_HOST);
-
- out_be32(&ehci->snoop1, SNOOP_SIZE_2GB);
- out_be32(&ehci->snoop2, 0x80000000 | SNOOP_SIZE_2GB);
-
- /* Init phy */
- if (hwconfig_sub(current_usb_controller, "phy_type"))
- phy_type = hwconfig_subarg(current_usb_controller,
- "phy_type", &len);
- else
- phy_type = getenv("usb_phy_type");
-
- if (!phy_type) {
-#ifdef CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY
- /* if none specified assume internal UTMI */
- strcpy(usb_phy, "utmi");
- phy_type = usb_phy;
-#else
- printf("WARNING: USB phy type not defined !!\n");
- return -1;
-#endif
- }
-
- if (!strncmp(phy_type, "utmi", 4)) {
-#if defined(CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY)
- clrsetbits_be32(&ehci->control, CONTROL_REGISTER_W1C_MASK,
- PHY_CLK_SEL_UTMI);
- clrsetbits_be32(&ehci->control, CONTROL_REGISTER_W1C_MASK,
- UTMI_PHY_EN);
- udelay(1000); /* delay required for PHY Clk to appear */
-#endif
- out_le32(&(*hcor)->or_portsc[0], PORT_PTS_UTMI);
- clrsetbits_be32(&ehci->control, CONTROL_REGISTER_W1C_MASK,
- USB_EN);
- } else {
- clrsetbits_be32(&ehci->control, CONTROL_REGISTER_W1C_MASK,
- PHY_CLK_SEL_ULPI);
- clrsetbits_be32(&ehci->control, UTMI_PHY_EN |
- CONTROL_REGISTER_W1C_MASK, USB_EN);
- udelay(1000); /* delay required for PHY Clk to appear */
- if (!usb_phy_clk_valid(ehci))
- return -EINVAL;
- out_le32(&(*hcor)->or_portsc[0], PORT_PTS_ULPI);
- }
-
- out_be32(&ehci->prictrl, 0x0000000c);
- out_be32(&ehci->age_cnt_limit, 0x00000040);
- out_be32(&ehci->sictrl, 0x00000001);
-
- in_le32(&ehci->usbmode);
-
- if (has_erratum_a007798())
- set_txfifothresh(ehci, TXFIFOTHRESH);
-
- if (has_erratum_a004477()) {
- /*
- * When reset is issued while any ULPI transaction is ongoing
- * then it may result to corruption of ULPI Function Control
- * Register which eventually causes phy clock to enter low
- * power mode which stops the clock. Thus delay is required
- * before reset to let ongoing ULPI transaction complete.
- */
- udelay(1);
- }
- return 0;
-}
-
-/*
- * Destroy the appropriate control structures corresponding
- * the the EHCI host controller.
- */
-int ehci_hcd_stop(int index)
-{
- return 0;
-}
-
-/*
- * Setting the value of TXFIFO_THRESH field in TXFILLTUNING register
- * to counter DDR latencies in writing data into Tx buffer.
- * This prevents Tx buffer from getting underrun
- */
-static void set_txfifothresh(struct usb_ehci *ehci, u32 txfifo_thresh)
-{
- u32 cmd;
- cmd = ehci_readl(&ehci->txfilltuning);
- cmd &= ~TXFIFO_THRESH_MASK;
- cmd |= TXFIFO_THRESH(txfifo_thresh);
- ehci_writel(&ehci->txfilltuning, cmd);
-}
-
-#if defined(CONFIG_HAS_FSL_DR_USB) || defined(CONFIG_HAS_FSL_MPH_USB)
static int fdt_fixup_usb_mode_phy_type(void *blob, const char *mode,
const char *phy_type, int start_offset)
{
@@ -367,4 +210,3 @@ void fdt_fixup_dr_usb(void *blob, bd_t *bd)
}
}
}
-#endif
diff --git a/drivers/usb/host/ehci-fsl.c b/drivers/usb/host/ehci-fsl.c
index 97b7f14..ec6b8fe 100644
--- a/drivers/usb/host/ehci-fsl.c
+++ b/drivers/usb/host/ehci-fsl.c
@@ -173,198 +173,3 @@ static void set_txfifothresh(struct usb_ehci *ehci, u32 txfifo_thresh)
cmd |= TXFIFO_THRESH(txfifo_thresh);
ehci_writel(&ehci->txfilltuning, cmd);
}
-
-#if defined(CONFIG_HAS_FSL_DR_USB) || defined(CONFIG_HAS_FSL_MPH_USB)
-static int fdt_fixup_usb_mode_phy_type(void *blob, const char *mode,
- const char *phy_type, int start_offset)
-{
- const char *compat_dr = "fsl-usb2-dr";
- const char *compat_mph = "fsl-usb2-mph";
- const char *prop_mode = "dr_mode";
- const char *prop_type = "phy_type";
- const char *node_type = NULL;
- int node_offset;
- int err;
-
- node_offset = fdt_node_offset_by_compatible(blob,
- start_offset, compat_mph);
- if (node_offset < 0) {
- node_offset = fdt_node_offset_by_compatible(blob,
- start_offset,
- compat_dr);
- if (node_offset < 0) {
- printf("WARNING: could not find compatible node: %s",
- fdt_strerror(node_offset));
- return -1;
- }
- node_type = compat_dr;
- } else {
- node_type = compat_mph;
- }
-
- if (mode) {
- err = fdt_setprop(blob, node_offset, prop_mode, mode,
- strlen(mode) + 1);
- if (err < 0)
- printf("WARNING: could not set %s for %s: %s.\n",
- prop_mode, node_type, fdt_strerror(err));
- }
-
- if (phy_type) {
- err = fdt_setprop(blob, node_offset, prop_type, phy_type,
- strlen(phy_type) + 1);
- if (err < 0)
- printf("WARNING: could not set %s for %s: %s.\n",
- prop_type, node_type, fdt_strerror(err));
- }
-
- return node_offset;
-}
-
-static const char *fdt_usb_get_node_type(void *blob, int start_offset,
- int *node_offset)
-{
- const char *compat_dr = "fsl-usb2-dr";
- const char *compat_mph = "fsl-usb2-mph";
- const char *node_type = NULL;
-
- *node_offset = fdt_node_offset_by_compatible(blob, start_offset,
- compat_mph);
- if (*node_offset < 0) {
- *node_offset = fdt_node_offset_by_compatible(blob,
- start_offset,
- compat_dr);
- if (*node_offset < 0) {
- printf("ERROR: could not find compatible node: %s\n",
- fdt_strerror(*node_offset));
- } else {
- node_type = compat_dr;
- }
- } else {
- node_type = compat_mph;
- }
-
- return node_type;
-}
-
-static int fdt_fixup_usb_erratum(void *blob, const char *prop_erratum,
- int start_offset)
-{
- int node_offset, err;
- const char *node_type = NULL;
-
- node_type = fdt_usb_get_node_type(blob, start_offset, &node_offset);
- if (!node_type)
- return -1;
-
- err = fdt_setprop(blob, node_offset, prop_erratum, NULL, 0);
- if (err < 0) {
- printf("ERROR: could not set %s for %s: %s.\n",
- prop_erratum, node_type, fdt_strerror(err));
- }
-
- return node_offset;
-}
-
-void fdt_fixup_dr_usb(void *blob, bd_t *bd)
-{
- static const char * const modes[] = { "host", "peripheral", "otg" };
- static const char * const phys[] = { "ulpi", "utmi", "utmi_dual" };
- int usb_erratum_a006261_off = -1;
- int usb_erratum_a007075_off = -1;
- int usb_erratum_a007792_off = -1;
- int usb_erratum_a005697_off = -1;
- 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)) {
- for (j = 0; j < ARRAY_SIZE(modes); j++) {
- if (hwconfig_subarg_cmp(str, "dr_mode",
- modes[j])) {
- mode_idx = j;
- break;
- }
- }
-
- for (j = 0; j < ARRAY_SIZE(phys); j++) {
- if (hwconfig_subarg_cmp(str, "phy_type",
- phys[j])) {
- phy_idx = j;
- break;
- }
- }
-
- 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];
- }
-
- if (has_dual_phy())
- dr_phy_type = phys[2];
-
- usb_mode_off = fdt_fixup_usb_mode_phy_type(blob,
- dr_mode_type, NULL,
- usb_mode_off);
-
- if (usb_mode_off < 0)
- return;
-
- usb_phy_off = fdt_fixup_usb_mode_phy_type(blob,
- NULL, dr_phy_type,
- usb_phy_off);
-
- if (usb_phy_off < 0)
- return;
-
- if (has_erratum_a006261()) {
- usb_erratum_a006261_off = fdt_fixup_usb_erratum
- (blob,
- "fsl,usb-erratum-a006261",
- usb_erratum_a006261_off);
- if (usb_erratum_a006261_off < 0)
- return;
- }
-
- if (has_erratum_a007075()) {
- usb_erratum_a007075_off = fdt_fixup_usb_erratum
- (blob,
- "fsl,usb-erratum-a007075",
- usb_erratum_a007075_off);
- if (usb_erratum_a007075_off < 0)
- return;
- }
-
- if (has_erratum_a007792()) {
- usb_erratum_a007792_off = fdt_fixup_usb_erratum
- (blob,
- "fsl,usb-erratum-a007792",
- usb_erratum_a007792_off);
- if (usb_erratum_a007792_off < 0)
- return;
- }
- if (has_erratum_a005697()) {
- usb_erratum_a005697_off = fdt_fixup_usb_erratum
- (blob,
- "fsl,usb-erratum-a005697",
- usb_erratum_a005697_off);
- if (usb_erratum_a005697_off < 0)
- return;
- }
- }
-}
-#endif
--
2.1.0
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [U-Boot] [PATCH v3 2/3] board:freescale:usb: Remove code duplication for fdt_usb_get_node_type
2016-03-01 7:03 [U-Boot] [PATCH v3 0/3] Make usb device-tree fixup independent of USB controller Sriram Dash
2016-03-01 7:03 ` [U-Boot] [PATCH v3 1/3] board:freescale:common: Move device-tree fixup framework to common file Sriram Dash
@ 2016-03-01 7:03 ` Sriram Dash
2016-03-01 22:27 ` Marek Vasut
2016-03-01 7:03 ` [U-Boot] [PATCH v3 3/3] board:freescale:usb: Add device-tree fixup support for xhci controller Sriram Dash
2 siblings, 1 reply; 18+ messages in thread
From: Sriram Dash @ 2016-03-01 7:03 UTC (permalink / raw)
To: u-boot
Call fdt_usb_get_node_type() from fdt_fixup_usb_mode_phy_type() to
avoid code duplication.
Signed-off-by: Ramneek Mehresh <ramneek.mehresh@nxp.com>
Signed-off-by: Sriram Dash <sriram.dash@nxp.com>
---
board/freescale/common/usb.c | 72 ++++++++++++++++++--------------------------
1 file changed, 29 insertions(+), 43 deletions(-)
diff --git a/board/freescale/common/usb.c b/board/freescale/common/usb.c
index 85cb1bf..d815dc1 100644
--- a/board/freescale/common/usb.c
+++ b/board/freescale/common/usb.c
@@ -18,33 +18,45 @@
#define CONFIG_USB_MAX_CONTROLLER_COUNT 1
#endif
-static int fdt_fixup_usb_mode_phy_type(void *blob, const char *mode,
- const char *phy_type, int start_offset)
+static const char *fdt_usb_get_node_type(void *blob, int start_offset,
+ int *node_offset)
{
const char *compat_dr = "fsl-usb2-dr";
const char *compat_mph = "fsl-usb2-mph";
- const char *prop_mode = "dr_mode";
- const char *prop_type = "phy_type";
const char *node_type = NULL;
- int node_offset;
- int err;
- node_offset = fdt_node_offset_by_compatible(blob,
- start_offset, compat_mph);
- if (node_offset < 0) {
- node_offset = fdt_node_offset_by_compatible(blob,
- start_offset,
- compat_dr);
- if (node_offset < 0) {
- printf("WARNING: could not find compatible node: %s",
- fdt_strerror(node_offset));
- return -1;
+ *node_offset = fdt_node_offset_by_compatible(blob, start_offset,
+ compat_mph);
+ if (*node_offset < 0) {
+ *node_offset = fdt_node_offset_by_compatible(blob,
+ start_offset,
+ compat_dr);
+ if (*node_offset < 0) {
+ printf("ERROR: could not find compatible node: %s\n",
+ fdt_strerror(*node_offset));
+ } else {
+ node_type = compat_dr;
}
- node_type = compat_dr;
} else {
node_type = compat_mph;
}
+ return node_type;
+}
+
+static int fdt_fixup_usb_mode_phy_type(void *blob, const char *mode,
+ const char *phy_type, int start_offset)
+{
+ const char *prop_mode = "dr_mode";
+ const char *prop_type = "phy_type";
+ const char *node_type = NULL;
+ int node_offset;
+ int err;
+
+ node_type = fdt_usb_get_node_type(blob, start_offset, &node_offset);
+ if (!node_type)
+ return -1;
+
if (mode) {
err = fdt_setprop(blob, node_offset, prop_mode, mode,
strlen(mode) + 1);
@@ -64,32 +76,6 @@ static int fdt_fixup_usb_mode_phy_type(void *blob, const char *mode,
return node_offset;
}
-static const char *fdt_usb_get_node_type(void *blob, int start_offset,
- int *node_offset)
-{
- const char *compat_dr = "fsl-usb2-dr";
- const char *compat_mph = "fsl-usb2-mph";
- const char *node_type = NULL;
-
- *node_offset = fdt_node_offset_by_compatible(blob, start_offset,
- compat_mph);
- if (*node_offset < 0) {
- *node_offset = fdt_node_offset_by_compatible(blob,
- start_offset,
- compat_dr);
- if (*node_offset < 0) {
- printf("ERROR: could not find compatible node: %s\n",
- fdt_strerror(*node_offset));
- } else {
- node_type = compat_dr;
- }
- } else {
- node_type = compat_mph;
- }
-
- return node_type;
-}
-
static int fdt_fixup_usb_erratum(void *blob, const char *prop_erratum,
int start_offset)
{
--
2.1.0
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [U-Boot] [PATCH v3 3/3] board:freescale:usb: Add device-tree fixup support for xhci controller
2016-03-01 7:03 [U-Boot] [PATCH v3 0/3] Make usb device-tree fixup independent of USB controller Sriram Dash
2016-03-01 7:03 ` [U-Boot] [PATCH v3 1/3] board:freescale:common: Move device-tree fixup framework to common file Sriram Dash
2016-03-01 7:03 ` [U-Boot] [PATCH v3 2/3] board:freescale:usb: Remove code duplication for fdt_usb_get_node_type Sriram Dash
@ 2016-03-01 7:03 ` Sriram Dash
2016-03-01 22:25 ` Marek Vasut
2 siblings, 1 reply; 18+ messages in thread
From: Sriram Dash @ 2016-03-01 7:03 UTC (permalink / raw)
To: u-boot
Enables usb device-tree fixup code to incorporate xhci controller
Signed-off-by: Ramneek Mehresh <ramneek.mehresh@nxp.com>
Signed-off-by: Sriram Dash <sriram.dash@nxp.com>
---
board/freescale/common/Makefile | 1 +
board/freescale/common/usb.c | 30 +++++++++++++-----------------
include/fdt_support.h | 4 ++--
3 files changed, 16 insertions(+), 19 deletions(-)
diff --git a/board/freescale/common/Makefile b/board/freescale/common/Makefile
index 62de45c..c644896 100644
--- a/board/freescale/common/Makefile
+++ b/board/freescale/common/Makefile
@@ -14,6 +14,7 @@ endif
endif
obj-$(CONFIG_USB_EHCI_FSL) += usb.o
+obj-$(CONFIG_USB_XHCI_FSL) += usb.o
ifdef MINIMAL
# necessary to create built-in.o
diff --git a/board/freescale/common/usb.c b/board/freescale/common/usb.c
index d815dc1..8e423be 100644
--- a/board/freescale/common/usb.c
+++ b/board/freescale/common/usb.c
@@ -18,29 +18,25 @@
#define CONFIG_USB_MAX_CONTROLLER_COUNT 1
#endif
+const char compat_usb_fsl[][16] = {"fsl-usb2-mph",
+ "fsl-usb2-dr",
+ "snps,dwc3"};
+
static const char *fdt_usb_get_node_type(void *blob, int start_offset,
int *node_offset)
{
- const char *compat_dr = "fsl-usb2-dr";
- const char *compat_mph = "fsl-usb2-mph";
const char *node_type = NULL;
-
- *node_offset = fdt_node_offset_by_compatible(blob, start_offset,
- compat_mph);
- if (*node_offset < 0) {
- *node_offset = fdt_node_offset_by_compatible(blob,
- start_offset,
- compat_dr);
- if (*node_offset < 0) {
- printf("ERROR: could not find compatible node: %s\n",
- fdt_strerror(*node_offset));
- } else {
- node_type = compat_dr;
+ int size = sizeof(compat_usb_fsl)/sizeof(compat_usb_fsl[0]);
+ int i;
+
+ for (i = 0; i < size ; i++) {
+ *node_offset = fdt_node_offset_by_compatible
+ (blob, start_offset, compat_usb_fsl[i]);
+ if (*node_offset >= 0) {
+ node_type = compat_usb_fsl[i];
+ break;
}
- } else {
- node_type = compat_mph;
}
-
return node_type;
}
diff --git a/include/fdt_support.h b/include/fdt_support.h
index 296add0..d34e959 100644
--- a/include/fdt_support.h
+++ b/include/fdt_support.h
@@ -113,11 +113,11 @@ void fdt_fixup_qe_firmware(void *fdt);
*/
int fdt_fixup_display(void *blob, const char *path, const char *display);
-#if defined(CONFIG_HAS_FSL_DR_USB) || defined(CONFIG_HAS_FSL_MPH_USB)
+#if defined(CONFIG_USB_EHCI_FSL) || defined(CONFIG_USB_XHCI_FSL)
void fdt_fixup_dr_usb(void *blob, bd_t *bd);
#else
static inline void fdt_fixup_dr_usb(void *blob, bd_t *bd) {}
-#endif /* defined(CONFIG_HAS_FSL_DR_USB) || defined(CONFIG_HAS_FSL_MPH_USB) */
+#endif /* defined(CONFIG_USB_EHCI_FSL) || defined(CONFIG_USB_XHCI_FSL) */
#if defined(CONFIG_SYS_FSL_SEC_COMPAT)
void fdt_fixup_crypto_node(void *blob, int sec_rev);
--
2.1.0
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [U-Boot] [PATCH v3 1/3] board:freescale:common: Move device-tree fixup framework to common file
2016-03-01 7:03 ` [U-Boot] [PATCH v3 1/3] board:freescale:common: Move device-tree fixup framework to common file Sriram Dash
@ 2016-03-01 22:13 ` Marek Vasut
2016-03-03 8:29 ` Sriram Dash
0 siblings, 1 reply; 18+ messages in thread
From: Marek Vasut @ 2016-03-01 22:13 UTC (permalink / raw)
To: u-boot
On 03/01/2016 08:03 AM, Sriram Dash wrote:
> Move usb device-tree fixup framework from ehci-fsl.c to common place so
> that it can be used by other drivers as well (xhci-fsl.c).
>
> Signed-off-by: Ramneek Mehresh <ramneek.mehresh@nxp.com>
> Signed-off-by: Sriram Dash <sriram.dash@nxp.com>
> ---
> board/freescale/common/Makefile | 2 +
> .../ehci-fsl.c => board/freescale/common/usb.c | 160 +----------------
> drivers/usb/host/ehci-fsl.c | 195 ---------------------
> 3 files changed, 3 insertions(+), 354 deletions(-)
> copy drivers/usb/host/ehci-fsl.c => board/freescale/common/usb.c (53%)
Where is the changelog ?
> diff --git a/board/freescale/common/Makefile b/board/freescale/common/Makefile
> index be114ce..62de45c 100644
> --- a/board/freescale/common/Makefile
> +++ b/board/freescale/common/Makefile
> @@ -13,6 +13,8 @@ MINIMAL=y
> endif
> endif
>
> +obj-$(CONFIG_USB_EHCI_FSL) += usb.o
> +
> ifdef MINIMAL
> # necessary to create built-in.o
> obj- := __dummy__.o
> diff --git a/drivers/usb/host/ehci-fsl.c b/board/freescale/common/usb.c
> similarity index 53%
> copy from drivers/usb/host/ehci-fsl.c
> copy to board/freescale/common/usb.c
> index 97b7f14..85cb1bf 100644
> --- a/drivers/usb/host/ehci-fsl.c
> +++ b/board/freescale/common/usb.c
> @@ -1,9 +1,5 @@
> /*
> - * (C) Copyright 2009, 2011 Freescale Semiconductor, Inc.
> - *
> - * (C) Copyright 2008, Excito Elektronik i Sk=E5ne AB
> - *
> - * Author: Tor Krill tor at excito.com
> + * (C) Copyright 2016 Freescale Semiconductor, Inc.
What's with this copyright change here ?
> * SPDX-License-Identifier: GPL-2.0+
> */
> @@ -17,164 +13,11 @@
> #include <fsl_usb.h>
> #include <fdt_support.h>
>
> -#include "ehci.h"
[...]
--
Best regards,
Marek Vasut
^ permalink raw reply [flat|nested] 18+ messages in thread
* [U-Boot] [PATCH v3 3/3] board:freescale:usb: Add device-tree fixup support for xhci controller
2016-03-01 7:03 ` [U-Boot] [PATCH v3 3/3] board:freescale:usb: Add device-tree fixup support for xhci controller Sriram Dash
@ 2016-03-01 22:25 ` Marek Vasut
2016-03-03 8:32 ` Sriram Dash
0 siblings, 1 reply; 18+ messages in thread
From: Marek Vasut @ 2016-03-01 22:25 UTC (permalink / raw)
To: u-boot
On 03/01/2016 08:03 AM, Sriram Dash wrote:
> Enables usb device-tree fixup code to incorporate xhci controller
>
> Signed-off-by: Ramneek Mehresh <ramneek.mehresh@nxp.com>
> Signed-off-by: Sriram Dash <sriram.dash@nxp.com>
Changelog ?
> ---
> board/freescale/common/Makefile | 1 +
> board/freescale/common/usb.c | 30 +++++++++++++-----------------
> include/fdt_support.h | 4 ++--
> 3 files changed, 16 insertions(+), 19 deletions(-)
>
> diff --git a/board/freescale/common/Makefile b/board/freescale/common/Makefile
> index 62de45c..c644896 100644
> --- a/board/freescale/common/Makefile
> +++ b/board/freescale/common/Makefile
> @@ -14,6 +14,7 @@ endif
> endif
>
> obj-$(CONFIG_USB_EHCI_FSL) += usb.o
> +obj-$(CONFIG_USB_XHCI_FSL) += usb.o
>
> ifdef MINIMAL
> # necessary to create built-in.o
> diff --git a/board/freescale/common/usb.c b/board/freescale/common/usb.c
> index d815dc1..8e423be 100644
> --- a/board/freescale/common/usb.c
> +++ b/board/freescale/common/usb.c
> @@ -18,29 +18,25 @@
> #define CONFIG_USB_MAX_CONTROLLER_COUNT 1
> #endif
>
> +const char compat_usb_fsl[][16] = {"fsl-usb2-mph",
> + "fsl-usb2-dr",
> + "snps,dwc3"};
This is const char *foo[].
> static const char *fdt_usb_get_node_type(void *blob, int start_offset,
> int *node_offset)
> {
> - const char *compat_dr = "fsl-usb2-dr";
> - const char *compat_mph = "fsl-usb2-mph";
> const char *node_type = NULL;
> -
> - *node_offset = fdt_node_offset_by_compatible(blob, start_offset,
> - compat_mph);
> - if (*node_offset < 0) {
> - *node_offset = fdt_node_offset_by_compatible(blob,
> - start_offset,
> - compat_dr);
> - if (*node_offset < 0) {
> - printf("ERROR: could not find compatible node: %s\n",
> - fdt_strerror(*node_offset));
> - } else {
> - node_type = compat_dr;
> + int size = sizeof(compat_usb_fsl)/sizeof(compat_usb_fsl[0]);
Oh the art of counting. Firstly, what you did here is reimplementation
of ARRAY_SIZE(), but that's wrong in this context. Each one of the array
elements is differently sized, so to avoid problems with this crap, the
code hard-codes random constant defining the element size, which is
another crap workaround as it will break once a longer element is added.
And it wastes space. No, instead, use a terminating entry in
the array.
btw use checkpatch before your next submission.
> + int i;
> +
> + for (i = 0; i < size ; i++) {
> + *node_offset = fdt_node_offset_by_compatible
> + (blob, start_offset, compat_usb_fsl[i]);
> + if (*node_offset >= 0) {
> + node_type = compat_usb_fsl[i];
> + break;
> }
> - } else {
> - node_type = compat_mph;
> }
> -
> return node_type;
> }
>
> diff --git a/include/fdt_support.h b/include/fdt_support.h
> index 296add0..d34e959 100644
> --- a/include/fdt_support.h
> +++ b/include/fdt_support.h
> @@ -113,11 +113,11 @@ void fdt_fixup_qe_firmware(void *fdt);
> */
> int fdt_fixup_display(void *blob, const char *path, const char *display);
>
> -#if defined(CONFIG_HAS_FSL_DR_USB) || defined(CONFIG_HAS_FSL_MPH_USB)
> +#if defined(CONFIG_USB_EHCI_FSL) || defined(CONFIG_USB_XHCI_FSL)
> void fdt_fixup_dr_usb(void *blob, bd_t *bd);
> #else
> static inline void fdt_fixup_dr_usb(void *blob, bd_t *bd) {}
> -#endif /* defined(CONFIG_HAS_FSL_DR_USB) || defined(CONFIG_HAS_FSL_MPH_USB) */
> +#endif /* defined(CONFIG_USB_EHCI_FSL) || defined(CONFIG_USB_XHCI_FSL) */
>
> #if defined(CONFIG_SYS_FSL_SEC_COMPAT)
> void fdt_fixup_crypto_node(void *blob, int sec_rev);
>
--
Best regards,
Marek Vasut
^ permalink raw reply [flat|nested] 18+ messages in thread
* [U-Boot] [PATCH v3 2/3] board:freescale:usb: Remove code duplication for fdt_usb_get_node_type
2016-03-01 7:03 ` [U-Boot] [PATCH v3 2/3] board:freescale:usb: Remove code duplication for fdt_usb_get_node_type Sriram Dash
@ 2016-03-01 22:27 ` Marek Vasut
2016-03-03 8:30 ` Sriram Dash
0 siblings, 1 reply; 18+ messages in thread
From: Marek Vasut @ 2016-03-01 22:27 UTC (permalink / raw)
To: u-boot
On 03/01/2016 08:03 AM, Sriram Dash wrote:
> Call fdt_usb_get_node_type() from fdt_fixup_usb_mode_phy_type() to
> avoid code duplication.
>
> Signed-off-by: Ramneek Mehresh <ramneek.mehresh@nxp.com>
> Signed-off-by: Sriram Dash <sriram.dash@nxp.com>
> ---
> board/freescale/common/usb.c | 72 ++++++++++++++++++--------------------------
> 1 file changed, 29 insertions(+), 43 deletions(-)
>
> diff --git a/board/freescale/common/usb.c b/board/freescale/common/usb.c
> index 85cb1bf..d815dc1 100644
> --- a/board/freescale/common/usb.c
> +++ b/board/freescale/common/usb.c
> @@ -18,33 +18,45 @@
> #define CONFIG_USB_MAX_CONTROLLER_COUNT 1
> #endif
>
> -static int fdt_fixup_usb_mode_phy_type(void *blob, const char *mode,
> - const char *phy_type, int start_offset)
> +static const char *fdt_usb_get_node_type(void *blob, int start_offset,
> + int *node_offset)
> {
> const char *compat_dr = "fsl-usb2-dr";
> const char *compat_mph = "fsl-usb2-mph";
> - const char *prop_mode = "dr_mode";
> - const char *prop_type = "phy_type";
> const char *node_type = NULL;
> - int node_offset;
> - int err;
>
> - node_offset = fdt_node_offset_by_compatible(blob,
> - start_offset, compat_mph);
> - if (node_offset < 0) {
> - node_offset = fdt_node_offset_by_compatible(blob,
> - start_offset,
> - compat_dr);
> - if (node_offset < 0) {
> - printf("WARNING: could not find compatible node: %s",
> - fdt_strerror(node_offset));
> - return -1;
> + *node_offset = fdt_node_offset_by_compatible(blob, start_offset,
> + compat_mph);
> + if (*node_offset < 0) {
> + *node_offset = fdt_node_offset_by_compatible(blob,
> + start_offset,
> + compat_dr);
> + if (*node_offset < 0) {
> + printf("ERROR: could not find compatible node: %s\n",
> + fdt_strerror(*node_offset));
> + } else {
> + node_type = compat_dr;
> }
> - node_type = compat_dr;
> } else {
> node_type = compat_mph;
> }
>
> + return node_type;
The function should be able to return error code. If you need to return
some more stuff from the function, return it via reference.
> +}
> +
> +static int fdt_fixup_usb_mode_phy_type(void *blob, const char *mode,
> + const char *phy_type, int start_offset)
> +{
> + const char *prop_mode = "dr_mode";
> + const char *prop_type = "phy_type";
> + const char *node_type = NULL;
> + int node_offset;
> + int err;
> +
> + node_type = fdt_usb_get_node_type(blob, start_offset, &node_offset);
> + if (!node_type)
> + return -1;
> +
> if (mode) {
> err = fdt_setprop(blob, node_offset, prop_mode, mode,
> strlen(mode) + 1);
> @@ -64,32 +76,6 @@ static int fdt_fixup_usb_mode_phy_type(void *blob, const char *mode,
> return node_offset;
> }
>
> -static const char *fdt_usb_get_node_type(void *blob, int start_offset,
> - int *node_offset)
> -{
> - const char *compat_dr = "fsl-usb2-dr";
> - const char *compat_mph = "fsl-usb2-mph";
> - const char *node_type = NULL;
> -
> - *node_offset = fdt_node_offset_by_compatible(blob, start_offset,
> - compat_mph);
> - if (*node_offset < 0) {
> - *node_offset = fdt_node_offset_by_compatible(blob,
> - start_offset,
> - compat_dr);
> - if (*node_offset < 0) {
> - printf("ERROR: could not find compatible node: %s\n",
> - fdt_strerror(*node_offset));
> - } else {
> - node_type = compat_dr;
> - }
> - } else {
> - node_type = compat_mph;
> - }
> -
> - return node_type;
> -}
> -
> static int fdt_fixup_usb_erratum(void *blob, const char *prop_erratum,
> int start_offset)
> {
>
--
Best regards,
Marek Vasut
^ permalink raw reply [flat|nested] 18+ messages in thread
* [U-Boot] [PATCH v3 1/3] board:freescale:common: Move device-tree fixup framework to common file
2016-03-01 22:13 ` Marek Vasut
@ 2016-03-03 8:29 ` Sriram Dash
2016-03-03 9:56 ` Marek Vasut
0 siblings, 1 reply; 18+ messages in thread
From: Sriram Dash @ 2016-03-03 8:29 UTC (permalink / raw)
To: u-boot
>-----Original Message-----
>From: Marek Vasut [mailto:marex at denx.de]
>Sent: Wednesday, March 02, 2016 3:43 AM
>To: Sriram Dash <sriram.dash@nxp.com>; u-boot at lists.denx.de
>Cc: york sun <york.sun@nxp.com>; Ramneek Mehresh
><ramneek.mehresh@nxp.com>; Rajesh Bhagat <rajesh.bhagat@nxp.com>; Tom
>Rini <trini@konsulko.com>
>Subject: Re: [PATCH v3 1/3] board:freescale:common: Move device-tree fixup
>framework to common file
>
>On 03/01/2016 08:03 AM, Sriram Dash wrote:
>> Move usb device-tree fixup framework from ehci-fsl.c to common place
>> so that it can be used by other drivers as well (xhci-fsl.c).
>>
>> Signed-off-by: Ramneek Mehresh <ramneek.mehresh@nxp.com>
>> Signed-off-by: Sriram Dash <sriram.dash@nxp.com>
>> ---
>> board/freescale/common/Makefile | 2 +
>> .../ehci-fsl.c => board/freescale/common/usb.c | 160 +----------------
>> drivers/usb/host/ehci-fsl.c | 195 ---------------------
>> 3 files changed, 3 insertions(+), 354 deletions(-) copy
>> drivers/usb/host/ehci-fsl.c => board/freescale/common/usb.c (53%)
>
>Where is the changelog ?
Will include changelog for v2 and v3 in v4.
>
>> diff --git a/board/freescale/common/Makefile
>> b/board/freescale/common/Makefile index be114ce..62de45c 100644
>> --- a/board/freescale/common/Makefile
>> +++ b/board/freescale/common/Makefile
>> @@ -13,6 +13,8 @@ MINIMAL=y
>> endif
>> endif
>>
>> +obj-$(CONFIG_USB_EHCI_FSL) += usb.o
>> +
>> ifdef MINIMAL
>> # necessary to create built-in.o
>> obj- := __dummy__.o
>> diff --git a/drivers/usb/host/ehci-fsl.c
>> b/board/freescale/common/usb.c similarity index 53% copy from
>> drivers/usb/host/ehci-fsl.c copy to board/freescale/common/usb.c index
>> 97b7f14..85cb1bf 100644
>> --- a/drivers/usb/host/ehci-fsl.c
>> +++ b/board/freescale/common/usb.c
>> @@ -1,9 +1,5 @@
>> /*
>> - * (C) Copyright 2009, 2011 Freescale Semiconductor, Inc.
>> - *
>> - * (C) Copyright 2008, Excito Elektronik i Sk=E5ne AB
>> - *
>> - * Author: Tor Krill tor at excito.com
>> + * (C) Copyright 2016 Freescale Semiconductor, Inc.
>
>What's with this copyright change here ?
It is a new file named common/usb.c. Shall I include the complete ehci-fsl.c copyright information in the new file?
>
>> * SPDX-License-Identifier: GPL-2.0+
>> */
>> @@ -17,164 +13,11 @@
>> #include <fsl_usb.h>
>> #include <fdt_support.h>
>>
>> -#include "ehci.h"
>[...]
>
>--
>Best regards,
>Marek Vasut
Best Regards,
Sriram
^ permalink raw reply [flat|nested] 18+ messages in thread
* [U-Boot] [PATCH v3 2/3] board:freescale:usb: Remove code duplication for fdt_usb_get_node_type
2016-03-01 22:27 ` Marek Vasut
@ 2016-03-03 8:30 ` Sriram Dash
2016-03-03 9:59 ` Marek Vasut
0 siblings, 1 reply; 18+ messages in thread
From: Sriram Dash @ 2016-03-03 8:30 UTC (permalink / raw)
To: u-boot
>-----Original Message-----
>From: Marek Vasut [mailto:marex at denx.de]
>Sent: Wednesday, March 02, 2016 3:57 AM
>To: Sriram Dash <sriram.dash@nxp.com>; u-boot at lists.denx.de
>Cc: york sun <york.sun@nxp.com>; Ramneek Mehresh
><ramneek.mehresh@nxp.com>; Rajesh Bhagat <rajesh.bhagat@nxp.com>
>Subject: Re: [PATCH v3 2/3] board:freescale:usb: Remove code duplication for
>fdt_usb_get_node_type
>
>On 03/01/2016 08:03 AM, Sriram Dash wrote:
>> Call fdt_usb_get_node_type() from fdt_fixup_usb_mode_phy_type() to
>> avoid code duplication.
>>
>> Signed-off-by: Ramneek Mehresh <ramneek.mehresh@nxp.com>
>> Signed-off-by: Sriram Dash <sriram.dash@nxp.com>
>> ---
>> board/freescale/common/usb.c | 72
>> ++++++++++++++++++--------------------------
>> 1 file changed, 29 insertions(+), 43 deletions(-)
>>
>> diff --git a/board/freescale/common/usb.c
>> b/board/freescale/common/usb.c index 85cb1bf..d815dc1 100644
>> --- a/board/freescale/common/usb.c
>> +++ b/board/freescale/common/usb.c
>> @@ -18,33 +18,45 @@
>> #define CONFIG_USB_MAX_CONTROLLER_COUNT 1 #endif
>>
>> -static int fdt_fixup_usb_mode_phy_type(void *blob, const char *mode,
>> - const char *phy_type, int start_offset)
>> +static const char *fdt_usb_get_node_type(void *blob, int start_offset,
>> + int *node_offset)
>> {
>> const char *compat_dr = "fsl-usb2-dr";
>> const char *compat_mph = "fsl-usb2-mph";
>> - const char *prop_mode = "dr_mode";
>> - const char *prop_type = "phy_type";
>> const char *node_type = NULL;
>> - int node_offset;
>> - int err;
>>
>> - node_offset = fdt_node_offset_by_compatible(blob,
>> - start_offset, compat_mph);
>> - if (node_offset < 0) {
>> - node_offset = fdt_node_offset_by_compatible(blob,
>> - start_offset,
>> - compat_dr);
>> - if (node_offset < 0) {
>> - printf("WARNING: could not find compatible node: %s",
>> - fdt_strerror(node_offset));
>> - return -1;
>> + *node_offset = fdt_node_offset_by_compatible(blob, start_offset,
>> + compat_mph);
>> + if (*node_offset < 0) {
>> + *node_offset = fdt_node_offset_by_compatible(blob,
>> + start_offset,
>> + compat_dr);
>> + if (*node_offset < 0) {
>> + printf("ERROR: could not find compatible node: %s\n",
>> + fdt_strerror(*node_offset));
>> + } else {
>> + node_type = compat_dr;
>> }
>> - node_type = compat_dr;
>> } else {
>> node_type = compat_mph;
>> }
>>
>> + return node_type;
>
>The function should be able to return error code. If you need to return some more
>stuff from the function, return it via reference.
>
This patch is not altering the fdt_usb_get_node_type(). It is only calling the function from
fdt_fixup_usb_mode_phy_type(), to avoid code duplication.
>> +}
>> +
>> +static int fdt_fixup_usb_mode_phy_type(void *blob, const char *mode,
>> + const char *phy_type, int start_offset) {
>> + const char *prop_mode = "dr_mode";
>> + const char *prop_type = "phy_type";
>> + const char *node_type = NULL;
>> + int node_offset;
>> + int err;
>> +
>> + node_type = fdt_usb_get_node_type(blob, start_offset, &node_offset);
>> + if (!node_type)
>> + return -1;
>> +
>> if (mode) {
>> err = fdt_setprop(blob, node_offset, prop_mode, mode,
>> strlen(mode) + 1);
>> @@ -64,32 +76,6 @@ static int fdt_fixup_usb_mode_phy_type(void *blob, const
>char *mode,
>> return node_offset;
>> }
>>
>> -static const char *fdt_usb_get_node_type(void *blob, int start_offset,
>> - int *node_offset)
>> -{
>> - const char *compat_dr = "fsl-usb2-dr";
>> - const char *compat_mph = "fsl-usb2-mph";
>> - const char *node_type = NULL;
>> -
>> - *node_offset = fdt_node_offset_by_compatible(blob, start_offset,
>> - compat_mph);
>> - if (*node_offset < 0) {
>> - *node_offset = fdt_node_offset_by_compatible(blob,
>> - start_offset,
>> - compat_dr);
>> - if (*node_offset < 0) {
>> - printf("ERROR: could not find compatible node: %s\n",
>> - fdt_strerror(*node_offset));
>> - } else {
>> - node_type = compat_dr;
>> - }
>> - } else {
>> - node_type = compat_mph;
>> - }
>> -
>> - return node_type;
>> -}
>> -
>> static int fdt_fixup_usb_erratum(void *blob, const char *prop_erratum,
>> int start_offset)
>> {
>>
>
>
>--
>Best regards,
>Marek Vasut
^ permalink raw reply [flat|nested] 18+ messages in thread
* [U-Boot] [PATCH v3 3/3] board:freescale:usb: Add device-tree fixup support for xhci controller
2016-03-01 22:25 ` Marek Vasut
@ 2016-03-03 8:32 ` Sriram Dash
2016-03-03 10:03 ` Marek Vasut
0 siblings, 1 reply; 18+ messages in thread
From: Sriram Dash @ 2016-03-03 8:32 UTC (permalink / raw)
To: u-boot
>-----Original Message-----
>From: Marek Vasut [mailto:marex at denx.de]
>Sent: Wednesday, March 02, 2016 3:55 AM
>To: Sriram Dash <sriram.dash@nxp.com>; u-boot at lists.denx.de
>Cc: york sun <york.sun@nxp.com>; Ramneek Mehresh
><ramneek.mehresh@nxp.com>; Rajesh Bhagat <rajesh.bhagat@nxp.com>
>Subject: Re: [PATCH v3 3/3] board:freescale:usb: Add device-tree fixup support for
>xhci controller
>
>On 03/01/2016 08:03 AM, Sriram Dash wrote:
>> Enables usb device-tree fixup code to incorporate xhci controller
>>
>> Signed-off-by: Ramneek Mehresh <ramneek.mehresh@nxp.com>
>> Signed-off-by: Sriram Dash <sriram.dash@nxp.com>
>
>Changelog ?
>
Will include changelog for v2 and v3 in v4.
>> ---
>> board/freescale/common/Makefile | 1 +
>> board/freescale/common/usb.c | 30 +++++++++++++-----------------
>> include/fdt_support.h | 4 ++--
>> 3 files changed, 16 insertions(+), 19 deletions(-)
>>
>> diff --git a/board/freescale/common/Makefile
>> b/board/freescale/common/Makefile index 62de45c..c644896 100644
>> --- a/board/freescale/common/Makefile
>> +++ b/board/freescale/common/Makefile
>> @@ -14,6 +14,7 @@ endif
>> endif
>>
>> obj-$(CONFIG_USB_EHCI_FSL) += usb.o
>> +obj-$(CONFIG_USB_XHCI_FSL) += usb.o
>>
>> ifdef MINIMAL
>> # necessary to create built-in.o
>> diff --git a/board/freescale/common/usb.c
>> b/board/freescale/common/usb.c index d815dc1..8e423be 100644
>> --- a/board/freescale/common/usb.c
>> +++ b/board/freescale/common/usb.c
>> @@ -18,29 +18,25 @@
>> #define CONFIG_USB_MAX_CONTROLLER_COUNT 1 #endif
>>
>> +const char compat_usb_fsl[][16] = {"fsl-usb2-mph",
>> + "fsl-usb2-dr",
>> + "snps,dwc3"};
>
>This is const char *foo[].
>
Reference from "char compat[][16] = { "cfi-flash", "jedec-flash" };"
I will change to const char *compat_usb_fsl[] in v4.
>> static const char *fdt_usb_get_node_type(void *blob, int start_offset,
>> int *node_offset)
>> {
>> - const char *compat_dr = "fsl-usb2-dr";
>> - const char *compat_mph = "fsl-usb2-mph";
>> const char *node_type = NULL;
>> -
>> - *node_offset = fdt_node_offset_by_compatible(blob, start_offset,
>> - compat_mph);
>> - if (*node_offset < 0) {
>> - *node_offset = fdt_node_offset_by_compatible(blob,
>> - start_offset,
>> - compat_dr);
>> - if (*node_offset < 0) {
>> - printf("ERROR: could not find compatible node: %s\n",
>> - fdt_strerror(*node_offset));
>> - } else {
>> - node_type = compat_dr;
>> + int size = sizeof(compat_usb_fsl)/sizeof(compat_usb_fsl[0]);
>
>Oh the art of counting. Firstly, what you did here is reimplementation of
>ARRAY_SIZE(), but that's wrong in this context. Each one of the array elements is
>differently sized, so to avoid problems with this crap, the code hard-codes random
>constant defining the element size, which is another crap workaround as it will
>break once a longer element is added.
>And it wastes space. No, instead, use a terminating entry in the array.
>
Will change compat_usb_fsl[][16] into const char *compat_usb_fsl[],
and use ARRAY_SIZE(compat_usb_fsl) . What is your opinion?
>btw use checkpatch before your next submission.
>
>> + int i;
>> +
>> + for (i = 0; i < size ; i++) {
>> + *node_offset = fdt_node_offset_by_compatible
>> + (blob, start_offset, compat_usb_fsl[i]);
>> + if (*node_offset >= 0) {
>> + node_type = compat_usb_fsl[i];
>> + break;
>> }
>> - } else {
>> - node_type = compat_mph;
>> }
>> -
>> return node_type;
>> }
>>
>> diff --git a/include/fdt_support.h b/include/fdt_support.h index
>> 296add0..d34e959 100644
>> --- a/include/fdt_support.h
>> +++ b/include/fdt_support.h
>> @@ -113,11 +113,11 @@ void fdt_fixup_qe_firmware(void *fdt);
>> */
>> int fdt_fixup_display(void *blob, const char *path, const char
>> *display);
>>
>> -#if defined(CONFIG_HAS_FSL_DR_USB) || defined(CONFIG_HAS_FSL_MPH_USB)
>> +#if defined(CONFIG_USB_EHCI_FSL) || defined(CONFIG_USB_XHCI_FSL)
>> void fdt_fixup_dr_usb(void *blob, bd_t *bd); #else static inline
>> void fdt_fixup_dr_usb(void *blob, bd_t *bd) {} -#endif /*
>> defined(CONFIG_HAS_FSL_DR_USB) || defined(CONFIG_HAS_FSL_MPH_USB) */
>> +#endif /* defined(CONFIG_USB_EHCI_FSL) ||
>> +defined(CONFIG_USB_XHCI_FSL) */
>>
>> #if defined(CONFIG_SYS_FSL_SEC_COMPAT)
>> void fdt_fixup_crypto_node(void *blob, int sec_rev);
>>
>
>
>--
>Best regards,
>Marek Vasut
^ permalink raw reply [flat|nested] 18+ messages in thread
* [U-Boot] [PATCH v3 1/3] board:freescale:common: Move device-tree fixup framework to common file
2016-03-03 8:29 ` Sriram Dash
@ 2016-03-03 9:56 ` Marek Vasut
2016-03-03 11:10 ` Sriram Dash
0 siblings, 1 reply; 18+ messages in thread
From: Marek Vasut @ 2016-03-03 9:56 UTC (permalink / raw)
To: u-boot
On 03/03/2016 09:29 AM, Sriram Dash wrote:
>
>
>> -----Original Message-----
>> From: Marek Vasut [mailto:marex at denx.de]
>> Sent: Wednesday, March 02, 2016 3:43 AM
>> To: Sriram Dash <sriram.dash@nxp.com>; u-boot at lists.denx.de
>> Cc: york sun <york.sun@nxp.com>; Ramneek Mehresh
>> <ramneek.mehresh@nxp.com>; Rajesh Bhagat <rajesh.bhagat@nxp.com>; Tom
>> Rini <trini@konsulko.com>
>> Subject: Re: [PATCH v3 1/3] board:freescale:common: Move device-tree fixup
>> framework to common file
>>
>> On 03/01/2016 08:03 AM, Sriram Dash wrote:
>>> Move usb device-tree fixup framework from ehci-fsl.c to common place
>>> so that it can be used by other drivers as well (xhci-fsl.c).
>>>
>>> Signed-off-by: Ramneek Mehresh <ramneek.mehresh@nxp.com>
>>> Signed-off-by: Sriram Dash <sriram.dash@nxp.com>
>>> ---
>>> board/freescale/common/Makefile | 2 +
>>> .../ehci-fsl.c => board/freescale/common/usb.c | 160 +----------------
>>> drivers/usb/host/ehci-fsl.c | 195 ---------------------
>>> 3 files changed, 3 insertions(+), 354 deletions(-) copy
>>> drivers/usb/host/ehci-fsl.c => board/freescale/common/usb.c (53%)
>>
>> Where is the changelog ?
>
> Will include changelog for v2 and v3 in v4.
>
>>
>>> diff --git a/board/freescale/common/Makefile
>>> b/board/freescale/common/Makefile index be114ce..62de45c 100644
>>> --- a/board/freescale/common/Makefile
>>> +++ b/board/freescale/common/Makefile
>>> @@ -13,6 +13,8 @@ MINIMAL=y
>>> endif
>>> endif
>>>
>>> +obj-$(CONFIG_USB_EHCI_FSL) += usb.o
>>> +
>>> ifdef MINIMAL
>>> # necessary to create built-in.o
>>> obj- := __dummy__.o
>>> diff --git a/drivers/usb/host/ehci-fsl.c
>>> b/board/freescale/common/usb.c similarity index 53% copy from
>>> drivers/usb/host/ehci-fsl.c copy to board/freescale/common/usb.c index
>>> 97b7f14..85cb1bf 100644
>>> --- a/drivers/usb/host/ehci-fsl.c
>>> +++ b/board/freescale/common/usb.c
>>> @@ -1,9 +1,5 @@
>>> /*
>>> - * (C) Copyright 2009, 2011 Freescale Semiconductor, Inc.
>>> - *
>>> - * (C) Copyright 2008, Excito Elektronik i Sk=E5ne AB
>>> - *
>>> - * Author: Tor Krill tor at excito.com
>>> + * (C) Copyright 2016 Freescale Semiconductor, Inc.
>>
>> What's with this copyright change here ?
>
> It is a new file named common/usb.c. Shall I include the complete ehci-fsl.c copyright information in the new file?
There is already a file named common/usb.c , you surely mean
board/freescale/common/usb.c , yes ?
According to git, it's not a new file:
b/board/freescale/common/usb.c similarity index 53% copy from
drivers/usb/host/ehci-fsl.c copy to board/freescale/common/usb.c
so yes, it should retain all copyright info.
And now that I am looking at it, I would much rather see the fixup bits
in drivers/usb/host/ than some board-specific file. You can very well
put those into fsl-dt-fixup.c or whatever there.
>>
>>> * SPDX-License-Identifier: GPL-2.0+
>>> */
>>> @@ -17,164 +13,11 @@
>>> #include <fsl_usb.h>
>>> #include <fdt_support.h>
>>>
>>> -#include "ehci.h"
>> [...]
>>
>> --
>> Best regards,
>> Marek Vasut
>
> Best Regards,
> Sriram
>
--
Best regards,
Marek Vasut
^ permalink raw reply [flat|nested] 18+ messages in thread
* [U-Boot] [PATCH v3 2/3] board:freescale:usb: Remove code duplication for fdt_usb_get_node_type
2016-03-03 8:30 ` Sriram Dash
@ 2016-03-03 9:59 ` Marek Vasut
2016-03-03 11:11 ` Sriram Dash
0 siblings, 1 reply; 18+ messages in thread
From: Marek Vasut @ 2016-03-03 9:59 UTC (permalink / raw)
To: u-boot
On 03/03/2016 09:30 AM, Sriram Dash wrote:
>
>> -----Original Message-----
>> From: Marek Vasut [mailto:marex at denx.de]
>> Sent: Wednesday, March 02, 2016 3:57 AM
>> To: Sriram Dash <sriram.dash@nxp.com>; u-boot at lists.denx.de
>> Cc: york sun <york.sun@nxp.com>; Ramneek Mehresh
>> <ramneek.mehresh@nxp.com>; Rajesh Bhagat <rajesh.bhagat@nxp.com>
>> Subject: Re: [PATCH v3 2/3] board:freescale:usb: Remove code duplication for
>> fdt_usb_get_node_type
>>
>> On 03/01/2016 08:03 AM, Sriram Dash wrote:
>>> Call fdt_usb_get_node_type() from fdt_fixup_usb_mode_phy_type() to
>>> avoid code duplication.
>>>
>>> Signed-off-by: Ramneek Mehresh <ramneek.mehresh@nxp.com>
>>> Signed-off-by: Sriram Dash <sriram.dash@nxp.com>
>>> ---
>>> board/freescale/common/usb.c | 72
>>> ++++++++++++++++++--------------------------
>>> 1 file changed, 29 insertions(+), 43 deletions(-)
>>>
>>> diff --git a/board/freescale/common/usb.c
>>> b/board/freescale/common/usb.c index 85cb1bf..d815dc1 100644
>>> --- a/board/freescale/common/usb.c
>>> +++ b/board/freescale/common/usb.c
>>> @@ -18,33 +18,45 @@
>>> #define CONFIG_USB_MAX_CONTROLLER_COUNT 1 #endif
>>>
>>> -static int fdt_fixup_usb_mode_phy_type(void *blob, const char *mode,
>>> - const char *phy_type, int start_offset)
>>> +static const char *fdt_usb_get_node_type(void *blob, int start_offset,
>>> + int *node_offset)
>>> {
>>> const char *compat_dr = "fsl-usb2-dr";
>>> const char *compat_mph = "fsl-usb2-mph";
>>> - const char *prop_mode = "dr_mode";
>>> - const char *prop_type = "phy_type";
>>> const char *node_type = NULL;
>>> - int node_offset;
>>> - int err;
>>>
>>> - node_offset = fdt_node_offset_by_compatible(blob,
>>> - start_offset, compat_mph);
>>> - if (node_offset < 0) {
>>> - node_offset = fdt_node_offset_by_compatible(blob,
>>> - start_offset,
>>> - compat_dr);
>>> - if (node_offset < 0) {
>>> - printf("WARNING: could not find compatible node: %s",
>>> - fdt_strerror(node_offset));
>>> - return -1;
>>> + *node_offset = fdt_node_offset_by_compatible(blob, start_offset,
>>> + compat_mph);
>>> + if (*node_offset < 0) {
>>> + *node_offset = fdt_node_offset_by_compatible(blob,
>>> + start_offset,
>>> + compat_dr);
>>> + if (*node_offset < 0) {
>>> + printf("ERROR: could not find compatible node: %s\n",
>>> + fdt_strerror(*node_offset));
>>> + } else {
>>> + node_type = compat_dr;
>>> }
>>> - node_type = compat_dr;
>>> } else {
>>> node_type = compat_mph;
>>> }
>>>
>>> + return node_type;
>>
>> The function should be able to return error code. If you need to return some more
>> stuff from the function, return it via reference.
>>
>
> This patch is not altering the fdt_usb_get_node_type(). It is only calling the function from
> fdt_fixup_usb_mode_phy_type(), to avoid code duplication.
I am not complaining about that part. I am complaining about the new
function, fdt_usb_get_node_type(), which returns pointer as a return
value instead of returning proper error code as a return value.
>>> +}
>>> +
>>> +static int fdt_fixup_usb_mode_phy_type(void *blob, const char *mode,
>>> + const char *phy_type, int start_offset) {
>>> + const char *prop_mode = "dr_mode";
>>> + const char *prop_type = "phy_type";
>>> + const char *node_type = NULL;
>>> + int node_offset;
>>> + int err;
>>> +
>>> + node_type = fdt_usb_get_node_type(blob, start_offset, &node_offset);
>>> + if (!node_type)
>>> + return -1;
>>> +
>>> if (mode) {
>>> err = fdt_setprop(blob, node_offset, prop_mode, mode,
>>> strlen(mode) + 1);
>>> @@ -64,32 +76,6 @@ static int fdt_fixup_usb_mode_phy_type(void *blob, const
>> char *mode,
>>> return node_offset;
>>> }
>>>
>>> -static const char *fdt_usb_get_node_type(void *blob, int start_offset,
>>> - int *node_offset)
>>> -{
>>> - const char *compat_dr = "fsl-usb2-dr";
>>> - const char *compat_mph = "fsl-usb2-mph";
>>> - const char *node_type = NULL;
>>> -
>>> - *node_offset = fdt_node_offset_by_compatible(blob, start_offset,
>>> - compat_mph);
>>> - if (*node_offset < 0) {
>>> - *node_offset = fdt_node_offset_by_compatible(blob,
>>> - start_offset,
>>> - compat_dr);
>>> - if (*node_offset < 0) {
>>> - printf("ERROR: could not find compatible node: %s\n",
>>> - fdt_strerror(*node_offset));
>>> - } else {
>>> - node_type = compat_dr;
>>> - }
>>> - } else {
>>> - node_type = compat_mph;
>>> - }
>>> -
>>> - return node_type;
>>> -}
>>> -
>>> static int fdt_fixup_usb_erratum(void *blob, const char *prop_erratum,
>>> int start_offset)
>>> {
>>>
>>
>>
>> --
>> Best regards,
>> Marek Vasut
--
Best regards,
Marek Vasut
^ permalink raw reply [flat|nested] 18+ messages in thread
* [U-Boot] [PATCH v3 3/3] board:freescale:usb: Add device-tree fixup support for xhci controller
2016-03-03 8:32 ` Sriram Dash
@ 2016-03-03 10:03 ` Marek Vasut
2016-03-03 11:11 ` Sriram Dash
0 siblings, 1 reply; 18+ messages in thread
From: Marek Vasut @ 2016-03-03 10:03 UTC (permalink / raw)
To: u-boot
On 03/03/2016 09:32 AM, Sriram Dash wrote:
>> -----Original Message-----
>> From: Marek Vasut [mailto:marex at denx.de]
>> Sent: Wednesday, March 02, 2016 3:55 AM
>> To: Sriram Dash <sriram.dash@nxp.com>; u-boot at lists.denx.de
>> Cc: york sun <york.sun@nxp.com>; Ramneek Mehresh
>> <ramneek.mehresh@nxp.com>; Rajesh Bhagat <rajesh.bhagat@nxp.com>
>> Subject: Re: [PATCH v3 3/3] board:freescale:usb: Add device-tree fixup support for
>> xhci controller
>>
>> On 03/01/2016 08:03 AM, Sriram Dash wrote:
>>> Enables usb device-tree fixup code to incorporate xhci controller
>>>
>>> Signed-off-by: Ramneek Mehresh <ramneek.mehresh@nxp.com>
>>> Signed-off-by: Sriram Dash <sriram.dash@nxp.com>
>>
>> Changelog ?
>>
>
> Will include changelog for v2 and v3 in v4.
>
>>> ---
>>> board/freescale/common/Makefile | 1 +
>>> board/freescale/common/usb.c | 30 +++++++++++++-----------------
>>> include/fdt_support.h | 4 ++--
>>> 3 files changed, 16 insertions(+), 19 deletions(-)
>>>
>>> diff --git a/board/freescale/common/Makefile
>>> b/board/freescale/common/Makefile index 62de45c..c644896 100644
>>> --- a/board/freescale/common/Makefile
>>> +++ b/board/freescale/common/Makefile
>>> @@ -14,6 +14,7 @@ endif
>>> endif
>>>
>>> obj-$(CONFIG_USB_EHCI_FSL) += usb.o
>>> +obj-$(CONFIG_USB_XHCI_FSL) += usb.o
>>>
>>> ifdef MINIMAL
>>> # necessary to create built-in.o
>>> diff --git a/board/freescale/common/usb.c
>>> b/board/freescale/common/usb.c index d815dc1..8e423be 100644
>>> --- a/board/freescale/common/usb.c
>>> +++ b/board/freescale/common/usb.c
>>> @@ -18,29 +18,25 @@
>>> #define CONFIG_USB_MAX_CONTROLLER_COUNT 1 #endif
>>>
>>> +const char compat_usb_fsl[][16] = {"fsl-usb2-mph",
>>> + "fsl-usb2-dr",
>>> + "snps,dwc3"};
>>
>> This is const char *foo[].
>>
>
> Reference from "char compat[][16] = { "cfi-flash", "jedec-flash" };"
> I will change to const char *compat_usb_fsl[] in v4.
>
>>> static const char *fdt_usb_get_node_type(void *blob, int start_offset,
>>> int *node_offset)
>>> {
>>> - const char *compat_dr = "fsl-usb2-dr";
>>> - const char *compat_mph = "fsl-usb2-mph";
>>> const char *node_type = NULL;
>>> -
>>> - *node_offset = fdt_node_offset_by_compatible(blob, start_offset,
>>> - compat_mph);
>>> - if (*node_offset < 0) {
>>> - *node_offset = fdt_node_offset_by_compatible(blob,
>>> - start_offset,
>>> - compat_dr);
>>> - if (*node_offset < 0) {
>>> - printf("ERROR: could not find compatible node: %s\n",
>>> - fdt_strerror(*node_offset));
>>> - } else {
>>> - node_type = compat_dr;
>>> + int size = sizeof(compat_usb_fsl)/sizeof(compat_usb_fsl[0]);
>>
>> Oh the art of counting. Firstly, what you did here is reimplementation of
>> ARRAY_SIZE(), but that's wrong in this context. Each one of the array elements is
>> differently sized, so to avoid problems with this crap, the code hard-codes random
>> constant defining the element size, which is another crap workaround as it will
>> break once a longer element is added.
>> And it wastes space. No, instead, use a terminating entry in the array.
>>
>
> Will change compat_usb_fsl[][16] into const char *compat_usb_fsl[],
> and use ARRAY_SIZE(compat_usb_fsl) . What is your opinion?
My opinion is to use a terminating NULL entry and iterate over the array
until you reach it.
--
Best regards,
Marek Vasut
^ permalink raw reply [flat|nested] 18+ messages in thread
* [U-Boot] [PATCH v3 1/3] board:freescale:common: Move device-tree fixup framework to common file
2016-03-03 9:56 ` Marek Vasut
@ 2016-03-03 11:10 ` Sriram Dash
2016-03-03 12:45 ` Marek Vasut
0 siblings, 1 reply; 18+ messages in thread
From: Sriram Dash @ 2016-03-03 11:10 UTC (permalink / raw)
To: u-boot
>-----Original Message-----
>From: Marek Vasut [mailto:marex at denx.de]
>Sent: Thursday, March 03, 2016 3:26 PM
>To: Sriram Dash <sriram.dash@nxp.com>; u-boot at lists.denx.de
>Cc: york sun <york.sun@nxp.com>; Ramneek Mehresh
><ramneek.mehresh@nxp.com>; Rajesh Bhagat <rajesh.bhagat@nxp.com>; Tom
>Rini <trini@konsulko.com>
>Subject: Re: [PATCH v3 1/3] board:freescale:common: Move device-tree fixup
>framework to common file
>
>On 03/03/2016 09:29 AM, Sriram Dash wrote:
>>
>>
>>> -----Original Message-----
>>> From: Marek Vasut [mailto:marex at denx.de]
>>> Sent: Wednesday, March 02, 2016 3:43 AM
>>> To: Sriram Dash <sriram.dash@nxp.com>; u-boot at lists.denx.de
>>> Cc: york sun <york.sun@nxp.com>; Ramneek Mehresh
>>> <ramneek.mehresh@nxp.com>; Rajesh Bhagat <rajesh.bhagat@nxp.com>; Tom
>>> Rini <trini@konsulko.com>
>>> Subject: Re: [PATCH v3 1/3] board:freescale:common: Move device-tree
>>> fixup framework to common file
>>>
>>> On 03/01/2016 08:03 AM, Sriram Dash wrote:
>>>> Move usb device-tree fixup framework from ehci-fsl.c to common place
>>>> so that it can be used by other drivers as well (xhci-fsl.c).
>>>>
>>>> Signed-off-by: Ramneek Mehresh <ramneek.mehresh@nxp.com>
>>>> Signed-off-by: Sriram Dash <sriram.dash@nxp.com>
>>>> ---
>>>> board/freescale/common/Makefile | 2 +
>>>> .../ehci-fsl.c => board/freescale/common/usb.c | 160 +----------------
>>>> drivers/usb/host/ehci-fsl.c | 195 ---------------------
>>>> 3 files changed, 3 insertions(+), 354 deletions(-) copy
>>>> drivers/usb/host/ehci-fsl.c => board/freescale/common/usb.c (53%)
>>>
>>> Where is the changelog ?
>>
>> Will include changelog for v2 and v3 in v4.
>>
>>>
>>>> diff --git a/board/freescale/common/Makefile
>>>> b/board/freescale/common/Makefile index be114ce..62de45c 100644
>>>> --- a/board/freescale/common/Makefile
>>>> +++ b/board/freescale/common/Makefile
>>>> @@ -13,6 +13,8 @@ MINIMAL=y
>>>> endif
>>>> endif
>>>>
>>>> +obj-$(CONFIG_USB_EHCI_FSL) += usb.o
>>>> +
>>>> ifdef MINIMAL
>>>> # necessary to create built-in.o
>>>> obj- := __dummy__.o
>>>> diff --git a/drivers/usb/host/ehci-fsl.c
>>>> b/board/freescale/common/usb.c similarity index 53% copy from
>>>> drivers/usb/host/ehci-fsl.c copy to board/freescale/common/usb.c
>>>> index 97b7f14..85cb1bf 100644
>>>> --- a/drivers/usb/host/ehci-fsl.c
>>>> +++ b/board/freescale/common/usb.c
>>>> @@ -1,9 +1,5 @@
>>>> /*
>>>> - * (C) Copyright 2009, 2011 Freescale Semiconductor, Inc.
>>>> - *
>>>> - * (C) Copyright 2008, Excito Elektronik i Sk=E5ne AB
>>>> - *
>>>> - * Author: Tor Krill tor at excito.com
>>>> + * (C) Copyright 2016 Freescale Semiconductor, Inc.
>>>
>>> What's with this copyright change here ?
>>
>> It is a new file named common/usb.c. Shall I include the complete ehci-fsl.c
>copyright information in the new file?
>
>There is already a file named common/usb.c , you surely mean
>board/freescale/common/usb.c , yes ?
>
Yes
>According to git, it's not a new file:
>
>b/board/freescale/common/usb.c similarity index 53% copy from
>drivers/usb/host/ehci-fsl.c copy to board/freescale/common/usb.c
>
>so yes, it should retain all copyright info.
>
Ok, We will retain copyright info in v4.
>And now that I am looking at it, I would much rather see the fixup bits in
>drivers/usb/host/ than some board-specific file. You can very well put those into
>fsl-dt-fixup.c or whatever there.
>
drivers/usb/host/ was a good option, but we want to make it independent of
host and gadget. So, whenever there is a specific requirement for freescale boards,
it will use the same from board: freescale: common: usb
Else, another option is to have drivers/usb/common/fsl-dt-fixup.c.
What do you say?
>>>
>>>> * SPDX-License-Identifier: GPL-2.0+
>>>> */
>>>> @@ -17,164 +13,11 @@
>>>> #include <fsl_usb.h>
>>>> #include <fdt_support.h>
>>>>
>>>> -#include "ehci.h"
>>> [...]
>>>
>>> --
>>> Best regards,
>>> Marek Vasut
>>
>> Best Regards,
>> Sriram
>>
>
>
>--
>Best regards,
>Marek Vasut
^ permalink raw reply [flat|nested] 18+ messages in thread
* [U-Boot] [PATCH v3 2/3] board:freescale:usb: Remove code duplication for fdt_usb_get_node_type
2016-03-03 9:59 ` Marek Vasut
@ 2016-03-03 11:11 ` Sriram Dash
2016-03-03 12:48 ` Marek Vasut
0 siblings, 1 reply; 18+ messages in thread
From: Sriram Dash @ 2016-03-03 11:11 UTC (permalink / raw)
To: u-boot
>-----Original Message-----
>From: Marek Vasut [mailto:marex at denx.de]
>Sent: Thursday, March 03, 2016 3:29 PM
>To: Sriram Dash <sriram.dash@nxp.com>; u-boot at lists.denx.de
>Cc: york sun <york.sun@nxp.com>; Ramneek Mehresh
><ramneek.mehresh@nxp.com>; Rajesh Bhagat <rajesh.bhagat@nxp.com>
>Subject: Re: [PATCH v3 2/3] board:freescale:usb: Remove code duplication for
>fdt_usb_get_node_type
>
>On 03/03/2016 09:30 AM, Sriram Dash wrote:
>>
>>> -----Original Message-----
>>> From: Marek Vasut [mailto:marex at denx.de]
>>> Sent: Wednesday, March 02, 2016 3:57 AM
>>> To: Sriram Dash <sriram.dash@nxp.com>; u-boot at lists.denx.de
>>> Cc: york sun <york.sun@nxp.com>; Ramneek Mehresh
>>> <ramneek.mehresh@nxp.com>; Rajesh Bhagat <rajesh.bhagat@nxp.com>
>>> Subject: Re: [PATCH v3 2/3] board:freescale:usb: Remove code
>>> duplication for fdt_usb_get_node_type
>>>
>>> On 03/01/2016 08:03 AM, Sriram Dash wrote:
>>>> Call fdt_usb_get_node_type() from fdt_fixup_usb_mode_phy_type() to
>>>> avoid code duplication.
>>>>
>>>> Signed-off-by: Ramneek Mehresh <ramneek.mehresh@nxp.com>
>>>> Signed-off-by: Sriram Dash <sriram.dash@nxp.com>
>>>> ---
>>>> board/freescale/common/usb.c | 72
>>>> ++++++++++++++++++--------------------------
>>>> 1 file changed, 29 insertions(+), 43 deletions(-)
>>>>
>>>> diff --git a/board/freescale/common/usb.c
>>>> b/board/freescale/common/usb.c index 85cb1bf..d815dc1 100644
>>>> --- a/board/freescale/common/usb.c
>>>> +++ b/board/freescale/common/usb.c
>>>> @@ -18,33 +18,45 @@
>>>> #define CONFIG_USB_MAX_CONTROLLER_COUNT 1 #endif
>>>>
>>>> -static int fdt_fixup_usb_mode_phy_type(void *blob, const char *mode,
>>>> - const char *phy_type, int start_offset)
>>>> +static const char *fdt_usb_get_node_type(void *blob, int start_offset,
>>>> + int *node_offset)
>>>> {
>>>> const char *compat_dr = "fsl-usb2-dr";
>>>> const char *compat_mph = "fsl-usb2-mph";
>>>> - const char *prop_mode = "dr_mode";
>>>> - const char *prop_type = "phy_type";
>>>> const char *node_type = NULL;
>>>> - int node_offset;
>>>> - int err;
>>>>
>>>> - node_offset = fdt_node_offset_by_compatible(blob,
>>>> - start_offset, compat_mph);
>>>> - if (node_offset < 0) {
>>>> - node_offset = fdt_node_offset_by_compatible(blob,
>>>> - start_offset,
>>>> - compat_dr);
>>>> - if (node_offset < 0) {
>>>> - printf("WARNING: could not find compatible node: %s",
>>>> - fdt_strerror(node_offset));
>>>> - return -1;
>>>> + *node_offset = fdt_node_offset_by_compatible(blob, start_offset,
>>>> + compat_mph);
>>>> + if (*node_offset < 0) {
>>>> + *node_offset = fdt_node_offset_by_compatible(blob,
>>>> + start_offset,
>>>> + compat_dr);
>>>> + if (*node_offset < 0) {
>>>> + printf("ERROR: could not find compatible node: %s\n",
>>>> + fdt_strerror(*node_offset));
>>>> + } else {
>>>> + node_type = compat_dr;
>>>> }
>>>> - node_type = compat_dr;
>>>> } else {
>>>> node_type = compat_mph;
>>>> }
>>>>
>>>> + return node_type;
>>>
>>> The function should be able to return error code. If you need to
>>> return some more stuff from the function, return it via reference.
>>>
>>
>> This patch is not altering the fdt_usb_get_node_type(). It is only
>> calling the function from fdt_fixup_usb_mode_phy_type(), to avoid code
>duplication.
>
>I am not complaining about that part. I am complaining about the new function,
>fdt_usb_get_node_type(), which returns pointer as a return value instead of
>returning proper error code as a return value.
>
I think git diff tool is creating confusion here, I have just moved function fdt_usb_get_node_type
above fdt_fixup_usb_mode_phy_type which created all the diff and looked as if new function is
added.
Please check below created patch where declaration is added to call fdt_usb_get_node_type
in fdt_usb_get_mode_phy_type. We will be sending below in V4.
#################################################################
diff --git a/board/freescale/common/usb.c b/board/freescale/common/usb.c
index 85cb1bf..5553225 100644
--- a/board/freescale/common/usb.c
+++ b/board/freescale/common/usb.c
@@ -18,32 +18,21 @@
#define CONFIG_USB_MAX_CONTROLLER_COUNT 1
#endif
+const char *fdt_usb_get_node_type(void *blob, int start_offset,
+ int *node_offset);
+
static int fdt_fixup_usb_mode_phy_type(void *blob, const char *mode,
const char *phy_type, int start_offset)
{
- const char *compat_dr = "fsl-usb2-dr";
- const char *compat_mph = "fsl-usb2-mph";
const char *prop_mode = "dr_mode";
const char *prop_type = "phy_type";
const char *node_type = NULL;
int node_offset;
int err;
- node_offset = fdt_node_offset_by_compatible(blob,
- start_offset, compat_mph);
- if (node_offset < 0) {
- node_offset = fdt_node_offset_by_compatible(blob,
- start_offset,
- compat_dr);
- if (node_offset < 0) {
- printf("WARNING: could not find compatible node: %s",
- fdt_strerror(node_offset));
- return -1;
- }
- node_type = compat_dr;
- } else {
- node_type = compat_mph;
- }
+ node_type = fdt_usb_get_node_type(blob, start_offset, &node_offset);
+ if (!node_type)
+ return -1;
if (mode) {
err = fdt_setprop(blob, node_offset, prop_mode, mode,
#################################################################
>>>> +}
>>>> +
>>>> +static int fdt_fixup_usb_mode_phy_type(void *blob, const char *mode,
>>>> + const char *phy_type, int start_offset) {
>>>> + const char *prop_mode = "dr_mode";
>>>> + const char *prop_type = "phy_type";
>>>> + const char *node_type = NULL;
>>>> + int node_offset;
>>>> + int err;
>>>> +
>>>> + node_type = fdt_usb_get_node_type(blob, start_offset, &node_offset);
>>>> + if (!node_type)
>>>> + return -1;
>>>> +
>>>> if (mode) {
>>>> err = fdt_setprop(blob, node_offset, prop_mode, mode,
>>>> strlen(mode) + 1);
>>>> @@ -64,32 +76,6 @@ static int fdt_fixup_usb_mode_phy_type(void
>>>> *blob, const
>>> char *mode,
>>>> return node_offset;
>>>> }
>>>>
>>>> -static const char *fdt_usb_get_node_type(void *blob, int start_offset,
>>>> - int *node_offset)
>>>> -{
>>>> - const char *compat_dr = "fsl-usb2-dr";
>>>> - const char *compat_mph = "fsl-usb2-mph";
>>>> - const char *node_type = NULL;
>>>> -
>>>> - *node_offset = fdt_node_offset_by_compatible(blob, start_offset,
>>>> - compat_mph);
>>>> - if (*node_offset < 0) {
>>>> - *node_offset = fdt_node_offset_by_compatible(blob,
>>>> - start_offset,
>>>> - compat_dr);
>>>> - if (*node_offset < 0) {
>>>> - printf("ERROR: could not find compatible node: %s\n",
>>>> - fdt_strerror(*node_offset));
>>>> - } else {
>>>> - node_type = compat_dr;
>>>> - }
>>>> - } else {
>>>> - node_type = compat_mph;
>>>> - }
>>>> -
>>>> - return node_type;
>>>> -}
>>>> -
>>>> static int fdt_fixup_usb_erratum(void *blob, const char *prop_erratum,
>>>> int start_offset)
>>>> {
>>>>
>>>
>>>
>>> --
>>> Best regards,
>>> Marek Vasut
>
>
>--
>Best regards,
>Marek Vasut
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [U-Boot] [PATCH v3 3/3] board:freescale:usb: Add device-tree fixup support for xhci controller
2016-03-03 10:03 ` Marek Vasut
@ 2016-03-03 11:11 ` Sriram Dash
0 siblings, 0 replies; 18+ messages in thread
From: Sriram Dash @ 2016-03-03 11:11 UTC (permalink / raw)
To: u-boot
>-----Original Message-----
>From: Marek Vasut [mailto:marex at denx.de]
>Sent: Thursday, March 03, 2016 3:33 PM
>To: Sriram Dash <sriram.dash@nxp.com>; u-boot at lists.denx.de
>Cc: york sun <york.sun@nxp.com>; Ramneek Mehresh
><ramneek.mehresh@nxp.com>; Rajesh Bhagat <rajesh.bhagat@nxp.com>
>Subject: Re: [PATCH v3 3/3] board:freescale:usb: Add device-tree fixup support for
>xhci controller
>
>On 03/03/2016 09:32 AM, Sriram Dash wrote:
>>> -----Original Message-----
>>> From: Marek Vasut [mailto:marex at denx.de]
>>> Sent: Wednesday, March 02, 2016 3:55 AM
>>> To: Sriram Dash <sriram.dash@nxp.com>; u-boot at lists.denx.de
>>> Cc: york sun <york.sun@nxp.com>; Ramneek Mehresh
>>> <ramneek.mehresh@nxp.com>; Rajesh Bhagat <rajesh.bhagat@nxp.com>
>>> Subject: Re: [PATCH v3 3/3] board:freescale:usb: Add device-tree
>>> fixup support for xhci controller
>>>
>>> On 03/01/2016 08:03 AM, Sriram Dash wrote:
>>>> Enables usb device-tree fixup code to incorporate xhci controller
>>>>
>>>> Signed-off-by: Ramneek Mehresh <ramneek.mehresh@nxp.com>
>>>> Signed-off-by: Sriram Dash <sriram.dash@nxp.com>
>>>
>>> Changelog ?
>>>
>>
>> Will include changelog for v2 and v3 in v4.
>>
>>>> ---
>>>> board/freescale/common/Makefile | 1 +
>>>> board/freescale/common/usb.c | 30 +++++++++++++-----------------
>>>> include/fdt_support.h | 4 ++--
>>>> 3 files changed, 16 insertions(+), 19 deletions(-)
>>>>
>>>> diff --git a/board/freescale/common/Makefile
>>>> b/board/freescale/common/Makefile index 62de45c..c644896 100644
>>>> --- a/board/freescale/common/Makefile
>>>> +++ b/board/freescale/common/Makefile
>>>> @@ -14,6 +14,7 @@ endif
>>>> endif
>>>>
>>>> obj-$(CONFIG_USB_EHCI_FSL) += usb.o
>>>> +obj-$(CONFIG_USB_XHCI_FSL) += usb.o
>>>>
>>>> ifdef MINIMAL
>>>> # necessary to create built-in.o
>>>> diff --git a/board/freescale/common/usb.c
>>>> b/board/freescale/common/usb.c index d815dc1..8e423be 100644
>>>> --- a/board/freescale/common/usb.c
>>>> +++ b/board/freescale/common/usb.c
>>>> @@ -18,29 +18,25 @@
>>>> #define CONFIG_USB_MAX_CONTROLLER_COUNT 1 #endif
>>>>
>>>> +const char compat_usb_fsl[][16] = {"fsl-usb2-mph",
>>>> + "fsl-usb2-dr",
>>>> + "snps,dwc3"};
>>>
>>> This is const char *foo[].
>>>
>>
>> Reference from "char compat[][16] = { "cfi-flash", "jedec-flash" };"
>> I will change to const char *compat_usb_fsl[] in v4.
>>
>>>> static const char *fdt_usb_get_node_type(void *blob, int start_offset,
>>>> int *node_offset)
>>>> {
>>>> - const char *compat_dr = "fsl-usb2-dr";
>>>> - const char *compat_mph = "fsl-usb2-mph";
>>>> const char *node_type = NULL;
>>>> -
>>>> - *node_offset = fdt_node_offset_by_compatible(blob, start_offset,
>>>> - compat_mph);
>>>> - if (*node_offset < 0) {
>>>> - *node_offset = fdt_node_offset_by_compatible(blob,
>>>> - start_offset,
>>>> - compat_dr);
>>>> - if (*node_offset < 0) {
>>>> - printf("ERROR: could not find compatible node: %s\n",
>>>> - fdt_strerror(*node_offset));
>>>> - } else {
>>>> - node_type = compat_dr;
>>>> + int size = sizeof(compat_usb_fsl)/sizeof(compat_usb_fsl[0]);
>>>
>>> Oh the art of counting. Firstly, what you did here is
>>> reimplementation of ARRAY_SIZE(), but that's wrong in this context.
>>> Each one of the array elements is differently sized, so to avoid
>>> problems with this crap, the code hard-codes random constant defining
>>> the element size, which is another crap workaround as it will break once a longer
>element is added.
>>> And it wastes space. No, instead, use a terminating entry in the array.
>>>
>>
>> Will change compat_usb_fsl[][16] into const char *compat_usb_fsl[],
>> and use ARRAY_SIZE(compat_usb_fsl) . What is your opinion?
>
>My opinion is to use a terminating NULL entry and iterate over the array until you
>reach it.
>
Accepted. Will do it in v4.
>--
>Best regards,
>Marek Vasut
^ permalink raw reply [flat|nested] 18+ messages in thread
* [U-Boot] [PATCH v3 1/3] board:freescale:common: Move device-tree fixup framework to common file
2016-03-03 11:10 ` Sriram Dash
@ 2016-03-03 12:45 ` Marek Vasut
0 siblings, 0 replies; 18+ messages in thread
From: Marek Vasut @ 2016-03-03 12:45 UTC (permalink / raw)
To: u-boot
On 03/03/2016 12:10 PM, Sriram Dash wrote:
>
>
>> -----Original Message-----
>> From: Marek Vasut [mailto:marex at denx.de]
>> Sent: Thursday, March 03, 2016 3:26 PM
>> To: Sriram Dash <sriram.dash@nxp.com>; u-boot at lists.denx.de
>> Cc: york sun <york.sun@nxp.com>; Ramneek Mehresh
>> <ramneek.mehresh@nxp.com>; Rajesh Bhagat <rajesh.bhagat@nxp.com>; Tom
>> Rini <trini@konsulko.com>
>> Subject: Re: [PATCH v3 1/3] board:freescale:common: Move device-tree fixup
>> framework to common file
>>
>> On 03/03/2016 09:29 AM, Sriram Dash wrote:
>>>
>>>
>>>> -----Original Message-----
>>>> From: Marek Vasut [mailto:marex at denx.de]
>>>> Sent: Wednesday, March 02, 2016 3:43 AM
>>>> To: Sriram Dash <sriram.dash@nxp.com>; u-boot at lists.denx.de
>>>> Cc: york sun <york.sun@nxp.com>; Ramneek Mehresh
>>>> <ramneek.mehresh@nxp.com>; Rajesh Bhagat <rajesh.bhagat@nxp.com>; Tom
>>>> Rini <trini@konsulko.com>
>>>> Subject: Re: [PATCH v3 1/3] board:freescale:common: Move device-tree
>>>> fixup framework to common file
>>>>
>>>> On 03/01/2016 08:03 AM, Sriram Dash wrote:
>>>>> Move usb device-tree fixup framework from ehci-fsl.c to common place
>>>>> so that it can be used by other drivers as well (xhci-fsl.c).
>>>>>
>>>>> Signed-off-by: Ramneek Mehresh <ramneek.mehresh@nxp.com>
>>>>> Signed-off-by: Sriram Dash <sriram.dash@nxp.com>
>>>>> ---
>>>>> board/freescale/common/Makefile | 2 +
>>>>> .../ehci-fsl.c => board/freescale/common/usb.c | 160 +----------------
>>>>> drivers/usb/host/ehci-fsl.c | 195 ---------------------
>>>>> 3 files changed, 3 insertions(+), 354 deletions(-) copy
>>>>> drivers/usb/host/ehci-fsl.c => board/freescale/common/usb.c (53%)
>>>>
>>>> Where is the changelog ?
>>>
>>> Will include changelog for v2 and v3 in v4.
>>>
>>>>
>>>>> diff --git a/board/freescale/common/Makefile
>>>>> b/board/freescale/common/Makefile index be114ce..62de45c 100644
>>>>> --- a/board/freescale/common/Makefile
>>>>> +++ b/board/freescale/common/Makefile
>>>>> @@ -13,6 +13,8 @@ MINIMAL=y
>>>>> endif
>>>>> endif
>>>>>
>>>>> +obj-$(CONFIG_USB_EHCI_FSL) += usb.o
>>>>> +
>>>>> ifdef MINIMAL
>>>>> # necessary to create built-in.o
>>>>> obj- := __dummy__.o
>>>>> diff --git a/drivers/usb/host/ehci-fsl.c
>>>>> b/board/freescale/common/usb.c similarity index 53% copy from
>>>>> drivers/usb/host/ehci-fsl.c copy to board/freescale/common/usb.c
>>>>> index 97b7f14..85cb1bf 100644
>>>>> --- a/drivers/usb/host/ehci-fsl.c
>>>>> +++ b/board/freescale/common/usb.c
>>>>> @@ -1,9 +1,5 @@
>>>>> /*
>>>>> - * (C) Copyright 2009, 2011 Freescale Semiconductor, Inc.
>>>>> - *
>>>>> - * (C) Copyright 2008, Excito Elektronik i Sk=E5ne AB
>>>>> - *
>>>>> - * Author: Tor Krill tor at excito.com
>>>>> + * (C) Copyright 2016 Freescale Semiconductor, Inc.
>>>>
>>>> What's with this copyright change here ?
>>>
>>> It is a new file named common/usb.c. Shall I include the complete ehci-fsl.c
>> copyright information in the new file?
>>
>> There is already a file named common/usb.c , you surely mean
>> board/freescale/common/usb.c , yes ?
>>
>
> Yes
>
>> According to git, it's not a new file:
>>
>> b/board/freescale/common/usb.c similarity index 53% copy from
>> drivers/usb/host/ehci-fsl.c copy to board/freescale/common/usb.c
>>
>> so yes, it should retain all copyright info.
>>
>
> Ok, We will retain copyright info in v4.
>
>> And now that I am looking at it, I would much rather see the fixup bits in
>> drivers/usb/host/ than some board-specific file. You can very well put those into
>> fsl-dt-fixup.c or whatever there.
>>
>
> drivers/usb/host/ was a good option, but we want to make it independent of
> host and gadget. So, whenever there is a specific requirement for freescale boards,
> it will use the same from board: freescale: common: usb
>
> Else, another option is to have drivers/usb/common/fsl-dt-fixup.c.
> What do you say?
That is fine. Moving it to board code would make it problematic to
convert to DM afterward, so I want to prevent that.
>>>>
>>>>> * SPDX-License-Identifier: GPL-2.0+
>>>>> */
>>>>> @@ -17,164 +13,11 @@
>>>>> #include <fsl_usb.h>
>>>>> #include <fdt_support.h>
>>>>>
>>>>> -#include "ehci.h"
>>>> [...]
>>>>
>>>> --
>>>> Best regards,
>>>> Marek Vasut
>>>
>>> Best Regards,
>>> Sriram
>>>
>>
>>
>> --
>> Best regards,
>> Marek Vasut
--
Best regards,
Marek Vasut
^ permalink raw reply [flat|nested] 18+ messages in thread
* [U-Boot] [PATCH v3 2/3] board:freescale:usb: Remove code duplication for fdt_usb_get_node_type
2016-03-03 11:11 ` Sriram Dash
@ 2016-03-03 12:48 ` Marek Vasut
0 siblings, 0 replies; 18+ messages in thread
From: Marek Vasut @ 2016-03-03 12:48 UTC (permalink / raw)
To: u-boot
On 03/03/2016 12:11 PM, Sriram Dash wrote:
>
>
>> -----Original Message-----
>> From: Marek Vasut [mailto:marex at denx.de]
>> Sent: Thursday, March 03, 2016 3:29 PM
>> To: Sriram Dash <sriram.dash@nxp.com>; u-boot at lists.denx.de
>> Cc: york sun <york.sun@nxp.com>; Ramneek Mehresh
>> <ramneek.mehresh@nxp.com>; Rajesh Bhagat <rajesh.bhagat@nxp.com>
>> Subject: Re: [PATCH v3 2/3] board:freescale:usb: Remove code duplication for
>> fdt_usb_get_node_type
>>
>> On 03/03/2016 09:30 AM, Sriram Dash wrote:
>>>
>>>> -----Original Message-----
>>>> From: Marek Vasut [mailto:marex at denx.de]
>>>> Sent: Wednesday, March 02, 2016 3:57 AM
>>>> To: Sriram Dash <sriram.dash@nxp.com>; u-boot at lists.denx.de
>>>> Cc: york sun <york.sun@nxp.com>; Ramneek Mehresh
>>>> <ramneek.mehresh@nxp.com>; Rajesh Bhagat <rajesh.bhagat@nxp.com>
>>>> Subject: Re: [PATCH v3 2/3] board:freescale:usb: Remove code
>>>> duplication for fdt_usb_get_node_type
>>>>
>>>> On 03/01/2016 08:03 AM, Sriram Dash wrote:
>>>>> Call fdt_usb_get_node_type() from fdt_fixup_usb_mode_phy_type() to
>>>>> avoid code duplication.
>>>>>
>>>>> Signed-off-by: Ramneek Mehresh <ramneek.mehresh@nxp.com>
>>>>> Signed-off-by: Sriram Dash <sriram.dash@nxp.com>
>>>>> ---
>>>>> board/freescale/common/usb.c | 72
>>>>> ++++++++++++++++++--------------------------
>>>>> 1 file changed, 29 insertions(+), 43 deletions(-)
>>>>>
>>>>> diff --git a/board/freescale/common/usb.c
>>>>> b/board/freescale/common/usb.c index 85cb1bf..d815dc1 100644
>>>>> --- a/board/freescale/common/usb.c
>>>>> +++ b/board/freescale/common/usb.c
>>>>> @@ -18,33 +18,45 @@
>>>>> #define CONFIG_USB_MAX_CONTROLLER_COUNT 1 #endif
>>>>>
>>>>> -static int fdt_fixup_usb_mode_phy_type(void *blob, const char *mode,
>>>>> - const char *phy_type, int start_offset)
>>>>> +static const char *fdt_usb_get_node_type(void *blob, int start_offset,
>>>>> + int *node_offset)
>>>>> {
>>>>> const char *compat_dr = "fsl-usb2-dr";
>>>>> const char *compat_mph = "fsl-usb2-mph";
>>>>> - const char *prop_mode = "dr_mode";
>>>>> - const char *prop_type = "phy_type";
>>>>> const char *node_type = NULL;
>>>>> - int node_offset;
>>>>> - int err;
>>>>>
>>>>> - node_offset = fdt_node_offset_by_compatible(blob,
>>>>> - start_offset, compat_mph);
>>>>> - if (node_offset < 0) {
>>>>> - node_offset = fdt_node_offset_by_compatible(blob,
>>>>> - start_offset,
>>>>> - compat_dr);
>>>>> - if (node_offset < 0) {
>>>>> - printf("WARNING: could not find compatible node: %s",
>>>>> - fdt_strerror(node_offset));
>>>>> - return -1;
>>>>> + *node_offset = fdt_node_offset_by_compatible(blob, start_offset,
>>>>> + compat_mph);
>>>>> + if (*node_offset < 0) {
>>>>> + *node_offset = fdt_node_offset_by_compatible(blob,
>>>>> + start_offset,
>>>>> + compat_dr);
>>>>> + if (*node_offset < 0) {
>>>>> + printf("ERROR: could not find compatible node: %s\n",
>>>>> + fdt_strerror(*node_offset));
>>>>> + } else {
>>>>> + node_type = compat_dr;
>>>>> }
>>>>> - node_type = compat_dr;
>>>>> } else {
>>>>> node_type = compat_mph;
>>>>> }
>>>>>
>>>>> + return node_type;
>>>>
>>>> The function should be able to return error code. If you need to
>>>> return some more stuff from the function, return it via reference.
>>>>
>>>
>>> This patch is not altering the fdt_usb_get_node_type(). It is only
>>> calling the function from fdt_fixup_usb_mode_phy_type(), to avoid code
>> duplication.
>>
>> I am not complaining about that part. I am complaining about the new function,
>> fdt_usb_get_node_type(), which returns pointer as a return value instead of
>> returning proper error code as a return value.
>>
>
> I think git diff tool is creating confusion here, I have just moved function fdt_usb_get_node_type
> above fdt_fixup_usb_mode_phy_type which created all the diff and looked as if new function is
> added.
>
> Please check below created patch where declaration is added to call fdt_usb_get_node_type
> in fdt_usb_get_mode_phy_type. We will be sending below in V4.
>
> #################################################################
>
> diff --git a/board/freescale/common/usb.c b/board/freescale/common/usb.c
> index 85cb1bf..5553225 100644
> --- a/board/freescale/common/usb.c
> +++ b/board/freescale/common/usb.c
> @@ -18,32 +18,21 @@
> #define CONFIG_USB_MAX_CONTROLLER_COUNT 1
> #endif
>
> +const char *fdt_usb_get_node_type(void *blob, int start_offset,
> + int *node_offset);
> +
Ah I see, I am wrong, sorry.
btw can you fix the fdt_usb_get_node_type() in another patch to return int ?
Thanks!
Best regards,
Marek Vasut
^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2016-03-03 12:48 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-01 7:03 [U-Boot] [PATCH v3 0/3] Make usb device-tree fixup independent of USB controller Sriram Dash
2016-03-01 7:03 ` [U-Boot] [PATCH v3 1/3] board:freescale:common: Move device-tree fixup framework to common file Sriram Dash
2016-03-01 22:13 ` Marek Vasut
2016-03-03 8:29 ` Sriram Dash
2016-03-03 9:56 ` Marek Vasut
2016-03-03 11:10 ` Sriram Dash
2016-03-03 12:45 ` Marek Vasut
2016-03-01 7:03 ` [U-Boot] [PATCH v3 2/3] board:freescale:usb: Remove code duplication for fdt_usb_get_node_type Sriram Dash
2016-03-01 22:27 ` Marek Vasut
2016-03-03 8:30 ` Sriram Dash
2016-03-03 9:59 ` Marek Vasut
2016-03-03 11:11 ` Sriram Dash
2016-03-03 12:48 ` Marek Vasut
2016-03-01 7:03 ` [U-Boot] [PATCH v3 3/3] board:freescale:usb: Add device-tree fixup support for xhci controller Sriram Dash
2016-03-01 22:25 ` Marek Vasut
2016-03-03 8:32 ` Sriram Dash
2016-03-03 10:03 ` Marek Vasut
2016-03-03 11:11 ` Sriram Dash
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox