usb: common: Weed out USB_**_PRINTFs from usb framework

USB_PRINTF, USB_HUB_PRINTF, USB_STOR_PRINTF, USB_KBD_PRINTF
are nothing but conditional debug prints, depending on DEBUG.
So better remove them and use debug() simply.

Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
This commit is contained in:
Vivek Gautam 2013-04-12 16:34:33 +05:30 committed by Marek Vasut
parent 7d9aa8fd87
commit ceb4972a8f
4 changed files with 241 additions and 283 deletions

View file

@ -57,17 +57,6 @@
#include <asm/4xx_pci.h>
#endif
#ifdef DEBUG
#define USB_DEBUG 1
#define USB_HUB_DEBUG 1
#else
#define USB_DEBUG 0
#define USB_HUB_DEBUG 0
#endif
#define USB_PRINTF(fmt, args...) debug_cond(USB_DEBUG, fmt, ##args)
#define USB_HUB_PRINTF(fmt, args...) debug_cond(USB_HUB_DEBUG, fmt, ##args)
#define USB_BUFSIZ 512
static struct usb_device usb_dev[USB_MAX_DEVICE];
@ -130,7 +119,7 @@ int usb_init(void)
usb_started = 1;
}
USB_PRINTF("scan end\n");
debug("scan end\n");
/* if we were not able to find at least one working bus, bail out */
if (!usb_started) {
puts("USB error: all controllers failed lowlevel init\n");
@ -216,9 +205,9 @@ int usb_control_msg(struct usb_device *dev, unsigned int pipe,
setup_packet->value = cpu_to_le16(value);
setup_packet->index = cpu_to_le16(index);
setup_packet->length = cpu_to_le16(size);
USB_PRINTF("usb_control_msg: request: 0x%X, requesttype: 0x%X, " \
"value 0x%X index 0x%X length 0x%X\n",
request, requesttype, value, index, size);
debug("usb_control_msg: request: 0x%X, requesttype: 0x%X, " \
"value 0x%X index 0x%X length 0x%X\n",
request, requesttype, value, index, size);
dev->status = USB_ST_NOT_PROC; /*not yet processed */
if (submit_control_msg(dev, pipe, data, size, setup_packet) < 0)
@ -314,22 +303,22 @@ usb_set_maxpacket_ep(struct usb_device *dev, int if_idx, int ep_idx)
/* Control => bidirectional */
dev->epmaxpacketout[b] = ep_wMaxPacketSize;
dev->epmaxpacketin[b] = ep_wMaxPacketSize;
USB_PRINTF("##Control EP epmaxpacketout/in[%d] = %d\n",
b, dev->epmaxpacketin[b]);
debug("##Control EP epmaxpacketout/in[%d] = %d\n",
b, dev->epmaxpacketin[b]);
} else {
if ((ep->bEndpointAddress & 0x80) == 0) {
/* OUT Endpoint */
if (ep_wMaxPacketSize > dev->epmaxpacketout[b]) {
dev->epmaxpacketout[b] = ep_wMaxPacketSize;
USB_PRINTF("##EP epmaxpacketout[%d] = %d\n",
b, dev->epmaxpacketout[b]);
debug("##EP epmaxpacketout[%d] = %d\n",
b, dev->epmaxpacketout[b]);
}
} else {
/* IN Endpoint */
if (ep_wMaxPacketSize > dev->epmaxpacketin[b]) {
dev->epmaxpacketin[b] = ep_wMaxPacketSize;
USB_PRINTF("##EP epmaxpacketin[%d] = %d\n",
b, dev->epmaxpacketin[b]);
debug("##EP epmaxpacketin[%d] = %d\n",
b, dev->epmaxpacketin[b]);
}
} /* if out */
} /* if control */
@ -358,7 +347,6 @@ static int usb_parse_config(struct usb_device *dev,
{
struct usb_descriptor_header *head;
int index, ifno, epno, curr_if_num;
int i;
u16 ep_wMaxPacketSize;
ifno = -1;
@ -414,23 +402,25 @@ static int usb_parse_config(struct usb_device *dev,
if_desc[ifno].\
ep_desc[epno].\
wMaxPacketSize);
USB_PRINTF("if %d, ep %d\n", ifno, epno);
debug("if %d, ep %d\n", ifno, epno);
break;
default:
if (head->bLength == 0)
return 1;
USB_PRINTF("unknown Description Type : %x\n",
head->bDescriptorType);
debug("unknown Description Type : %x\n",
head->bDescriptorType);
#ifdef DEBUG
{
#ifdef USB_DEBUG
unsigned char *ch = (unsigned char *)head;
#endif
int i;
for (i = 0; i < head->bLength; i++)
USB_PRINTF("%02X ", *ch++);
USB_PRINTF("\n\n\n");
debug("%02X ", *ch++);
debug("\n\n\n");
}
#endif
break;
}
index += head->bLength;
@ -514,8 +504,7 @@ int usb_get_configuration_no(struct usb_device *dev,
}
result = usb_get_descriptor(dev, USB_DT_CONFIG, cfgno, buffer, tmp);
USB_PRINTF("get_conf_no %d Result %d, wLength %d\n",
cfgno, result, tmp);
debug("get_conf_no %d Result %d, wLength %d\n", cfgno, result, tmp);
return result;
}
@ -527,7 +516,7 @@ static int usb_set_address(struct usb_device *dev)
{
int res;
USB_PRINTF("set address %d\n", dev->devnum);
debug("set address %d\n", dev->devnum);
res = usb_control_msg(dev, usb_snddefctrl(dev),
USB_REQ_SET_ADDRESS, 0,
(dev->devnum), 0,
@ -579,7 +568,7 @@ int usb_set_interface(struct usb_device *dev, int interface, int alternate)
static int usb_set_configuration(struct usb_device *dev, int configuration)
{
int res;
USB_PRINTF("set configuration %d\n", configuration);
debug("set configuration %d\n", configuration);
/* set setup command */
res = usb_control_msg(dev, usb_sndctrlpipe(dev, 0),
USB_REQ_SET_CONFIGURATION, 0,
@ -731,19 +720,19 @@ int usb_string(struct usb_device *dev, int index, char *buf, size_t size)
if (!dev->have_langid) {
err = usb_string_sub(dev, 0, 0, tbuf);
if (err < 0) {
USB_PRINTF("error getting string descriptor 0 " \
"(error=%lx)\n", dev->status);
debug("error getting string descriptor 0 " \
"(error=%lx)\n", dev->status);
return -1;
} else if (tbuf[0] < 4) {
USB_PRINTF("string descriptor 0 too short\n");
debug("string descriptor 0 too short\n");
return -1;
} else {
dev->have_langid = -1;
dev->string_langid = tbuf[2] | (tbuf[3] << 8);
/* always use the first langid listed */
USB_PRINTF("USB device number %d default " \
"language ID 0x%x\n",
dev->devnum, dev->string_langid);
debug("USB device number %d default " \
"language ID 0x%x\n",
dev->devnum, dev->string_langid);
}
}
@ -789,7 +778,7 @@ struct usb_device *usb_get_dev_index(int index)
struct usb_device *usb_alloc_new_device(void *controller)
{
int i;
USB_PRINTF("New Device %d\n", dev_index);
debug("New Device %d\n", dev_index);
if (dev_index == USB_MAX_DEVICE) {
printf("ERROR, too many USB Devices, max=%d\n", USB_MAX_DEVICE);
return NULL;
@ -813,7 +802,7 @@ struct usb_device *usb_alloc_new_device(void *controller)
void usb_free_device(void)
{
dev_index--;
USB_PRINTF("Freeing device node: %d\n", dev_index);
debug("Freeing device node: %d\n", dev_index);
memset(&usb_dev[dev_index], 0, sizeof(struct usb_device));
usb_dev[dev_index].devnum = -1;
}
@ -880,7 +869,7 @@ int usb_new_device(struct usb_device *dev)
err = usb_get_descriptor(dev, USB_DT_DEVICE, 0, desc, 64);
if (err < 0) {
USB_PRINTF("usb_new_device: usb_get_descriptor() failed\n");
debug("usb_new_device: usb_get_descriptor() failed\n");
return 1;
}
@ -973,9 +962,9 @@ int usb_new_device(struct usb_device *dev)
"len %d, status %lX\n", dev->act_len, dev->status);
return -1;
}
USB_PRINTF("new device strings: Mfr=%d, Product=%d, SerialNumber=%d\n",
dev->descriptor.iManufacturer, dev->descriptor.iProduct,
dev->descriptor.iSerialNumber);
debug("new device strings: Mfr=%d, Product=%d, SerialNumber=%d\n",
dev->descriptor.iManufacturer, dev->descriptor.iProduct,
dev->descriptor.iSerialNumber);
memset(dev->mf, 0, sizeof(dev->mf));
memset(dev->prod, 0, sizeof(dev->prod));
memset(dev->serial, 0, sizeof(dev->serial));
@ -988,9 +977,9 @@ int usb_new_device(struct usb_device *dev)
if (dev->descriptor.iSerialNumber)
usb_string(dev, dev->descriptor.iSerialNumber,
dev->serial, sizeof(dev->serial));
USB_PRINTF("Manufacturer %s\n", dev->mf);
USB_PRINTF("Product %s\n", dev->prod);
USB_PRINTF("SerialNumber %s\n", dev->serial);
debug("Manufacturer %s\n", dev->mf);
debug("Product %s\n", dev->prod);
debug("SerialNumber %s\n", dev->serial);
/* now prode if the device is a hub */
usb_hub_probe(dev, 0);
return 0;

View file

@ -53,17 +53,6 @@
#include <asm/4xx_pci.h>
#endif
#ifdef DEBUG
#define USB_DEBUG 1
#define USB_HUB_DEBUG 1
#else
#define USB_DEBUG 0
#define USB_HUB_DEBUG 0
#endif
#define USB_PRINTF(fmt, args...) debug_cond(USB_DEBUG, fmt, ##args)
#define USB_HUB_PRINTF(fmt, args...) debug_cond(USB_HUB_DEBUG, fmt, ##args)
#define USB_BUFSIZ 512
static struct usb_hub_device hub_dev[USB_MAX_HUB];
@ -114,10 +103,10 @@ static void usb_hub_power_on(struct usb_hub_device *hub)
dev = hub->pusb_dev;
/* Enable power to the ports */
USB_HUB_PRINTF("enabling power on all ports\n");
debug("enabling power on all ports\n");
for (i = 0; i < dev->maxchild; i++) {
usb_set_port_feature(dev, i + 1, USB_PORT_FEAT_POWER);
USB_HUB_PRINTF("port %d returns %lX\n", i + 1, dev->status);
debug("port %d returns %lX\n", i + 1, dev->status);
}
/* Wait at least 100 msec for power to become stable */
@ -157,29 +146,28 @@ int hub_port_reset(struct usb_device *dev, int port,
ALLOC_CACHE_ALIGN_BUFFER(struct usb_port_status, portsts, 1);
unsigned short portstatus, portchange;
USB_HUB_PRINTF("hub_port_reset: resetting port %d...\n", port);
debug("hub_port_reset: resetting port %d...\n", port);
for (tries = 0; tries < MAX_TRIES; tries++) {
usb_set_port_feature(dev, port + 1, USB_PORT_FEAT_RESET);
mdelay(200);
if (usb_get_port_status(dev, port + 1, portsts) < 0) {
USB_HUB_PRINTF("get_port_status failed status %lX\n",
dev->status);
debug("get_port_status failed status %lX\n",
dev->status);
return -1;
}
portstatus = le16_to_cpu(portsts->wPortStatus);
portchange = le16_to_cpu(portsts->wPortChange);
USB_HUB_PRINTF("portstatus %x, change %x, %s\n",
portstatus, portchange,
portspeed(portstatus));
debug("portstatus %x, change %x, %s\n", portstatus, portchange,
portspeed(portstatus));
USB_HUB_PRINTF("STAT_C_CONNECTION = %d STAT_CONNECTION = %d" \
" USB_PORT_STAT_ENABLE %d\n",
(portchange & USB_PORT_STAT_C_CONNECTION) ? 1 : 0,
(portstatus & USB_PORT_STAT_CONNECTION) ? 1 : 0,
(portstatus & USB_PORT_STAT_ENABLE) ? 1 : 0);
debug("STAT_C_CONNECTION = %d STAT_CONNECTION = %d" \
" USB_PORT_STAT_ENABLE %d\n",
(portchange & USB_PORT_STAT_C_CONNECTION) ? 1 : 0,
(portstatus & USB_PORT_STAT_CONNECTION) ? 1 : 0,
(portstatus & USB_PORT_STAT_ENABLE) ? 1 : 0);
if ((portchange & USB_PORT_STAT_C_CONNECTION) ||
!(portstatus & USB_PORT_STAT_CONNECTION))
@ -192,9 +180,9 @@ int hub_port_reset(struct usb_device *dev, int port,
}
if (tries == MAX_TRIES) {
USB_HUB_PRINTF("Cannot enable port %i after %i retries, " \
"disabling port.\n", port + 1, MAX_TRIES);
USB_HUB_PRINTF("Maybe the USB cable is bad?\n");
debug("Cannot enable port %i after %i retries, " \
"disabling port.\n", port + 1, MAX_TRIES);
debug("Maybe the USB cable is bad?\n");
return -1;
}
@ -212,15 +200,15 @@ void usb_hub_port_connect_change(struct usb_device *dev, int port)
/* Check status */
if (usb_get_port_status(dev, port + 1, portsts) < 0) {
USB_HUB_PRINTF("get_port_status failed\n");
debug("get_port_status failed\n");
return;
}
portstatus = le16_to_cpu(portsts->wPortStatus);
USB_HUB_PRINTF("portstatus %x, change %x, %s\n",
portstatus,
le16_to_cpu(portsts->wPortChange),
portspeed(portstatus));
debug("portstatus %x, change %x, %s\n",
portstatus,
le16_to_cpu(portsts->wPortChange),
portspeed(portstatus));
/* Clear the connection change status */
usb_clear_port_feature(dev, port + 1, USB_PORT_FEAT_C_CONNECTION);
@ -228,7 +216,7 @@ void usb_hub_port_connect_change(struct usb_device *dev, int port)
/* Disconnect any existing devices under this port */
if (((!(portstatus & USB_PORT_STAT_CONNECTION)) &&
(!(portstatus & USB_PORT_STAT_ENABLE))) || (dev->children[port])) {
USB_HUB_PRINTF("usb_disconnect(&hub->children[port]);\n");
debug("usb_disconnect(&hub->children[port]);\n");
/* Return now if nothing is connected */
if (!(portstatus & USB_PORT_STAT_CONNECTION))
return;
@ -261,7 +249,7 @@ void usb_hub_port_connect_change(struct usb_device *dev, int port)
/* Woops, disable the port */
usb_free_device();
dev->children[port] = NULL;
USB_HUB_PRINTF("hub: disabling port %d\n", port + 1);
debug("hub: disabling port %d\n", port + 1);
usb_clear_port_feature(dev, port + 1, USB_PORT_FEAT_ENABLE);
}
}
@ -275,9 +263,7 @@ static int usb_hub_configure(struct usb_device *dev)
short hubCharacteristics;
struct usb_hub_descriptor *descriptor;
struct usb_hub_device *hub;
#ifdef USB_HUB_DEBUG
struct usb_hub_status *hubsts;
#endif
__maybe_unused struct usb_hub_status *hubsts;
/* "allocate" Hub device */
hub = usb_hub_allocate();
@ -286,8 +272,8 @@ static int usb_hub_configure(struct usb_device *dev)
hub->pusb_dev = dev;
/* Get the the hub descriptor */
if (usb_get_hub_descriptor(dev, buffer, 4) < 0) {
USB_HUB_PRINTF("usb_hub_configure: failed to get hub " \
"descriptor, giving up %lX\n", dev->status);
debug("usb_hub_configure: failed to get hub " \
"descriptor, giving up %lX\n", dev->status);
return -1;
}
descriptor = (struct usb_hub_descriptor *)buffer;
@ -295,15 +281,14 @@ static int usb_hub_configure(struct usb_device *dev)
/* silence compiler warning if USB_BUFSIZ is > 256 [= sizeof(char)] */
i = descriptor->bLength;
if (i > USB_BUFSIZ) {
USB_HUB_PRINTF("usb_hub_configure: failed to get hub " \
"descriptor - too long: %d\n",
descriptor->bLength);
debug("usb_hub_configure: failed to get hub " \
"descriptor - too long: %d\n", descriptor->bLength);
return -1;
}
if (usb_get_hub_descriptor(dev, buffer, descriptor->bLength) < 0) {
USB_HUB_PRINTF("usb_hub_configure: failed to get hub " \
"descriptor 2nd giving up %lX\n", dev->status);
debug("usb_hub_configure: failed to get hub " \
"descriptor 2nd giving up %lX\n", dev->status);
return -1;
}
memcpy((unsigned char *)&hub->desc, buffer, descriptor->bLength);
@ -325,74 +310,75 @@ static int usb_hub_configure(struct usb_device *dev)
hub->desc.PortPowerCtrlMask[i] = descriptor->PortPowerCtrlMask[i];
dev->maxchild = descriptor->bNbrPorts;
USB_HUB_PRINTF("%d ports detected\n", dev->maxchild);
debug("%d ports detected\n", dev->maxchild);
hubCharacteristics = get_unaligned(&hub->desc.wHubCharacteristics);
switch (hubCharacteristics & HUB_CHAR_LPSM) {
case 0x00:
USB_HUB_PRINTF("ganged power switching\n");
debug("ganged power switching\n");
break;
case 0x01:
USB_HUB_PRINTF("individual port power switching\n");
debug("individual port power switching\n");
break;
case 0x02:
case 0x03:
USB_HUB_PRINTF("unknown reserved power switching mode\n");
debug("unknown reserved power switching mode\n");
break;
}
if (hubCharacteristics & HUB_CHAR_COMPOUND)
USB_HUB_PRINTF("part of a compound device\n");
debug("part of a compound device\n");
else
USB_HUB_PRINTF("standalone hub\n");
debug("standalone hub\n");
switch (hubCharacteristics & HUB_CHAR_OCPM) {
case 0x00:
USB_HUB_PRINTF("global over-current protection\n");
debug("global over-current protection\n");
break;
case 0x08:
USB_HUB_PRINTF("individual port over-current protection\n");
debug("individual port over-current protection\n");
break;
case 0x10:
case 0x18:
USB_HUB_PRINTF("no over-current protection\n");
debug("no over-current protection\n");
break;
}
USB_HUB_PRINTF("power on to power good time: %dms\n",
descriptor->bPwrOn2PwrGood * 2);
USB_HUB_PRINTF("hub controller current requirement: %dmA\n",
descriptor->bHubContrCurrent);
debug("power on to power good time: %dms\n",
descriptor->bPwrOn2PwrGood * 2);
debug("hub controller current requirement: %dmA\n",
descriptor->bHubContrCurrent);
for (i = 0; i < dev->maxchild; i++)
USB_HUB_PRINTF("port %d is%s removable\n", i + 1,
hub->desc.DeviceRemovable[(i + 1) / 8] & \
(1 << ((i + 1) % 8)) ? " not" : "");
debug("port %d is%s removable\n", i + 1,
hub->desc.DeviceRemovable[(i + 1) / 8] & \
(1 << ((i + 1) % 8)) ? " not" : "");
if (sizeof(struct usb_hub_status) > USB_BUFSIZ) {
USB_HUB_PRINTF("usb_hub_configure: failed to get Status - " \
"too long: %d\n", descriptor->bLength);
debug("usb_hub_configure: failed to get Status - " \
"too long: %d\n", descriptor->bLength);
return -1;
}
if (usb_get_hub_status(dev, buffer) < 0) {
USB_HUB_PRINTF("usb_hub_configure: failed to get Status %lX\n",
dev->status);
debug("usb_hub_configure: failed to get Status %lX\n",
dev->status);
return -1;
}
#ifdef USB_HUB_DEBUG
#ifdef DEBUG
hubsts = (struct usb_hub_status *)buffer;
#endif
USB_HUB_PRINTF("get_hub_status returned status %X, change %X\n",
le16_to_cpu(hubsts->wHubStatus),
le16_to_cpu(hubsts->wHubChange));
USB_HUB_PRINTF("local power source is %s\n",
(le16_to_cpu(hubsts->wHubStatus) & HUB_STATUS_LOCAL_POWER) ? \
"lost (inactive)" : "good");
USB_HUB_PRINTF("%sover-current condition exists\n",
(le16_to_cpu(hubsts->wHubStatus) & HUB_STATUS_OVERCURRENT) ? \
"" : "no ");
debug("get_hub_status returned status %X, change %X\n",
le16_to_cpu(hubsts->wHubStatus),
le16_to_cpu(hubsts->wHubChange));
debug("local power source is %s\n",
(le16_to_cpu(hubsts->wHubStatus) & HUB_STATUS_LOCAL_POWER) ? \
"lost (inactive)" : "good");
debug("%sover-current condition exists\n",
(le16_to_cpu(hubsts->wHubStatus) & HUB_STATUS_OVERCURRENT) ? \
"" : "no ");
usb_hub_power_on(hub);
for (i = 0; i < dev->maxchild; i++) {
@ -412,7 +398,7 @@ static int usb_hub_configure(struct usb_device *dev)
do {
ret = usb_get_port_status(dev, i + 1, portsts);
if (ret < 0) {
USB_HUB_PRINTF("get_port_status failed\n");
debug("get_port_status failed\n");
break;
}
@ -429,16 +415,16 @@ static int usb_hub_configure(struct usb_device *dev)
if (ret < 0)
continue;
USB_HUB_PRINTF("Port %d Status %X Change %X\n",
i + 1, portstatus, portchange);
debug("Port %d Status %X Change %X\n",
i + 1, portstatus, portchange);
if (portchange & USB_PORT_STAT_C_CONNECTION) {
USB_HUB_PRINTF("port %d connection change\n", i + 1);
debug("port %d connection change\n", i + 1);
usb_hub_port_connect_change(dev, i);
}
if (portchange & USB_PORT_STAT_C_ENABLE) {
USB_HUB_PRINTF("port %d enable change, status %x\n",
i + 1, portstatus);
debug("port %d enable change, status %x\n",
i + 1, portstatus);
usb_clear_port_feature(dev, i + 1,
USB_PORT_FEAT_C_ENABLE);
@ -448,27 +434,27 @@ static int usb_hub_configure(struct usb_device *dev)
if (!(portstatus & USB_PORT_STAT_ENABLE) &&
(portstatus & USB_PORT_STAT_CONNECTION) &&
((dev->children[i]))) {
USB_HUB_PRINTF("already running port %i " \
"disabled by hub (EMI?), " \
"re-enabling...\n", i + 1);
usb_hub_port_connect_change(dev, i);
debug("already running port %i " \
"disabled by hub (EMI?), " \
"re-enabling...\n", i + 1);
usb_hub_port_connect_change(dev, i);
}
}
if (portstatus & USB_PORT_STAT_SUSPEND) {
USB_HUB_PRINTF("port %d suspend change\n", i + 1);
debug("port %d suspend change\n", i + 1);
usb_clear_port_feature(dev, i + 1,
USB_PORT_FEAT_SUSPEND);
}
if (portchange & USB_PORT_STAT_C_OVERCURRENT) {
USB_HUB_PRINTF("port %d over-current change\n", i + 1);
debug("port %d over-current change\n", i + 1);
usb_clear_port_feature(dev, i + 1,
USB_PORT_FEAT_C_OVER_CURRENT);
usb_hub_power_on(hub);
}
if (portchange & USB_PORT_STAT_C_RESET) {
USB_HUB_PRINTF("port %d reset change\n", i + 1);
debug("port %d reset change\n", i + 1);
usb_clear_port_feature(dev, i + 1,
USB_PORT_FEAT_C_RESET);
}
@ -503,7 +489,7 @@ int usb_hub_probe(struct usb_device *dev, int ifnum)
if ((ep->bmAttributes & 3) != 3)
return 0;
/* We found a hub */
USB_HUB_PRINTF("USB hub found\n");
debug("USB hub found\n");
ret = usb_hub_configure(dev);
return ret;
}

View file

@ -31,12 +31,6 @@
#include <usb.h>
#ifdef USB_KBD_DEBUG
#define USB_KBD_PRINTF(fmt, args...) printf(fmt, ##args)
#else
#define USB_KBD_PRINTF(fmt, args...)
#endif
/*
* If overwrite_console returns 1, the stdin, stderr and stdout
* are switched to the serial port, else the settings in the
@ -262,7 +256,7 @@ static int usb_kbd_translate(struct usb_kbd_pdata *data, unsigned char scancode,
/* Report keycode if any */
if (keycode) {
USB_KBD_PRINTF("%c", keycode);
debug("%c", keycode);
usb_kbd_put_queue(data, keycode);
}
@ -324,8 +318,8 @@ static int usb_kbd_irq_worker(struct usb_device *dev)
static int usb_kbd_irq(struct usb_device *dev)
{
if ((dev->irq_status != 0) || (dev->irq_act_len != 8)) {
USB_KBD_PRINTF("USB KBD: Error %lX, len %d\n",
dev->irq_status, dev->irq_act_len);
debug("USB KBD: Error %lX, len %d\n",
dev->irq_status, dev->irq_act_len);
return 1;
}
@ -437,7 +431,7 @@ static int usb_kbd_probe(struct usb_device *dev, unsigned int ifnum)
if ((ep->bmAttributes & 3) != 3)
return 0;
USB_KBD_PRINTF("USB KBD: found set protocol...\n");
debug("USB KBD: found set protocol...\n");
data = malloc(sizeof(struct usb_kbd_pdata));
if (!data) {
@ -463,10 +457,10 @@ static int usb_kbd_probe(struct usb_device *dev, unsigned int ifnum)
/* We found a USB Keyboard, install it. */
usb_set_protocol(dev, iface->desc.bInterfaceNumber, 0);
USB_KBD_PRINTF("USB KBD: found set idle...\n");
debug("USB KBD: found set idle...\n");
usb_set_idle(dev, iface->desc.bInterfaceNumber, REPEAT_RATE, 0);
USB_KBD_PRINTF("USB KBD: enable interrupt pipe...\n");
debug("USB KBD: enable interrupt pipe...\n");
usb_submit_int_msg(dev, pipe, data->new, maxp > 8 ? 8 : maxp,
ep->bInterval);
@ -497,16 +491,16 @@ int drv_usb_kbd_init(void)
continue;
/* We found a keyboard, check if it is already registered. */
USB_KBD_PRINTF("USB KBD: found set up device.\n");
debug("USB KBD: found set up device.\n");
old_dev = stdio_get_by_name(DEVNAME);
if (old_dev) {
/* Already registered, just return ok. */
USB_KBD_PRINTF("USB KBD: is already registered.\n");
debug("USB KBD: is already registered.\n");
return 1;
}
/* Register the keyboard */
USB_KBD_PRINTF("USB KBD: register.\n");
debug("USB KBD: register.\n");
memset(&usb_kbd_dev, 0, sizeof(struct stdio_dev));
strcpy(usb_kbd_dev.name, DEVNAME);
usb_kbd_dev.flags = DEV_FLAGS_INPUT | DEV_FLAGS_SYSTEM;

View file

@ -59,14 +59,6 @@
#undef BBB_COMDAT_TRACE
#undef BBB_XPORT_TRACE
#ifdef USB_STOR_DEBUG
#define USB_BLK_DEBUG 1
#else
#define USB_BLK_DEBUG 0
#endif
#define USB_STOR_PRINTF(fmt, args...) debug_cond(USB_BLK_DEBUG, fmt, ##args)
#include <scsi.h>
/* direction table -- this indicates the direction of the data
* transfer for each command code -- a 1 indicates input
@ -228,8 +220,7 @@ static unsigned int usb_get_max_lun(struct us_data *us)
0, us->ifnum,
result, sizeof(char),
USB_CNTL_TIMEOUT * 5);
USB_STOR_PRINTF("Get Max LUN -> len = %i, result = %i\n",
len, (int) *result);
debug("Get Max LUN -> len = %i, result = %i\n", len, (int) *result);
return (len > 0) ? *result : 0;
}
@ -262,7 +253,7 @@ int usb_stor_scan(int mode)
usb_max_devs = 0;
for (i = 0; i < USB_MAX_DEVICE; i++) {
dev = usb_get_dev_index(i); /* get device */
USB_STOR_PRINTF("i=%d\n", i);
debug("i=%d\n", i);
if (dev == NULL)
break; /* no more devices available */
@ -309,7 +300,7 @@ static int usb_stor_irq(struct usb_device *dev)
}
#ifdef USB_STOR_DEBUG
#ifdef DEBUG
static void usb_show_srb(ccb *pccb)
{
@ -361,45 +352,49 @@ static int us_one_transfer(struct us_data *us, int pipe, char *buf, int length)
/* set up the transfer loop */
do {
/* transfer the data */
USB_STOR_PRINTF("Bulk xfer 0x%x(%d) try #%d\n",
(unsigned int)buf, this_xfer, 11 - maxtry);
debug("Bulk xfer 0x%x(%d) try #%d\n",
(unsigned int)buf, this_xfer, 11 - maxtry);
result = usb_bulk_msg(us->pusb_dev, pipe, buf,
this_xfer, &partial,
USB_CNTL_TIMEOUT * 5);
USB_STOR_PRINTF("bulk_msg returned %d xferred %d/%d\n",
result, partial, this_xfer);
debug("bulk_msg returned %d xferred %d/%d\n",
result, partial, this_xfer);
if (us->pusb_dev->status != 0) {
/* if we stall, we need to clear it before
* we go on
*/
#ifdef USB_STOR_DEBUG
#ifdef DEBUG
display_int_status(us->pusb_dev->status);
#endif
if (us->pusb_dev->status & USB_ST_STALLED) {
USB_STOR_PRINTF("stalled ->clearing endpoint halt for pipe 0x%x\n", pipe);
debug("stalled ->clearing endpoint" \
"halt for pipe 0x%x\n", pipe);
stat = us->pusb_dev->status;
usb_clear_halt(us->pusb_dev, pipe);
us->pusb_dev->status = stat;
if (this_xfer == partial) {
USB_STOR_PRINTF("bulk transferred with error %lX, but data ok\n", us->pusb_dev->status);
debug("bulk transferred" \
"with error %lX," \
" but data ok\n",
us->pusb_dev->status);
return 0;
}
else
return result;
}
if (us->pusb_dev->status & USB_ST_NAK_REC) {
USB_STOR_PRINTF("Device NAKed bulk_msg\n");
debug("Device NAKed bulk_msg\n");
return result;
}
USB_STOR_PRINTF("bulk transferred with error");
debug("bulk transferred with error");
if (this_xfer == partial) {
USB_STOR_PRINTF(" %ld, but data ok\n",
us->pusb_dev->status);
debug(" %ld, but data ok\n",
us->pusb_dev->status);
return 0;
}
/* if our try counter reaches 0, bail out */
USB_STOR_PRINTF(" %ld, data %d\n",
us->pusb_dev->status, partial);
debug(" %ld, data %d\n",
us->pusb_dev->status, partial);
if (!maxtry--)
return result;
}
@ -433,35 +428,34 @@ static int usb_stor_BBB_reset(struct us_data *us)
*
* This comment stolen from FreeBSD's /sys/dev/usb/umass.c.
*/
USB_STOR_PRINTF("BBB_reset\n");
debug("BBB_reset\n");
result = usb_control_msg(us->pusb_dev, usb_sndctrlpipe(us->pusb_dev, 0),
US_BBB_RESET,
USB_TYPE_CLASS | USB_RECIP_INTERFACE,
0, us->ifnum, NULL, 0, USB_CNTL_TIMEOUT * 5);
if ((result < 0) && (us->pusb_dev->status & USB_ST_STALLED)) {
USB_STOR_PRINTF("RESET:stall\n");
debug("RESET:stall\n");
return -1;
}
/* long wait for reset */
mdelay(150);
USB_STOR_PRINTF("BBB_reset result %d: status %lX reset\n", result,
us->pusb_dev->status);
debug("BBB_reset result %d: status %lX reset\n",
result, us->pusb_dev->status);
pipe = usb_rcvbulkpipe(us->pusb_dev, us->ep_in);
result = usb_clear_halt(us->pusb_dev, pipe);
/* long wait for reset */
mdelay(150);
USB_STOR_PRINTF("BBB_reset result %d: status %lX clearing IN endpoint\n",
result, us->pusb_dev->status);
debug("BBB_reset result %d: status %lX clearing IN endpoint\n",
result, us->pusb_dev->status);
/* long wait for reset */
pipe = usb_sndbulkpipe(us->pusb_dev, us->ep_out);
result = usb_clear_halt(us->pusb_dev, pipe);
mdelay(150);
USB_STOR_PRINTF("BBB_reset result %d: status %lX"
" clearing OUT endpoint\n", result,
us->pusb_dev->status);
USB_STOR_PRINTF("BBB_reset done\n");
debug("BBB_reset result %d: status %lX clearing OUT endpoint\n",
result, us->pusb_dev->status);
debug("BBB_reset done\n");
return 0;
}
@ -474,7 +468,7 @@ static int usb_stor_CB_reset(struct us_data *us)
unsigned char cmd[12];
int result;
USB_STOR_PRINTF("CB_reset\n");
debug("CB_reset\n");
memset(cmd, 0xff, sizeof(cmd));
cmd[0] = SCSI_SEND_DIAG;
cmd[1] = 4;
@ -486,13 +480,12 @@ static int usb_stor_CB_reset(struct us_data *us)
/* long wait for reset */
mdelay(1500);
USB_STOR_PRINTF("CB_reset result %d: status %lX"
" clearing endpoint halt\n", result,
us->pusb_dev->status);
debug("CB_reset result %d: status %lX clearing endpoint halt\n",
result, us->pusb_dev->status);
usb_clear_halt(us->pusb_dev, usb_rcvbulkpipe(us->pusb_dev, us->ep_in));
usb_clear_halt(us->pusb_dev, usb_rcvbulkpipe(us->pusb_dev, us->ep_out));
USB_STOR_PRINTF("CB_reset done\n");
debug("CB_reset done\n");
return 0;
}
@ -522,7 +515,7 @@ static int usb_stor_BBB_comdat(ccb *srb, struct us_data *us)
#endif
/* sanity checks */
if (!(srb->cmdlen <= CBWCDBLENGTH)) {
USB_STOR_PRINTF("usb_stor_BBB_comdat:cmdlen too large\n");
debug("usb_stor_BBB_comdat:cmdlen too large\n");
return -1;
}
@ -541,7 +534,7 @@ static int usb_stor_BBB_comdat(ccb *srb, struct us_data *us)
result = usb_bulk_msg(us->pusb_dev, pipe, cbw, UMASS_BBB_CBW_SIZE,
&actlen, USB_CNTL_TIMEOUT * 5);
if (result < 0)
USB_STOR_PRINTF("usb_stor_BBB_comdat:usb_bulk_msg error\n");
debug("usb_stor_BBB_comdat:usb_bulk_msg error\n");
return result;
}
@ -564,8 +557,8 @@ static int usb_stor_CB_comdat(ccb *srb, struct us_data *us)
pipe = usb_sndbulkpipe(us->pusb_dev, us->ep_out);
while (retry--) {
USB_STOR_PRINTF("CBI gets a command: Try %d\n", 5 - retry);
#ifdef USB_STOR_DEBUG
debug("CBI gets a command: Try %d\n", 5 - retry);
#ifdef DEBUG
usb_show_srb(srb);
#endif
/* let's send the command via the control pipe */
@ -576,35 +569,35 @@ static int usb_stor_CB_comdat(ccb *srb, struct us_data *us)
0, us->ifnum,
srb->cmd, srb->cmdlen,
USB_CNTL_TIMEOUT * 5);
USB_STOR_PRINTF("CB_transport: control msg returned %d,"
" status %lX\n", result, us->pusb_dev->status);
debug("CB_transport: control msg returned %d, status %lX\n",
result, us->pusb_dev->status);
/* check the return code for the command */
if (result < 0) {
if (us->pusb_dev->status & USB_ST_STALLED) {
status = us->pusb_dev->status;
USB_STOR_PRINTF(" stall during command found,"
" clear pipe\n");
debug(" stall during command found," \
" clear pipe\n");
usb_clear_halt(us->pusb_dev,
usb_sndctrlpipe(us->pusb_dev, 0));
us->pusb_dev->status = status;
}
USB_STOR_PRINTF(" error during command %02X"
" Stat = %lX\n", srb->cmd[0],
us->pusb_dev->status);
debug(" error during command %02X" \
" Stat = %lX\n", srb->cmd[0],
us->pusb_dev->status);
return result;
}
/* transfer the data payload for this command, if one exists*/
USB_STOR_PRINTF("CB_transport: control msg returned %d,"
" direction is %s to go 0x%lx\n", result,
dir_in ? "IN" : "OUT", srb->datalen);
debug("CB_transport: control msg returned %d," \
" direction is %s to go 0x%lx\n", result,
dir_in ? "IN" : "OUT", srb->datalen);
if (srb->datalen) {
result = us_one_transfer(us, pipe, (char *)srb->pdata,
srb->datalen);
USB_STOR_PRINTF("CBI attempted to transfer data,"
" result is %d status %lX, len %d\n",
result, us->pusb_dev->status,
us->pusb_dev->act_len);
debug("CBI attempted to transfer data," \
" result is %d status %lX, len %d\n",
result, us->pusb_dev->status,
us->pusb_dev->act_len);
if (!(us->pusb_dev->status & USB_ST_NAK_REC))
break;
} /* if (srb->datalen) */
@ -635,10 +628,9 @@ static int usb_stor_CBI_get_status(ccb *srb, struct us_data *us)
us->ip_wanted = 0;
return USB_STOR_TRANSPORT_ERROR;
}
USB_STOR_PRINTF
("Got interrupt data 0x%x, transfered %d status 0x%lX\n",
us->ip_data, us->pusb_dev->irq_act_len,
us->pusb_dev->irq_status);
debug("Got interrupt data 0x%x, transfered %d status 0x%lX\n",
us->ip_data, us->pusb_dev->irq_act_len,
us->pusb_dev->irq_status);
/* UFI gives us ASC and ASCQ, like a request sense */
if (us->subclass == US_SC_UFI) {
if (srb->cmd[0] == SCSI_REQ_SENSE ||
@ -691,11 +683,11 @@ static int usb_stor_BBB_transport(ccb *srb, struct us_data *us)
dir_in = US_DIRECTION(srb->cmd[0]);
/* COMMAND phase */
USB_STOR_PRINTF("COMMAND phase\n");
debug("COMMAND phase\n");
result = usb_stor_BBB_comdat(srb, us);
if (result < 0) {
USB_STOR_PRINTF("failed to send CBW status %ld\n",
us->pusb_dev->status);
debug("failed to send CBW status %ld\n",
us->pusb_dev->status);
usb_stor_BBB_reset(us);
return USB_STOR_TRANSPORT_FAILED;
}
@ -708,7 +700,7 @@ static int usb_stor_BBB_transport(ccb *srb, struct us_data *us)
/* no data, go immediately to the STATUS phase */
if (srb->datalen == 0)
goto st;
USB_STOR_PRINTF("DATA phase\n");
debug("DATA phase\n");
if (dir_in)
pipe = pipein;
else
@ -717,7 +709,7 @@ static int usb_stor_BBB_transport(ccb *srb, struct us_data *us)
&data_actlen, USB_CNTL_TIMEOUT * 5);
/* special handling of STALL in DATA phase */
if ((result < 0) && (us->pusb_dev->status & USB_ST_STALLED)) {
USB_STOR_PRINTF("DATA:stall\n");
debug("DATA:stall\n");
/* clear the STALL on the endpoint */
result = usb_stor_BBB_clear_endpt_stall(us,
dir_in ? us->ep_in : us->ep_out);
@ -726,8 +718,8 @@ static int usb_stor_BBB_transport(ccb *srb, struct us_data *us)
goto st;
}
if (result < 0) {
USB_STOR_PRINTF("usb_bulk_msg error status %ld\n",
us->pusb_dev->status);
debug("usb_bulk_msg error status %ld\n",
us->pusb_dev->status);
usb_stor_BBB_reset(us);
return USB_STOR_TRANSPORT_FAILED;
}
@ -740,14 +732,14 @@ static int usb_stor_BBB_transport(ccb *srb, struct us_data *us)
st:
retry = 0;
again:
USB_STOR_PRINTF("STATUS phase\n");
debug("STATUS phase\n");
result = usb_bulk_msg(us->pusb_dev, pipein, csw, UMASS_BBB_CSW_SIZE,
&actlen, USB_CNTL_TIMEOUT*5);
/* special handling of STALL in STATUS phase */
if ((result < 0) && (retry < 1) &&
(us->pusb_dev->status & USB_ST_STALLED)) {
USB_STOR_PRINTF("STATUS:stall\n");
debug("STATUS:stall\n");
/* clear the STALL on the endpoint */
result = usb_stor_BBB_clear_endpt_stall(us, us->ep_in);
if (result >= 0 && (retry++ < 1))
@ -755,8 +747,8 @@ again:
goto again;
}
if (result < 0) {
USB_STOR_PRINTF("usb_bulk_msg error status %ld\n",
us->pusb_dev->status);
debug("usb_bulk_msg error status %ld\n",
us->pusb_dev->status);
usb_stor_BBB_reset(us);
return USB_STOR_TRANSPORT_FAILED;
}
@ -771,27 +763,27 @@ again:
if (pipe == 0 && srb->datalen != 0 && srb->datalen - data_actlen != 0)
pipe = srb->datalen - data_actlen;
if (CSWSIGNATURE != le32_to_cpu(csw->dCSWSignature)) {
USB_STOR_PRINTF("!CSWSIGNATURE\n");
debug("!CSWSIGNATURE\n");
usb_stor_BBB_reset(us);
return USB_STOR_TRANSPORT_FAILED;
} else if ((CBWTag - 1) != le32_to_cpu(csw->dCSWTag)) {
USB_STOR_PRINTF("!Tag\n");
debug("!Tag\n");
usb_stor_BBB_reset(us);
return USB_STOR_TRANSPORT_FAILED;
} else if (csw->bCSWStatus > CSWSTATUS_PHASE) {
USB_STOR_PRINTF(">PHASE\n");
debug(">PHASE\n");
usb_stor_BBB_reset(us);
return USB_STOR_TRANSPORT_FAILED;
} else if (csw->bCSWStatus == CSWSTATUS_PHASE) {
USB_STOR_PRINTF("=PHASE\n");
debug("=PHASE\n");
usb_stor_BBB_reset(us);
return USB_STOR_TRANSPORT_FAILED;
} else if (data_actlen > srb->datalen) {
USB_STOR_PRINTF("transferred %dB instead of %ldB\n",
data_actlen, srb->datalen);
debug("transferred %dB instead of %ldB\n",
data_actlen, srb->datalen);
return USB_STOR_TRANSPORT_FAILED;
} else if (csw->bCSWStatus == CSWSTATUS_FAILED) {
USB_STOR_PRINTF("FAILED\n");
debug("FAILED\n");
return USB_STOR_TRANSPORT_FAILED;
}
@ -812,14 +804,14 @@ static int usb_stor_CB_transport(ccb *srb, struct us_data *us)
/* issue the command */
do_retry:
result = usb_stor_CB_comdat(srb, us);
USB_STOR_PRINTF("command / Data returned %d, status %lX\n",
result, us->pusb_dev->status);
debug("command / Data returned %d, status %lX\n",
result, us->pusb_dev->status);
/* if this is an CBI Protocol, get IRQ */
if (us->protocol == US_PR_CBI) {
status = usb_stor_CBI_get_status(srb, us);
/* if the status is error, report it */
if (status == USB_STOR_TRANSPORT_ERROR) {
USB_STOR_PRINTF(" USB CBI Command Error\n");
debug(" USB CBI Command Error\n");
return status;
}
srb->sense_buf[12] = (unsigned char)(us->ip_data >> 8);
@ -827,7 +819,7 @@ do_retry:
if (!us->ip_data) {
/* if the status is good, report it */
if (status == USB_STOR_TRANSPORT_GOOD) {
USB_STOR_PRINTF(" USB CBI Command Good\n");
debug(" USB CBI Command Good\n");
return status;
}
}
@ -835,7 +827,7 @@ do_retry:
/* do we have to issue an auto request? */
/* HERE we have to check the result */
if ((result < 0) && !(us->pusb_dev->status & USB_ST_STALLED)) {
USB_STOR_PRINTF("ERROR %lX\n", us->pusb_dev->status);
debug("ERROR %lX\n", us->pusb_dev->status);
us->transport_reset(us);
return USB_STOR_TRANSPORT_ERROR;
}
@ -843,7 +835,7 @@ do_retry:
((srb->cmd[0] == SCSI_REQ_SENSE) ||
(srb->cmd[0] == SCSI_INQUIRY))) {
/* do not issue an autorequest after request sense */
USB_STOR_PRINTF("No auto request and good\n");
debug("No auto request and good\n");
return USB_STOR_TRANSPORT_GOOD;
}
/* issue an request_sense */
@ -856,19 +848,19 @@ do_retry:
psrb->cmdlen = 12;
/* issue the command */
result = usb_stor_CB_comdat(psrb, us);
USB_STOR_PRINTF("auto request returned %d\n", result);
debug("auto request returned %d\n", result);
/* if this is an CBI Protocol, get IRQ */
if (us->protocol == US_PR_CBI)
status = usb_stor_CBI_get_status(psrb, us);
if ((result < 0) && !(us->pusb_dev->status & USB_ST_STALLED)) {
USB_STOR_PRINTF(" AUTO REQUEST ERROR %ld\n",
us->pusb_dev->status);
debug(" AUTO REQUEST ERROR %ld\n",
us->pusb_dev->status);
return USB_STOR_TRANSPORT_ERROR;
}
USB_STOR_PRINTF("autorequest returned 0x%02X 0x%02X 0x%02X 0x%02X\n",
srb->sense_buf[0], srb->sense_buf[2],
srb->sense_buf[12], srb->sense_buf[13]);
debug("autorequest returned 0x%02X 0x%02X 0x%02X 0x%02X\n",
srb->sense_buf[0], srb->sense_buf[2],
srb->sense_buf[12], srb->sense_buf[13]);
/* Check the auto request result */
if ((srb->sense_buf[2] == 0) &&
(srb->sense_buf[12] == 0) &&
@ -923,7 +915,7 @@ static int usb_inquiry(ccb *srb, struct us_data *ss)
srb->datalen = 36;
srb->cmdlen = 12;
i = ss->transport(srb, ss);
USB_STOR_PRINTF("inquiry returns %d\n", i);
debug("inquiry returns %d\n", i);
if (i == 0)
break;
} while (--retry);
@ -948,9 +940,9 @@ static int usb_request_sense(ccb *srb, struct us_data *ss)
srb->pdata = &srb->sense_buf[0];
srb->cmdlen = 12;
ss->transport(srb, ss);
USB_STOR_PRINTF("Request Sense returned %02X %02X %02X\n",
srb->sense_buf[2], srb->sense_buf[12],
srb->sense_buf[13]);
debug("Request Sense returned %02X %02X %02X\n",
srb->sense_buf[2], srb->sense_buf[12],
srb->sense_buf[13]);
srb->pdata = (uchar *)ptr;
return 0;
}
@ -1017,7 +1009,7 @@ static int usb_read_10(ccb *srb, struct us_data *ss, unsigned long start,
srb->cmd[7] = ((unsigned char) (blocks >> 8)) & 0xff;
srb->cmd[8] = (unsigned char) blocks & 0xff;
srb->cmdlen = 12;
USB_STOR_PRINTF("read10: start %lx blocks %x\n", start, blocks);
debug("read10: start %lx blocks %x\n", start, blocks);
return ss->transport(srb, ss);
}
@ -1034,7 +1026,7 @@ static int usb_write_10(ccb *srb, struct us_data *ss, unsigned long start,
srb->cmd[7] = ((unsigned char) (blocks >> 8)) & 0xff;
srb->cmd[8] = (unsigned char) blocks & 0xff;
srb->cmdlen = 12;
USB_STOR_PRINTF("write10: start %lx blocks %x\n", start, blocks);
debug("write10: start %lx blocks %x\n", start, blocks);
return ss->transport(srb, ss);
}
@ -1078,7 +1070,7 @@ unsigned long usb_stor_read(int device, unsigned long blknr,
device &= 0xff;
/* Setup device */
USB_STOR_PRINTF("\nusb_read: dev %d \n", device);
debug("\nusb_read: dev %d \n", device);
dev = NULL;
for (i = 0; i < USB_MAX_DEVICE; i++) {
dev = usb_get_dev_index(i);
@ -1095,8 +1087,8 @@ unsigned long usb_stor_read(int device, unsigned long blknr,
start = blknr;
blks = blkcnt;
USB_STOR_PRINTF("\nusb_read: dev %d startblk " LBAF ", blccnt " LBAF
" buffer %lx\n", device, start, blks, buf_addr);
debug("\nusb_read: dev %d startblk " LBAF ", blccnt " LBAF
" buffer %lx\n", device, start, blks, buf_addr);
do {
/* XXX need some comment here */
@ -1112,7 +1104,7 @@ retry_it:
srb->datalen = usb_dev_desc[device].blksz * smallblks;
srb->pdata = (unsigned char *)buf_addr;
if (usb_read_10(srb, ss, start, smallblks)) {
USB_STOR_PRINTF("Read ERROR\n");
debug("Read ERROR\n");
usb_request_sense(srb, ss);
if (retry--)
goto retry_it;
@ -1125,9 +1117,9 @@ retry_it:
} while (blks != 0);
ss->flags &= ~USB_READY;
USB_STOR_PRINTF("usb_read: end startblk " LBAF
", blccnt %x buffer %lx\n",
start, smallblks, buf_addr);
debug("usb_read: end startblk " LBAF
", blccnt %x buffer %lx\n",
start, smallblks, buf_addr);
usb_disable_asynch(0); /* asynch transfer allowed */
if (blkcnt >= USB_MAX_XFER_BLK)
@ -1151,7 +1143,7 @@ unsigned long usb_stor_write(int device, unsigned long blknr,
device &= 0xff;
/* Setup device */
USB_STOR_PRINTF("\nusb_write: dev %d \n", device);
debug("\nusb_write: dev %d \n", device);
dev = NULL;
for (i = 0; i < USB_MAX_DEVICE; i++) {
dev = usb_get_dev_index(i);
@ -1169,8 +1161,8 @@ unsigned long usb_stor_write(int device, unsigned long blknr,
start = blknr;
blks = blkcnt;
USB_STOR_PRINTF("\nusb_write: dev %d startblk " LBAF ", blccnt " LBAF
" buffer %lx\n", device, start, blks, buf_addr);
debug("\nusb_write: dev %d startblk " LBAF ", blccnt " LBAF
" buffer %lx\n", device, start, blks, buf_addr);
do {
/* If write fails retry for max retry count else
@ -1188,7 +1180,7 @@ retry_it:
srb->datalen = usb_dev_desc[device].blksz * smallblks;
srb->pdata = (unsigned char *)buf_addr;
if (usb_write_10(srb, ss, start, smallblks)) {
USB_STOR_PRINTF("Write ERROR\n");
debug("Write ERROR\n");
usb_request_sense(srb, ss);
if (retry--)
goto retry_it;
@ -1201,9 +1193,8 @@ retry_it:
} while (blks != 0);
ss->flags &= ~USB_READY;
USB_STOR_PRINTF("usb_write: end startblk " LBAF
", blccnt %x buffer %lx\n",
start, smallblks, buf_addr);
debug("usb_write: end startblk " LBAF ", blccnt %x buffer %lx\n",
start, smallblks, buf_addr);
usb_disable_asynch(0); /* asynch transfer allowed */
if (blkcnt >= USB_MAX_XFER_BLK)
@ -1228,12 +1219,12 @@ int usb_storage_probe(struct usb_device *dev, unsigned int ifnum,
#if 0
/* this is the place to patch some storage devices */
USB_STOR_PRINTF("iVendor %X iProduct %X\n", dev->descriptor.idVendor,
debug("iVendor %X iProduct %X\n", dev->descriptor.idVendor,
dev->descriptor.idProduct);
if ((dev->descriptor.idVendor) == 0x066b &&
(dev->descriptor.idProduct) == 0x0103) {
USB_STOR_PRINTF("patched for E-USB\n");
debug("patched for E-USB\n");
protocol = US_PR_CB;
subclass = US_SC_UFI; /* an assumption */
}
@ -1250,7 +1241,7 @@ int usb_storage_probe(struct usb_device *dev, unsigned int ifnum,
memset(ss, 0, sizeof(struct us_data));
/* At this point, we know we've got a live one */
USB_STOR_PRINTF("\n\nUSB Mass Storage device detected\n");
debug("\n\nUSB Mass Storage device detected\n");
/* Initialize the us_data structure with some useful info */
ss->flags = flags;
@ -1270,21 +1261,21 @@ int usb_storage_probe(struct usb_device *dev, unsigned int ifnum,
}
/* set the handler pointers based on the protocol */
USB_STOR_PRINTF("Transport: ");
debug("Transport: ");
switch (ss->protocol) {
case US_PR_CB:
USB_STOR_PRINTF("Control/Bulk\n");
debug("Control/Bulk\n");
ss->transport = usb_stor_CB_transport;
ss->transport_reset = usb_stor_CB_reset;
break;
case US_PR_CBI:
USB_STOR_PRINTF("Control/Bulk/Interrupt\n");
debug("Control/Bulk/Interrupt\n");
ss->transport = usb_stor_CB_transport;
ss->transport_reset = usb_stor_CB_reset;
break;
case US_PR_BULK:
USB_STOR_PRINTF("Bulk/Bulk/Bulk\n");
debug("Bulk/Bulk/Bulk\n");
ss->transport = usb_stor_BBB_transport;
ss->transport_reset = usb_stor_BBB_reset;
break;
@ -1320,14 +1311,14 @@ int usb_storage_probe(struct usb_device *dev, unsigned int ifnum,
ss->irqinterval = iface->ep_desc[i].bInterval;
}
}
USB_STOR_PRINTF("Endpoints In %d Out %d Int %d\n",
ss->ep_in, ss->ep_out, ss->ep_int);
debug("Endpoints In %d Out %d Int %d\n",
ss->ep_in, ss->ep_out, ss->ep_int);
/* Do some basic sanity checks, and bail if we find a problem */
if (usb_set_interface(dev, iface->desc.bInterfaceNumber, 0) ||
!ss->ep_in || !ss->ep_out ||
(ss->protocol == US_PR_CBI && ss->ep_int == 0)) {
USB_STOR_PRINTF("Problems with device\n");
debug("Problems with device\n");
return 0;
}
/* set class specific stuff */
@ -1366,7 +1357,7 @@ int usb_stor_get_info(struct usb_device *dev, struct us_data *ss,
dev_desc->target = dev->devnum;
pccb->lun = dev_desc->lun;
USB_STOR_PRINTF(" address %d\n", dev_desc->target);
debug(" address %d\n", dev_desc->target);
if (usb_inquiry(pccb, ss))
return -1;
@ -1392,8 +1383,8 @@ int usb_stor_get_info(struct usb_device *dev, struct us_data *ss,
usb_bin_fixup(dev->descriptor, (uchar *)dev_desc->vendor,
(uchar *)dev_desc->product);
#endif /* CONFIG_USB_BIN_FIXUP */
USB_STOR_PRINTF("ISO Vers %X, Response Data %X\n", usb_stor_buf[2],
usb_stor_buf[3]);
debug("ISO Vers %X, Response Data %X\n", usb_stor_buf[2],
usb_stor_buf[3]);
if (usb_test_unit_ready(pccb, ss)) {
printf("Device NOT ready\n"
" Request Sense returned %02X %02X %02X\n",
@ -1413,8 +1404,7 @@ int usb_stor_get_info(struct usb_device *dev, struct us_data *ss,
cap[1] = 0x200;
}
ss->flags &= ~USB_READY;
USB_STOR_PRINTF("Read Capacity returns: 0x%lx, 0x%lx\n", cap[0],
cap[1]);
debug("Read Capacity returns: 0x%lx, 0x%lx\n", cap[0], cap[1]);
#if 0
if (cap[0] > (0x200000 * 10)) /* greater than 10 GByte */
cap[0] >>= 16;
@ -1426,17 +1416,16 @@ int usb_stor_get_info(struct usb_device *dev, struct us_data *ss,
cap[0] += 1;
capacity = &cap[0];
blksz = &cap[1];
USB_STOR_PRINTF("Capacity = 0x%lx, blocksz = 0x%lx\n",
*capacity, *blksz);
debug("Capacity = 0x%lx, blocksz = 0x%lx\n", *capacity, *blksz);
dev_desc->lba = *capacity;
dev_desc->blksz = *blksz;
dev_desc->log2blksz = LOG2(dev_desc->blksz);
dev_desc->type = perq;
USB_STOR_PRINTF(" address %d\n", dev_desc->target);
USB_STOR_PRINTF("partype: %d\n", dev_desc->part_type);
debug(" address %d\n", dev_desc->target);
debug("partype: %d\n", dev_desc->part_type);
init_part(dev_desc);
USB_STOR_PRINTF("partype: %d\n", dev_desc->part_type);
debug("partype: %d\n", dev_desc->part_type);
return 1;
}