Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 63863b98 authored by Heikki Krogerus's avatar Heikki Krogerus Committed by Felipe Balbi
Browse files

usb: common: of_usb_get_maximum_speed to usb_get_maximum_speed



By using the unified device property interface, the function
can be made available for all platforms and not just the
ones using DT.

Signed-off-by: default avatarHeikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
parent 58efd4b0
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -648,7 +648,7 @@ static int ci_get_platdata(struct device *dev,
			return ret;
	}

	if (of_usb_get_maximum_speed(dev->of_node) == USB_SPEED_FULL)
	if (usb_get_maximum_speed(dev) == USB_SPEED_FULL)
		platdata->flags |= CI_HDRC_FORCE_FULLSPEED;

	platdata->itc_setting = 1;
+18 −26
Original line number Diff line number Diff line
@@ -60,6 +60,24 @@ const char *usb_speed_string(enum usb_device_speed speed)
}
EXPORT_SYMBOL_GPL(usb_speed_string);

enum usb_device_speed usb_get_maximum_speed(struct device *dev)
{
	const char *maximum_speed;
	int err;
	int i;

	err = device_property_read_string(dev, "maximum-speed", &maximum_speed);
	if (err < 0)
		return USB_SPEED_UNKNOWN;

	for (i = 0; i < ARRAY_SIZE(speed_names); i++)
		if (strcmp(maximum_speed, speed_names[i]) == 0)
			return i;

	return USB_SPEED_UNKNOWN;
}
EXPORT_SYMBOL_GPL(usb_get_maximum_speed);

const char *usb_state_string(enum usb_device_state state)
{
	static const char *const names[] = {
@@ -113,32 +131,6 @@ enum usb_dr_mode of_usb_get_dr_mode(struct device_node *np)
}
EXPORT_SYMBOL_GPL(of_usb_get_dr_mode);

/**
 * of_usb_get_maximum_speed - Get maximum requested speed for a given USB
 * controller.
 * @np: Pointer to the given device_node
 *
 * The function gets the maximum speed string from property "maximum-speed",
 * and returns the corresponding enum usb_device_speed.
 */
enum usb_device_speed of_usb_get_maximum_speed(struct device_node *np)
{
	const char *maximum_speed;
	int err;
	int i;

	err = of_property_read_string(np, "maximum-speed", &maximum_speed);
	if (err < 0)
		return USB_SPEED_UNKNOWN;

	for (i = 0; i < ARRAY_SIZE(speed_names); i++)
		if (strcmp(maximum_speed, speed_names[i]) == 0)
			return i;

	return USB_SPEED_UNKNOWN;
}
EXPORT_SYMBOL_GPL(of_usb_get_maximum_speed);

/**
 * of_usb_host_tpl_support - to get if Targeted Peripheral List is supported
 * for given targeted hosts (non-PC hosts)
+2 −1
Original line number Diff line number Diff line
@@ -870,8 +870,9 @@ static int dwc3_probe(struct platform_device *pdev)
	 */
	hird_threshold = 12;

	dwc->maximum_speed = usb_get_maximum_speed(dev);

	if (node) {
		dwc->maximum_speed = of_usb_get_maximum_speed(node);
		dwc->has_lpm_erratum = of_property_read_bool(node,
				"snps,has-lpm-erratum");
		of_property_read_u8(node, "snps,lpm-nyet-threshold",
+1 −1
Original line number Diff line number Diff line
@@ -747,7 +747,7 @@ static int dsps_create_musb_pdev(struct dsps_glue *glue,
	if (!ret && val)
		config->multipoint = true;

	config->maximum_speed = of_usb_get_maximum_speed(dn);
	config->maximum_speed = usb_get_maximum_speed(&parent->dev);
	switch (config->maximum_speed) {
	case USB_SPEED_LOW:
	case USB_SPEED_FULL:
+10 −1
Original line number Diff line number Diff line
@@ -32,9 +32,9 @@
#ifndef __LINUX_USB_CH9_H
#define __LINUX_USB_CH9_H

#include <linux/device.h>
#include <uapi/linux/usb/ch9.h>


/**
 * usb_speed_string() - Returns human readable-name of the speed.
 * @speed: The speed to return human-readable name for.  If it's not
@@ -43,6 +43,15 @@
 */
extern const char *usb_speed_string(enum usb_device_speed speed);

/**
 * usb_get_maximum_speed - Get maximum requested speed for a given USB
 * controller.
 * @dev: Pointer to the given USB controller device
 *
 * The function gets the maximum speed string from property "maximum-speed",
 * and returns the corresponding enum usb_device_speed.
 */
extern enum usb_device_speed usb_get_maximum_speed(struct device *dev);

/**
 * usb_state_string - Returns human readable name for the state.
Loading