projects
/
openwrt.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
IRQ handler rewrite by Gabor Juhos, uses C no longer assembly
[openwrt.git]
/
target
/
linux
/
adm5120-2.6
/
files
/
drivers
/
usb
/
host
/
adm5120-hcd.c
diff --git
a/target/linux/adm5120-2.6/files/drivers/usb/host/adm5120-hcd.c
b/target/linux/adm5120-2.6/files/drivers/usb/host/adm5120-hcd.c
index
25ba4b8
..
8dabeeb
100644
(file)
--- a/
target/linux/adm5120-2.6/files/drivers/usb/host/adm5120-hcd.c
+++ b/
target/linux/adm5120-2.6/files/drivers/usb/host/adm5120-hcd.c
@@
-376,7
+376,7
@@
static irqreturn_t adm5120hcd_irq(int irq, void *ptr, struct pt_regs *regs)
}
static int admhcd_urb_enqueue(struct usb_hcd *hcd, struct usb_host_endpoint *ep,
}
static int admhcd_urb_enqueue(struct usb_hcd *hcd, struct usb_host_endpoint *ep,
- struct urb *urb,
in
t mem_flags)
+ struct urb *urb,
gfp_
t mem_flags)
{
struct admhcd *ahcd = hcd_to_admhcd(hcd);
struct admhcd_ed *ed;
{
struct admhcd *ahcd = hcd_to_admhcd(hcd);
struct admhcd_ed *ed;
@@
-704,7
+704,6
@@
static int __init adm5120hcd_probe(struct platform_device *pdev)
{
struct usb_hcd *hcd;
struct admhcd *ahcd;
{
struct usb_hcd *hcd;
struct admhcd *ahcd;
- struct usb_device *udev;
struct resource *addr, *data;
void __iomem *addr_reg;
void __iomem *data_reg;
struct resource *addr, *data;
void __iomem *addr_reg;
void __iomem *data_reg;
@@
-717,7
+716,12
@@
static int __init adm5120hcd_probe(struct platform_device *pdev)
data = platform_get_resource(pdev, IORESOURCE_MEM, 0);
addr = platform_get_resource(pdev, IORESOURCE_MEM, 1);
data = platform_get_resource(pdev, IORESOURCE_MEM, 0);
addr = platform_get_resource(pdev, IORESOURCE_MEM, 1);
- irq = platform_get_irq(pdev, 0);
+
+ if (request_irq(data->start, adm5120hcd_irq, 0, hcd_name, hcd)) {
+ printk(KERN_WARNING "Could not request IRQ\n");
+ err = -EBUSY;
+ goto out;
+ }
if (!addr || !data || irq < 0) {
err = -ENODEV;
if (!addr || !data || irq < 0) {
err = -ENODEV;
@@
-786,12
+790,8
@@
static int __init adm5120hcd_probe(struct platform_device *pdev)
out_dev:
usb_put_hcd(hcd);
out_dev:
usb_put_hcd(hcd);
-out_irq:
- free_irq(pdev->resource[1].start, hcd);
out_unmap:
iounmap(addr_reg);
out_unmap:
iounmap(addr_reg);
-out_hcd:
- usb_put_hcd(hcd);
out_mem:
release_mem_region(addr->start, 2);
out:
out_mem:
release_mem_region(addr->start, 2);
out:
@@
-802,7
+802,6
@@
static int __init_or_module adm5120hcd_remove(struct platform_device *pdev)
{
struct usb_hcd *hcd = platform_get_drvdata(pdev);
struct admhcd *ahcd;
{
struct usb_hcd *hcd = platform_get_drvdata(pdev);
struct admhcd *ahcd;
- struct resource *res;
if (!hcd)
return 0;
if (!hcd)
return 0;
This page took
0.024035 seconds
and
4
git commands to generate.