* [PATCH v2] usb:dummy_hcd: Force FS device connection according to module parameter
@ 2011-06-09 15:56 ` Tatyana Brokhman
0 siblings, 0 replies; 8+ messages in thread
From: Tatyana Brokhman @ 2011-06-09 15:56 UTC (permalink / raw)
To: greg; +Cc: linux-usb, linux-arm-msm, balbi, ablay, Tatyana Brokhman, open list
This patch adds a new module parameter to dummy_hcd: is_high_speed
When set to false the connected device will be forced to operate in FS
mode. The default of this parameter is true.
Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>
---
drivers/usb/gadget/dummy_hcd.c | 20 +++++++++++++++-----
1 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/drivers/usb/gadget/dummy_hcd.c b/drivers/usb/gadget/dummy_hcd.c
index f0cdd13..cb1e0fa 100644
--- a/drivers/usb/gadget/dummy_hcd.c
+++ b/drivers/usb/gadget/dummy_hcd.c
@@ -72,13 +72,17 @@ MODULE_LICENSE ("GPL");
struct dummy_hcd_module_parameters {
bool is_super_speed;
+ bool is_high_speed;
};
static struct dummy_hcd_module_parameters mod_data = {
- .is_super_speed = false
+ .is_super_speed = false,
+ .is_high_speed = true,
};
module_param_named(is_super_speed, mod_data.is_super_speed, bool, S_IRUGO);
MODULE_PARM_DESC(is_super_speed, "true to simulate SuperSpeed connection");
+module_param_named(is_high_speed, mod_data.is_high_speed, bool, S_IRUGO);
+MODULE_PARM_DESC(is_high_speed, "true to simulate HighSpeed connection");
/*-------------------------------------------------------------------------*/
/* gadget side driver data structres */
@@ -904,12 +908,15 @@ usb_gadget_probe_driver(struct usb_gadget_driver *driver,
dum->gadget.ep0 = &dum->ep [0].ep;
if (mod_data.is_super_speed)
dum->gadget.speed = driver->speed;
- else
+ else if (mod_data.is_high_speed)
dum->gadget.speed = min((u8)USB_SPEED_HIGH, (u8)driver->speed);
+ else
+ dum->gadget.speed = USB_SPEED_FULL;
if (dum->gadget.speed < driver->speed)
- dev_dbg(udc_dev(dum), "This device can perform faster if"
- " you connect it to a "
- "SupeSpeed port...\n");
+ dev_dbg(udc_dev(dum), "This device can perform faster"
+ " if you connect it to a %s port...\n",
+ (driver->speed == USB_SPEED_SUPER ?
+ "SuperSpeed" : "HighSpeed"));
if (dum->gadget.speed == USB_SPEED_SUPER) {
for (i = 0; i < DUMMY_ENDPOINTS; i++)
@@ -2417,6 +2424,9 @@ static int __init init (void)
if (usb_disabled ())
return -ENODEV;
+ if (!mod_data.is_high_speed && mod_data.is_super_speed)
+ return -EINVAL;
+
the_hcd_pdev = platform_device_alloc(driver_name, -1);
if (!the_hcd_pdev)
return retval;
--
1.7.3.3
--
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v2] usb:dummy_hcd: Force FS device connection according to module parameter
@ 2011-06-09 15:56 ` Tatyana Brokhman
0 siblings, 0 replies; 8+ messages in thread
From: Tatyana Brokhman @ 2011-06-09 15:56 UTC (permalink / raw)
To: greg; +Cc: linux-usb, linux-arm-msm, balbi, ablay, Tatyana Brokhman, open list
This patch adds a new module parameter to dummy_hcd: is_high_speed
When set to false the connected device will be forced to operate in FS
mode. The default of this parameter is true.
Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>
---
drivers/usb/gadget/dummy_hcd.c | 20 +++++++++++++++-----
1 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/drivers/usb/gadget/dummy_hcd.c b/drivers/usb/gadget/dummy_hcd.c
index f0cdd13..cb1e0fa 100644
--- a/drivers/usb/gadget/dummy_hcd.c
+++ b/drivers/usb/gadget/dummy_hcd.c
@@ -72,13 +72,17 @@ MODULE_LICENSE ("GPL");
struct dummy_hcd_module_parameters {
bool is_super_speed;
+ bool is_high_speed;
};
static struct dummy_hcd_module_parameters mod_data = {
- .is_super_speed = false
+ .is_super_speed = false,
+ .is_high_speed = true,
};
module_param_named(is_super_speed, mod_data.is_super_speed, bool, S_IRUGO);
MODULE_PARM_DESC(is_super_speed, "true to simulate SuperSpeed connection");
+module_param_named(is_high_speed, mod_data.is_high_speed, bool, S_IRUGO);
+MODULE_PARM_DESC(is_high_speed, "true to simulate HighSpeed connection");
/*-------------------------------------------------------------------------*/
/* gadget side driver data structres */
@@ -904,12 +908,15 @@ usb_gadget_probe_driver(struct usb_gadget_driver *driver,
dum->gadget.ep0 = &dum->ep [0].ep;
if (mod_data.is_super_speed)
dum->gadget.speed = driver->speed;
- else
+ else if (mod_data.is_high_speed)
dum->gadget.speed = min((u8)USB_SPEED_HIGH, (u8)driver->speed);
+ else
+ dum->gadget.speed = USB_SPEED_FULL;
if (dum->gadget.speed < driver->speed)
- dev_dbg(udc_dev(dum), "This device can perform faster if"
- " you connect it to a "
- "SupeSpeed port...\n");
+ dev_dbg(udc_dev(dum), "This device can perform faster"
+ " if you connect it to a %s port...\n",
+ (driver->speed == USB_SPEED_SUPER ?
+ "SuperSpeed" : "HighSpeed"));
if (dum->gadget.speed == USB_SPEED_SUPER) {
for (i = 0; i < DUMMY_ENDPOINTS; i++)
@@ -2417,6 +2424,9 @@ static int __init init (void)
if (usb_disabled ())
return -ENODEV;
+ if (!mod_data.is_high_speed && mod_data.is_super_speed)
+ return -EINVAL;
+
the_hcd_pdev = platform_device_alloc(driver_name, -1);
if (!the_hcd_pdev)
return retval;
--
1.7.3.3
--
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v2] usb:dummy_hcd: Force FS device connection according to module parameter
2011-06-09 15:56 ` Tatyana Brokhman
@ 2011-06-09 18:51 ` Alan Stern
-1 siblings, 0 replies; 8+ messages in thread
From: Alan Stern @ 2011-06-09 18:51 UTC (permalink / raw)
To: Tatyana Brokhman; +Cc: greg, linux-usb, linux-arm-msm, balbi, ablay, open list
On Thu, 9 Jun 2011, Tatyana Brokhman wrote:
> This patch adds a new module parameter to dummy_hcd: is_high_speed
> When set to false the connected device will be forced to operate in FS
> mode. The default of this parameter is true.
...
> @@ -904,12 +908,15 @@ usb_gadget_probe_driver(struct usb_gadget_driver *driver,
> dum->gadget.ep0 = &dum->ep [0].ep;
> if (mod_data.is_super_speed)
> dum->gadget.speed = driver->speed;
> - else
> + else if (mod_data.is_high_speed)
> dum->gadget.speed = min((u8)USB_SPEED_HIGH, (u8)driver->speed);
Use min_t().
> + else
> + dum->gadget.speed = USB_SPEED_FULL;
> if (dum->gadget.speed < driver->speed)
> - dev_dbg(udc_dev(dum), "This device can perform faster if"
> - " you connect it to a "
> - "SupeSpeed port...\n");
> + dev_dbg(udc_dev(dum), "This device can perform faster"
> + " if you connect it to a %s port...\n",
> + (driver->speed == USB_SPEED_SUPER ?
> + "SuperSpeed" : "HighSpeed"));
>
> if (dum->gadget.speed == USB_SPEED_SUPER) {
> for (i = 0; i < DUMMY_ENDPOINTS; i++)
> @@ -2417,6 +2424,9 @@ static int __init init (void)
> if (usb_disabled ())
> return -ENODEV;
>
> + if (!mod_data.is_high_speed && mod_data.is_super_speed)
> + return -EINVAL;
Print an error message in the log so that the user will know why the
failure occurred.
Alan Stern
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2] usb:dummy_hcd: Force FS device connection according to module parameter
@ 2011-06-09 18:51 ` Alan Stern
0 siblings, 0 replies; 8+ messages in thread
From: Alan Stern @ 2011-06-09 18:51 UTC (permalink / raw)
To: Tatyana Brokhman; +Cc: greg, linux-usb, linux-arm-msm, balbi, ablay, open list
On Thu, 9 Jun 2011, Tatyana Brokhman wrote:
> This patch adds a new module parameter to dummy_hcd: is_high_speed
> When set to false the connected device will be forced to operate in FS
> mode. The default of this parameter is true.
...
> @@ -904,12 +908,15 @@ usb_gadget_probe_driver(struct usb_gadget_driver *driver,
> dum->gadget.ep0 = &dum->ep [0].ep;
> if (mod_data.is_super_speed)
> dum->gadget.speed = driver->speed;
> - else
> + else if (mod_data.is_high_speed)
> dum->gadget.speed = min((u8)USB_SPEED_HIGH, (u8)driver->speed);
Use min_t().
> + else
> + dum->gadget.speed = USB_SPEED_FULL;
> if (dum->gadget.speed < driver->speed)
> - dev_dbg(udc_dev(dum), "This device can perform faster if"
> - " you connect it to a "
> - "SupeSpeed port...\n");
> + dev_dbg(udc_dev(dum), "This device can perform faster"
> + " if you connect it to a %s port...\n",
> + (driver->speed == USB_SPEED_SUPER ?
> + "SuperSpeed" : "HighSpeed"));
>
> if (dum->gadget.speed == USB_SPEED_SUPER) {
> for (i = 0; i < DUMMY_ENDPOINTS; i++)
> @@ -2417,6 +2424,9 @@ static int __init init (void)
> if (usb_disabled ())
> return -ENODEV;
>
> + if (!mod_data.is_high_speed && mod_data.is_super_speed)
> + return -EINVAL;
Print an error message in the log so that the user will know why the
failure occurred.
Alan Stern
^ permalink raw reply [flat|nested] 8+ messages in thread
* RE: [PATCH v2] usb:dummy_hcd: Force FS device connection according to module parameter
2011-06-09 18:51 ` Alan Stern
@ 2011-06-09 20:56 ` Tanya Brokhman
-1 siblings, 0 replies; 8+ messages in thread
From: Tanya Brokhman @ 2011-06-09 20:56 UTC (permalink / raw)
To: 'Alan Stern'
Cc: greg, linux-usb, linux-arm-msm, balbi, ablay, 'open list'
> > @@ -904,12 +908,15 @@ usb_gadget_probe_driver(struct
> usb_gadget_driver *driver,
> > dum->gadget.ep0 = &dum->ep [0].ep;
> > if (mod_data.is_super_speed)
> > dum->gadget.speed = driver->speed;
> > - else
> > + else if (mod_data.is_high_speed)
> > dum->gadget.speed = min((u8)USB_SPEED_HIGH, (u8)driver-
> >speed);
>
> Use min_t().
Ok, will update.
>
> > + else
> > + dum->gadget.speed = USB_SPEED_FULL;
> > if (dum->gadget.speed < driver->speed)
> > - dev_dbg(udc_dev(dum), "This device can perform faster if"
> > - " you connect it to a "
> > - "SupeSpeed port...\n");
> > + dev_dbg(udc_dev(dum), "This device can perform faster"
> > + " if you connect it to a %s port...\n",
> > + (driver->speed == USB_SPEED_SUPER ?
> > + "SuperSpeed" : "HighSpeed"));
> >
> > if (dum->gadget.speed == USB_SPEED_SUPER) {
> > for (i = 0; i < DUMMY_ENDPOINTS; i++)
> > @@ -2417,6 +2424,9 @@ static int __init init (void)
> > if (usb_disabled ())
> > return -ENODEV;
> >
> > + if (!mod_data.is_high_speed && mod_data.is_super_speed)
> > + return -EINVAL;
>
> Print an error message in the log so that the user will know why the
> failure occurred.
>
But when the module fails to load the message sais that it's invalid
parameter (or something like that). That's why I thought it will be enough.
You mean to add something that explains WHY these values are wrong?
Thanks,
Tanya Brokhman
---
Sent by an consultant of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.
^ permalink raw reply [flat|nested] 8+ messages in thread
* RE: [PATCH v2] usb:dummy_hcd: Force FS device connection according to module parameter
@ 2011-06-09 20:56 ` Tanya Brokhman
0 siblings, 0 replies; 8+ messages in thread
From: Tanya Brokhman @ 2011-06-09 20:56 UTC (permalink / raw)
To: 'Alan Stern'
Cc: greg, linux-usb, linux-arm-msm, balbi, ablay, 'open list'
> > @@ -904,12 +908,15 @@ usb_gadget_probe_driver(struct
> usb_gadget_driver *driver,
> > dum->gadget.ep0 = &dum->ep [0].ep;
> > if (mod_data.is_super_speed)
> > dum->gadget.speed = driver->speed;
> > - else
> > + else if (mod_data.is_high_speed)
> > dum->gadget.speed = min((u8)USB_SPEED_HIGH, (u8)driver-
> >speed);
>
> Use min_t().
Ok, will update.
>
> > + else
> > + dum->gadget.speed = USB_SPEED_FULL;
> > if (dum->gadget.speed < driver->speed)
> > - dev_dbg(udc_dev(dum), "This device can perform faster if"
> > - " you connect it to a "
> > - "SupeSpeed port...\n");
> > + dev_dbg(udc_dev(dum), "This device can perform faster"
> > + " if you connect it to a %s port...\n",
> > + (driver->speed == USB_SPEED_SUPER ?
> > + "SuperSpeed" : "HighSpeed"));
> >
> > if (dum->gadget.speed == USB_SPEED_SUPER) {
> > for (i = 0; i < DUMMY_ENDPOINTS; i++)
> > @@ -2417,6 +2424,9 @@ static int __init init (void)
> > if (usb_disabled ())
> > return -ENODEV;
> >
> > + if (!mod_data.is_high_speed && mod_data.is_super_speed)
> > + return -EINVAL;
>
> Print an error message in the log so that the user will know why the
> failure occurred.
>
But when the module fails to load the message sais that it's invalid
parameter (or something like that). That's why I thought it will be enough.
You mean to add something that explains WHY these values are wrong?
Thanks,
Tanya Brokhman
---
Sent by an consultant of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.
^ permalink raw reply [flat|nested] 8+ messages in thread
* RE: [PATCH v2] usb:dummy_hcd: Force FS device connection according to module parameter
2011-06-09 20:56 ` Tanya Brokhman
@ 2011-06-09 21:23 ` Alan Stern
-1 siblings, 0 replies; 8+ messages in thread
From: Alan Stern @ 2011-06-09 21:23 UTC (permalink / raw)
To: Tanya Brokhman
Cc: greg-U8xfFu+wG4EAvxtiuMwx3w, linux-usb-u79uwXL29TY76Z2rM5mHXA,
linux-arm-msm-u79uwXL29TY76Z2rM5mHXA, balbi-l0cyMroinI0,
ablay-sgV2jX0FEOL9JmXXK+q4OQ, 'open list'
On Thu, 9 Jun 2011, Tanya Brokhman wrote:
> > > + if (!mod_data.is_high_speed && mod_data.is_super_speed)
> > > + return -EINVAL;
> >
> > Print an error message in the log so that the user will know why the
> > failure occurred.
> >
>
> But when the module fails to load the message sais that it's invalid
> parameter (or something like that). That's why I thought it will be enough.
Oh yes, that's true.
> You mean to add something that explains WHY these values are wrong?
That's what I had in mind. But "invalid parameter" is probably good
enough, since these are the _only_ parameters. :-) So this part is
okay as it stands.
Alan Stern
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 8+ messages in thread
* RE: [PATCH v2] usb:dummy_hcd: Force FS device connection according to module parameter
@ 2011-06-09 21:23 ` Alan Stern
0 siblings, 0 replies; 8+ messages in thread
From: Alan Stern @ 2011-06-09 21:23 UTC (permalink / raw)
To: Tanya Brokhman
Cc: greg, linux-usb, linux-arm-msm, balbi, ablay, 'open list'
On Thu, 9 Jun 2011, Tanya Brokhman wrote:
> > > + if (!mod_data.is_high_speed && mod_data.is_super_speed)
> > > + return -EINVAL;
> >
> > Print an error message in the log so that the user will know why the
> > failure occurred.
> >
>
> But when the module fails to load the message sais that it's invalid
> parameter (or something like that). That's why I thought it will be enough.
Oh yes, that's true.
> You mean to add something that explains WHY these values are wrong?
That's what I had in mind. But "invalid parameter" is probably good
enough, since these are the _only_ parameters. :-) So this part is
okay as it stands.
Alan Stern
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2011-06-09 21:23 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-06-09 15:56 [PATCH v2] usb:dummy_hcd: Force FS device connection according to module parameter Tatyana Brokhman
2011-06-09 15:56 ` Tatyana Brokhman
2011-06-09 18:51 ` Alan Stern
2011-06-09 18:51 ` Alan Stern
2011-06-09 20:56 ` Tanya Brokhman
2011-06-09 20:56 ` Tanya Brokhman
2011-06-09 21:23 ` Alan Stern
2011-06-09 21:23 ` Alan Stern
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.