[U-Boot] [PATCH v2] ehci: Replace board_prepare_usb with board_usb_init

Use standard board_usb_init() instead of the specific board_prepare_usb.
Signed-off-by: Ramon Fried ramon.fried@gmail.com --- v2: remove a line that sneaked in by mistake board/qualcomm/dragonboard410c/dragonboard410c.c | 4 ++-- drivers/usb/host/ehci-msm.c | 9 ++------- 2 files changed, 4 insertions(+), 9 deletions(-)
diff --git a/board/qualcomm/dragonboard410c/dragonboard410c.c b/board/qualcomm/dragonboard410c/dragonboard410c.c index e7ead57f0d..679eab759a 100644 --- a/board/qualcomm/dragonboard410c/dragonboard410c.c +++ b/board/qualcomm/dragonboard410c/dragonboard410c.c @@ -41,7 +41,7 @@ int dram_init_banksize(void) return 0; }
-int board_prepare_usb(enum usb_init_type type) +int board_usb_init(int index, enum usb_init_type init) { static struct udevice *pmic_gpio; static struct gpio_desc hub_reset, usb_sel; @@ -90,7 +90,7 @@ int board_prepare_usb(enum usb_init_type type) } }
- if (type == USB_INIT_HOST) { + if (init == USB_INIT_HOST) { /* Start USB Hub */ dm_gpio_set_dir_flags(&hub_reset, GPIOD_IS_OUT | GPIOD_IS_OUT_ACTIVE); diff --git a/drivers/usb/host/ehci-msm.c b/drivers/usb/host/ehci-msm.c index 17bfa7c02f..db982624dc 100644 --- a/drivers/usb/host/ehci-msm.c +++ b/drivers/usb/host/ehci-msm.c @@ -38,11 +38,6 @@ struct msm_ehci_priv { struct ulpi_viewport ulpi_vp; /* ULPI Viewport */ };
-int __weak board_prepare_usb(enum usb_init_type type) -{ - return 0; -} - static void setup_usb_phy(struct msm_ehci_priv *priv) { /* Select and enable external configuration with USB PHY */ @@ -102,7 +97,7 @@ static int ehci_usb_probe(struct udevice *dev) hcor = (struct ehci_hcor *)((phys_addr_t)hccr + HC_LENGTH(ehci_readl(&(hccr)->cr_capbase)));
- ret = board_prepare_usb(USB_INIT_HOST); + ret = board_usb_init(0, USB_INIT_HOST); if (ret < 0) return ret;
@@ -124,7 +119,7 @@ static int ehci_usb_remove(struct udevice *dev)
reset_usb_phy(p);
- ret = board_prepare_usb(USB_INIT_DEVICE); /* Board specific hook */ + ret = board_usb_init(0, USB_INIT_DEVICE); /* Board specific hook */ if (ret < 0) return ret;

On 05/20/2018 09:15 PM, Ramon Fried wrote:
Use standard board_usb_init() instead of the specific board_prepare_usb.
Signed-off-by: Ramon Fried ramon.fried@gmail.com
v2: remove a line that sneaked in by mistake board/qualcomm/dragonboard410c/dragonboard410c.c | 4 ++-- drivers/usb/host/ehci-msm.c | 9 ++------- 2 files changed, 4 insertions(+), 9 deletions(-)
diff --git a/board/qualcomm/dragonboard410c/dragonboard410c.c b/board/qualcomm/dragonboard410c/dragonboard410c.c index e7ead57f0d..679eab759a 100644 --- a/board/qualcomm/dragonboard410c/dragonboard410c.c +++ b/board/qualcomm/dragonboard410c/dragonboard410c.c @@ -41,7 +41,7 @@ int dram_init_banksize(void) return 0; }
-int board_prepare_usb(enum usb_init_type type) +int board_usb_init(int index, enum usb_init_type init) { static struct udevice *pmic_gpio; static struct gpio_desc hub_reset, usb_sel; @@ -90,7 +90,7 @@ int board_prepare_usb(enum usb_init_type type) } }
- if (type == USB_INIT_HOST) {
- if (init == USB_INIT_HOST) { /* Start USB Hub */ dm_gpio_set_dir_flags(&hub_reset, GPIOD_IS_OUT | GPIOD_IS_OUT_ACTIVE);
Obvious question -- can this not be started by some regulator ? Then this board hook can go away altogether.
[...]

On Sun, May 20, 2018 at 10:34 PM, Marek Vasut marek.vasut@gmail.com wrote:
On 05/20/2018 09:15 PM, Ramon Fried wrote:
Use standard board_usb_init() instead of the specific board_prepare_usb.
Signed-off-by: Ramon Fried ramon.fried@gmail.com
v2: remove a line that sneaked in by mistake board/qualcomm/dragonboard410c/dragonboard410c.c | 4 ++-- drivers/usb/host/ehci-msm.c | 9 ++------- 2 files changed, 4 insertions(+), 9 deletions(-)
diff --git a/board/qualcomm/dragonboard410c/dragonboard410c.c b/board/qualcomm/dragonboard410c/dragonboard410c.c index e7ead57f0d..679eab759a 100644 --- a/board/qualcomm/dragonboard410c/dragonboard410c.c +++ b/board/qualcomm/dragonboard410c/dragonboard410c.c @@ -41,7 +41,7 @@ int dram_init_banksize(void) return 0; }
-int board_prepare_usb(enum usb_init_type type) +int board_usb_init(int index, enum usb_init_type init) { static struct udevice *pmic_gpio; static struct gpio_desc hub_reset, usb_sel; @@ -90,7 +90,7 @@ int board_prepare_usb(enum usb_init_type type) } }
if (type == USB_INIT_HOST) {
if (init == USB_INIT_HOST) { /* Start USB Hub */ dm_gpio_set_dir_flags(&hub_reset, GPIOD_IS_OUT | GPIOD_IS_OUT_ACTIVE);
Obvious question -- can this not be started by some regulator ? Then this board hook can go away altogether.
By regulator do you mean pinctrl framework ?
[...]
-- Best regards, Marek Vasut

On 05/20/2018 10:12 PM, Ramon Fried wrote:
On Sun, May 20, 2018 at 10:34 PM, Marek Vasut marek.vasut@gmail.com wrote:
On 05/20/2018 09:15 PM, Ramon Fried wrote:
Use standard board_usb_init() instead of the specific board_prepare_usb.
Signed-off-by: Ramon Fried ramon.fried@gmail.com
v2: remove a line that sneaked in by mistake board/qualcomm/dragonboard410c/dragonboard410c.c | 4 ++-- drivers/usb/host/ehci-msm.c | 9 ++------- 2 files changed, 4 insertions(+), 9 deletions(-)
diff --git a/board/qualcomm/dragonboard410c/dragonboard410c.c b/board/qualcomm/dragonboard410c/dragonboard410c.c index e7ead57f0d..679eab759a 100644 --- a/board/qualcomm/dragonboard410c/dragonboard410c.c +++ b/board/qualcomm/dragonboard410c/dragonboard410c.c @@ -41,7 +41,7 @@ int dram_init_banksize(void) return 0; }
-int board_prepare_usb(enum usb_init_type type) +int board_usb_init(int index, enum usb_init_type init) { static struct udevice *pmic_gpio; static struct gpio_desc hub_reset, usb_sel; @@ -90,7 +90,7 @@ int board_prepare_usb(enum usb_init_type type) } }
if (type == USB_INIT_HOST) {
if (init == USB_INIT_HOST) { /* Start USB Hub */ dm_gpio_set_dir_flags(&hub_reset, GPIOD_IS_OUT | GPIOD_IS_OUT_ACTIVE);
Obvious question -- can this not be started by some regulator ? Then this board hook can go away altogether.
By regulator do you mean pinctrl framework ?
Yes, something which would allow you to get rid of this board stuff altogether.
participants (3)
-
Marek Vasut
-
Marek Vasut
-
Ramon Fried