From: Sam Ravnborg <sam@ravnborg.org>
To: Andrey Smirnov <andrew.smirnov@gmail.com>
Cc: barebox@lists.infradead.org
Subject: Re: [PATCH 35/45] usb: ohci-at91: Add DT support
Date: Tue, 7 Mar 2017 17:40:00 +0100 [thread overview]
Message-ID: <20170307164000.GC26868@ravnborg.org> (raw)
In-Reply-To: <20170306225356.31475-36-andrew.smirnov@gmail.com>
On Mon, Mar 06, 2017 at 02:53:46PM -0800, Andrey Smirnov wrote:
> Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
> ---
> arch/arm/mach-at91/include/mach/board.h | 6 ++-
> drivers/usb/host/ohci-at91.c | 84 ++++++++++++++++++++++++++++++++-
> 2 files changed, 86 insertions(+), 4 deletions(-)
>
> diff --git a/arch/arm/mach-at91/include/mach/board.h b/arch/arm/mach-at91/include/mach/board.h
> index 491b220..5d76e00 100644
> --- a/arch/arm/mach-at91/include/mach/board.h
> +++ b/arch/arm/mach-at91/include/mach/board.h
> @@ -32,11 +32,13 @@
>
> void at91_set_main_clock(unsigned long rate);
>
> +#define AT91_MAX_USBH_PORTS 3
> +
> /* USB Host */
> struct at91_usbh_data {
> u8 ports; /* number of ports on root hub */
> - int vbus_pin[2]; /* port power-control pin */
> - u8 vbus_pin_active_low[2]; /* vbus polarity */
> + int vbus_pin[AT91_MAX_USBH_PORTS]; /* port power-control pin */
> + u8 vbus_pin_active_low[AT91_MAX_USBH_PORTS]; /* vbus polarity */
> };
> extern void __init at91_add_device_usbh_ohci(struct at91_usbh_data *data);
> extern void __init at91_add_device_usbh_ehci(struct at91_usbh_data *data);
> diff --git a/drivers/usb/host/ohci-at91.c b/drivers/usb/host/ohci-at91.c
> index f413616..54fe45f 100644
> --- a/drivers/usb/host/ohci-at91.c
> +++ b/drivers/usb/host/ohci-at91.c
> @@ -23,10 +23,18 @@
> #include <usb/usb.h>
> #include <usb/usb_defs.h>
> #include <errno.h>
> +#include <gpio.h>
> +#include <of_gpio.h>
> #include <io.h>
>
> +#include <mach/board.h>
> +
> #include "ohci.h"
>
> +#define at91_for_each_port(index) \
> + for ((index) = 0; (index) < AT91_MAX_USBH_PORTS; (index)++)
> +
> +
> struct ohci_at91_priv {
> struct device_d *dev;
> struct clk *iclk;
> @@ -59,6 +67,53 @@ static void at91_stop_clock(struct ohci_at91_priv *ohci_at91)
> clk_disable(ohci_at91->iclk);
> }
>
> +static void at91_ohci_probe_dt(struct device_d *dev)
> +{
> + u32 ports;
> + int i, ret, gpio;
> + enum of_gpio_flags flags;
> + struct at91_usbh_data *pdata;
> + struct device_node *np = dev->device_node;
> +
> + pdata = xzalloc(sizeof(*pdata));
> + dev->platform_data = pdata;
> +
> + if (!of_property_read_u32(np, "num-ports", &ports))
> + pdata->ports = ports;
If we fail to read "num-ports" then we will fail in the following when dereferencing pdata->ports
> +
> + at91_for_each_port(i) {
> + /*
> + * do not configure PIO if not in relation with
> + * real USB port on board
> + */
> + if (i >= pdata->ports) {
^ here
> + pdata->vbus_pin[i] = -EINVAL;
> + continue;
> + }
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
next prev parent reply other threads:[~2017-03-07 16:40 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-06 22:53 [PATCH 00/45] AT91, at91sam9x5ek updates Andrey Smirnov
2017-03-06 22:53 ` [PATCH 01/45] at91: Fix bug/typo in debug_ll.h Andrey Smirnov
2017-03-06 22:53 ` [PATCH 02/45] at91sam9x5ek: Convert to mult-image build Andrey Smirnov
2017-03-06 22:53 ` [PATCH 03/45] at91sam9x5ek: Add CONFIG_KALLSYMS to defconfig Andrey Smirnov
2017-03-06 22:53 ` [PATCH 04/45] at91sam9x5ek: Add preliminary device tree support Andrey Smirnov
2017-03-06 22:53 ` [PATCH 05/45] clocksource: at91: Move to 'drivers/clocksource' Andrey Smirnov
2017-03-06 22:53 ` [PATCH 06/45] clocksource: at91: Add DT compatibility table Andrey Smirnov
2017-03-06 22:53 ` [PATCH 07/45] serial: atmel: Check result of clk_get() Andrey Smirnov
2017-03-07 7:46 ` Sascha Hauer
2017-03-06 22:53 ` [PATCH 08/45] serial: atmel: Add DT compatibility table Andrey Smirnov
2017-03-06 22:53 ` [PATCH 09/45] regmap: Implement syscon_node_to_regmap() Andrey Smirnov
2017-03-06 22:53 ` [PATCH 10/45] clk: Port two helper functions from Linux Andrey Smirnov
2017-03-06 22:53 ` [PATCH 11/45] clk: Make COMMON_CLK_OF_PROVIDER depend on OFTREE Andrey Smirnov
2017-03-06 22:53 ` [PATCH 12/45] clk: No-op CLK_OF_DECLARE if not enabled Andrey Smirnov
2017-03-06 22:53 ` [PATCH 13/45] clk: at91: Port at91 DT clock code Andrey Smirnov
2017-03-06 22:53 ` [PATCH 14/45] at91sam9x5ek: Convert to use DT clock tree Andrey Smirnov
2017-03-06 22:53 ` [PATCH 15/45] at91sam9x5ek: Remove at91sam9x5ek_mem_init() Andrey Smirnov
2017-03-06 22:53 ` [PATCH 16/45] at91sam9x5ek: Configure LEDs in DT Andrey Smirnov
2017-03-06 22:53 ` [PATCH 17/45] pinctrl-at91: Fix a bug in at91_pinctrl_set_conf() Andrey Smirnov
2017-03-06 22:53 ` [PATCH 18/45] at91: Enable PINCTRL for SOC_AT91SAM9 Andrey Smirnov
2017-03-06 22:53 ` [PATCH 19/45] at91sam9x5ek: Configure I2C via DT Andrey Smirnov
2017-03-06 22:53 ` [PATCH 20/45] mci: Allow parsing for explicit DT node Andrey Smirnov
2017-03-06 22:53 ` [PATCH 21/45] mci: atmel_mci: Add DT support Andrey Smirnov
2017-03-06 22:53 ` [PATCH 22/45] at91sam9x5ek: Configure MMC in DT Andrey Smirnov
2017-03-06 22:53 ` [PATCH 23/45] of: base: Use scoring in DT device matching Andrey Smirnov
2017-03-06 22:53 ` [PATCH 24/45] pinctrl: at91: Fix a bug in at91_pinctrl_set_state Andrey Smirnov
2017-03-06 22:53 ` [PATCH 25/45] pinctrl: at91: Implement .get_direction hook Andrey Smirnov
2017-03-06 22:53 ` [PATCH 26/45] spi: atmel_spi: Add DT support Andrey Smirnov
2017-03-06 22:53 ` [PATCH 27/45] spi: atmel_spi: Configure CS GPIO as output Andrey Smirnov
2017-03-06 22:53 ` [PATCH 28/45] spi: atmel_spi: Use VERSION register instead of CPU type Andrey Smirnov
2017-03-06 22:53 ` [PATCH 29/45] at91sam9x5ek: Configure SPI in DT Andrey Smirnov
2017-03-06 22:53 ` [PATCH 30/45] w1-gpio: Add DT support Andrey Smirnov
2017-03-06 22:53 ` [PATCH 31/45] at91sam9x5ek: Configure 1-wire in DT Andrey Smirnov
2017-03-06 22:53 ` [PATCH 32/45] usb: ohci-at91: Check result of clk_get() Andrey Smirnov
2017-03-07 16:35 ` Sam Ravnborg
2017-03-07 21:21 ` Andrey Smirnov
2017-03-07 21:52 ` Sam Ravnborg
2017-03-06 22:53 ` [PATCH 33/45] usb: ohci-at91: Convert global variables to private data Andrey Smirnov
2017-03-06 22:53 ` [PATCH 34/45] usb: ohci-at91: Check result of clk_enable() Andrey Smirnov
2017-03-06 22:53 ` [PATCH 35/45] usb: ohci-at91: Add DT support Andrey Smirnov
2017-03-07 16:40 ` Sam Ravnborg [this message]
2017-03-06 22:53 ` [PATCH 36/45] usb/host: Allow USB_OHCI_AT91 even if USB_OHCI is disabled Andrey Smirnov
2017-03-06 22:53 ` [PATCH 37/45] usb: ehci-atmel: Check result of clk_enable() Andrey Smirnov
2017-03-06 22:53 ` [PATCH 38/45] usb: echi-atmel: Convert global variables to private data Andrey Smirnov
2017-03-06 22:53 ` [PATCH 39/45] usb: ehci-atmel: Zero ehci_data before using it Andrey Smirnov
2017-03-06 22:53 ` [PATCH 40/45] usb: echi-atmel: Check result of ehci_register() Andrey Smirnov
2017-03-06 22:53 ` [PATCH 41/45] usb: echi-atmel: Add DT support Andrey Smirnov
2017-03-06 22:53 ` [PATCH 42/45] at91sam9x5ek: Configure USB in DT Andrey Smirnov
2017-03-06 22:53 ` [PATCH 43/45] net: macb: Add DT support Andrey Smirnov
2017-03-06 22:53 ` [PATCH 44/45] at91sam9x5ek: Configure Ethernet in DT Andrey Smirnov
2017-03-06 22:53 ` [PATCH 45/45] at91sam9x5ek: Configure NAND " Andrey Smirnov
2017-03-07 8:13 ` [PATCH 00/45] AT91, at91sam9x5ek updates Sascha Hauer
2017-03-07 21:09 ` Andrey Smirnov
2017-03-07 16:34 ` Sam Ravnborg
2017-03-07 16:56 ` Jean-Christophe PLAGNIOL-VILLARD
2017-03-07 20:58 ` Sam Ravnborg
2017-03-07 21:18 ` Andrey Smirnov
2017-03-07 21:47 ` Jean-Christophe PLAGNIOL-VILLARD
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170307164000.GC26868@ravnborg.org \
--to=sam@ravnborg.org \
--cc=andrew.smirnov@gmail.com \
--cc=barebox@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.