forked from Minki/linux
fb3967b95c
Now that the SPDX tag is in all USB files, that identifies the license in a specific and legally-defined manner. So the extra GPL text wording can be removed as it is no longer needed at all. This is done on a quest to remove the 700+ different ways that files in the kernel describe the GPL license text. And there's unneeded stuff like the address (sometimes incorrect) for the FSF which is never needed. No copyright headers or other non-license-description text was removed. Cc: Thierry Reding <thierry.reding@gmail.com> Cc: Jonathan Hunter <jonathanh@nvidia.com> Acked-by: Felipe Balbi <felipe.balbi@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
44 lines
1.1 KiB
C
44 lines
1.1 KiB
C
// SPDX-License-Identifier: GPL-2.0+
|
|
/*
|
|
* USB of helper code
|
|
*/
|
|
|
|
#include <linux/kernel.h>
|
|
#include <linux/module.h>
|
|
#include <linux/of.h>
|
|
#include <linux/usb/of.h>
|
|
#include <linux/usb/otg.h>
|
|
|
|
static const char *const usbphy_modes[] = {
|
|
[USBPHY_INTERFACE_MODE_UNKNOWN] = "",
|
|
[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_usb_get_phy_mode - Get phy mode for given device_node
|
|
* @np: Pointer to the given device_node
|
|
*
|
|
* The function gets phy interface string from property 'phy_type',
|
|
* and returns the corresponding enum usb_phy_interface
|
|
*/
|
|
enum usb_phy_interface of_usb_get_phy_mode(struct device_node *np)
|
|
{
|
|
const char *phy_type;
|
|
int err, i;
|
|
|
|
err = of_property_read_string(np, "phy_type", &phy_type);
|
|
if (err < 0)
|
|
return USBPHY_INTERFACE_MODE_UNKNOWN;
|
|
|
|
for (i = 0; i < ARRAY_SIZE(usbphy_modes); i++)
|
|
if (!strcmp(phy_type, usbphy_modes[i]))
|
|
return i;
|
|
|
|
return USBPHY_INTERFACE_MODE_UNKNOWN;
|
|
}
|
|
EXPORT_SYMBOL_GPL(of_usb_get_phy_mode);
|