#include <linux/init.h>
#include <linux/list.h>
#include <linux/usb.h>
-#include <linux/usb/isp116x.h>
+#include <linux/usb_isp116x.h>
#include <linux/platform_device.h>
#include <asm/io.h>
ep = hep->hcpriv;
else {
INIT_LIST_HEAD(&ep->schedule);
- ep->udev = udev;
+ ep->udev = usb_get_dev(udev);
ep->epnum = epnum;
ep->maxpacket = usb_maxpacket(udev, urb->pipe, is_out);
usb_settoggle(udev, epnum, is_out, 0);
if (ep->branch < PERIODIC_SIZE)
break;
- ep->branch = ret = balance(isp116x, ep->period, ep->load);
+ ret = ep->branch = balance(isp116x, ep->period, ep->load);
if (ret < 0)
goto fail;
ret = 0;
if (!list_empty(&hep->urb_list))
WARN("ep %p not empty?\n", ep);
+ usb_put_dev(ep->udev);
kfree(ep);
hep->hcpriv = NULL;
}
static int isp116x_open_seq(struct inode *inode, struct file *file)
{
- return single_open(file, isp116x_show_dbg, inode->i_private);
+ return single_open(file, isp116x_show_dbg, inode->u.generic_ip);
}
static struct file_operations isp116x_debug_fops = {
/*----------------------------------------------------------------*/
-static int isp116x_remove(struct platform_device *pdev)
+static int __init_or_module isp116x_remove(struct platform_device *pdev)
{
struct usb_hcd *hcd = platform_get_drvdata(pdev);
struct isp116x *isp116x;
goto err6;
}
- ret = usb_add_hcd(hcd, irq, IRQF_DISABLED);
+ ret = usb_add_hcd(hcd, irq, SA_INTERRUPT);
if (ret)
goto err6;