All of lore.kernel.org
 help / color / mirror / Atom feed
From: kishon@ti.com (kishon)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/6] usb: add devicetree helpers for determining dr_mode and phy_type
Date: Thu, 31 Jan 2013 11:44:21 +0530	[thread overview]
Message-ID: <510A0BBD.6090209@ti.com> (raw)
In-Reply-To: <1359559782-14552-3-git-send-email-s.hauer@pengutronix.de>

Hi,

On Wednesday 30 January 2013 08:59 PM, Sascha Hauer wrote:
> From: Michael Grzeschik <m.grzeschik@pengutronix.de>
>
> This adds two little devicetree helper functions for determining the
> dr_mode (host, peripheral, otg) and phy_type (utmi, ulpi,...) from
> the devicetree.
>
> Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
> ---
>   drivers/usb/usb-common.c |   69 ++++++++++++++++++++++++++++++++++++++++++++++
>   include/linux/usb/of.h   |   27 ++++++++++++++++++
>   include/linux/usb/otg.h  |    7 +++++
>   include/linux/usb/phy.h  |    9 ++++++
>   4 files changed, 112 insertions(+)
>   create mode 100644 include/linux/usb/of.h
>
> diff --git a/drivers/usb/usb-common.c b/drivers/usb/usb-common.c
> index d29503e..1c0292c 100644
> --- a/drivers/usb/usb-common.c
> +++ b/drivers/usb/usb-common.c
> @@ -14,6 +14,9 @@
>   #include <linux/kernel.h>
>   #include <linux/module.h>
>   #include <linux/usb/ch9.h>
> +#include <linux/of.h>
> +#include <linux/usb/of.h>
> +#include <linux/usb/otg.h>
>
>   const char *usb_speed_string(enum usb_device_speed speed)
>   {
> @@ -32,4 +35,70 @@ const char *usb_speed_string(enum usb_device_speed speed)
>   }
>   EXPORT_SYMBOL_GPL(usb_speed_string);
>
> +#ifdef CONFIG_OF
> +static const char *usb_dr_modes[] = {
> +	[USB_DR_MODE_UNKNOWN]		= "",
> +	[USB_DR_MODE_HOST]		= "host",
> +	[USB_DR_MODE_PERIPHERAL]	= "peripheral",
> +	[USB_DR_MODE_OTG]		= "otg",
> +};
> +
> +/**
> + * of_usb_get_dr_mode - Get dual role mode for given device_node
> + * @np:	Pointer to the given device_node
> + *
> + * The function gets phy interface string from property 'dr_mode',
> + * and returns the correspondig enum usb_phy_dr_mode
> + */
> +enum usb_phy_dr_mode of_usb_get_dr_mode(struct device_node *np)
> +{
> +	const char *dr_mode;
> +	int err, i;
> +
> +	err = of_property_read_string(np, "dr_mode", &dr_mode);
> +	if (err < 0)
> +		return USB_DR_MODE_UNKNOWN;
> +
> +	for (i = 0; i < ARRAY_SIZE(usb_dr_modes); i++)
> +		if (!strcasecmp(dr_mode, usb_dr_modes[i]))
> +			return i;
> +
> +	return USB_DR_MODE_UNKNOWN;
> +}
> +EXPORT_SYMBOL_GPL(of_usb_get_dr_mode);
> +
> +static const char *usbphy_modes[] = {
> +	[USBPHY_INTERFACE_MODE_NA]	= "",
> +	[USBPHY_INTERFACE_MODE_UTMI]	= "utmi",
> +	[USBPHY_INTERFACE_MODE_UTMIW]	= "utmi_wide",
> +	[USBPHY_INTERFACE_MODE_ULPI]	= "ulpi",
> +	[USBPHY_INTERFACE_MODE_SERIAL]	= "serial",
> +	[USBPHY_INTERFACE_MODE_HSIC]	= "hsic",
> +};
> +
> +/**
> + * of_get_usbphy_mode - Get phy mode for given device_node

%s/of_get_usbphy_mode/of_usb_get_phy_mode
> + * @np:	Pointer to the given device_node
> + *
> + * The function gets phy interface string from property 'phy_type',
> + * and returns the correspondig enum usb_phy_interface
> + */
> +enum usb_phy_interface of_usb_get_phy_mode(struct device_node *np)
> +{

You agreed to move this function inside usb/phy.. no?

Thanks
Kishon

  parent reply	other threads:[~2013-01-31  6:14 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-30 15:29 [PATCH] Add USB of helpers and use them in the chipidea driver Sascha Hauer
2013-01-30 15:29 ` [PATCH 1/6] USB: move bulk of otg/otg.c to phy/phy.c Sascha Hauer
2013-01-31  2:16   ` Peter Chen
2013-01-30 15:29 ` [PATCH 2/6] usb: add devicetree helpers for determining dr_mode and phy_type Sascha Hauer
2013-01-31  2:30   ` Peter Chen
2013-01-31  8:05     ` Sascha Hauer
2013-01-31  6:14   ` kishon [this message]
2013-01-31  7:43     ` Sascha Hauer
2013-01-31  8:17       ` kishon
2013-01-30 15:29 ` [PATCH 3/6] usb: chipidea: ci13xxx-imx: create dynamic platformdata Sascha Hauer
2013-01-30 15:29 ` [PATCH 4/6] usb: chipidea: add PTW and PTS handling Sascha Hauer
2013-01-30 16:54   ` Matthieu CASTET
2013-01-30 19:33     ` Sascha Hauer
2013-01-31  9:15       ` Matthieu CASTET
2013-01-31  9:42         ` Sascha Hauer
2013-01-31  3:08   ` Peter Chen
2013-01-31  7:45     ` Sascha Hauer
2013-01-30 15:29 ` [PATCH 5/6] USB chipidea: introduce dual role mode pdata flags Sascha Hauer
2013-01-30 15:29 ` [PATCH 6/6] USB chipidea i.MX: introduce dr_mode property Sascha Hauer
  -- strict thread matches above, loose matches on Subject: below --
2013-01-31  9:01 [PATCH v2] Add USB of helpers and use them in the chipidea driver Sascha Hauer
2013-01-31  9:01 ` [PATCH 2/6] USB: add devicetree helpers for determining dr_mode and phy_type Sascha Hauer
2013-01-31  9:12   ` kishon
2013-01-31  9:28     ` Sascha Hauer
2013-01-31  9:30       ` kishon
2013-01-31  9:20   ` Greg KH
2013-01-31  9:26     ` Sascha Hauer
2013-01-31 10:01   ` Peter Chen
2013-01-31 10:12     ` Sascha Hauer

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=510A0BBD.6090209@ti.com \
    --to=kishon@ti.com \
    --cc=linux-arm-kernel@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.