hc
2024-01-03 2f7c68cb55ecb7331f2381deb497c27155f32faf
kernel/drivers/usb/gadget/udc/net2272.c
....@@ -9,7 +9,6 @@
99 #include <linux/delay.h>
1010 #include <linux/device.h>
1111 #include <linux/errno.h>
12
-#include <linux/gpio.h>
1312 #include <linux/init.h>
1413 #include <linux/interrupt.h>
1514 #include <linux/io.h>
....@@ -54,7 +53,7 @@
5453 *
5554 * If use_dma is disabled, pio will be used instead.
5655 */
57
-static bool use_dma = 0;
56
+static bool use_dma = false;
5857 module_param(use_dma, bool, 0644);
5958
6059 /*
....@@ -573,8 +572,7 @@
573572
574573 /* completion */
575574 if (unlikely(cleanup || is_short ||
576
- ((req->req.actual == req->req.length)
577
- && !req->req.zero))) {
575
+ req->req.actual == req->req.length)) {
578576
579577 if (cleanup) {
580578 net2272_out_flush(ep);
....@@ -1179,11 +1177,6 @@
11791177 size = PAGE_SIZE;
11801178 spin_lock_irqsave(&dev->lock, flags);
11811179
1182
- if (dev->driver)
1183
- s = dev->driver->driver.name;
1184
- else
1185
- s = "(none)";
1186
-
11871180 /* Main Control Registers */
11881181 t = scnprintf(next, size, "%s version %s,"
11891182 "chiprev %02x, locctl %02x\n"
....@@ -1694,7 +1687,7 @@
16941687 net2272_write(dev, USBTEST, mode);
16951688
16961689 /* load test packet */
1697
- if (mode == TEST_PACKET) {
1690
+ if (mode == USB_TEST_PACKET) {
16981691 /* switch to 8 bit mode */
16991692 net2272_write(dev, LOCCTL, net2272_read(dev, LOCCTL) &
17001693 ~(1 << DATA_WIDTH));
....@@ -2202,7 +2195,8 @@
22022195 static void
22032196 net2272_gadget_release(struct device *_dev)
22042197 {
2205
- struct net2272 *dev = dev_get_drvdata(_dev);
2198
+ struct net2272 *dev = container_of(_dev, struct net2272, gadget.dev);
2199
+
22062200 kfree(dev);
22072201 }
22082202
....@@ -2211,7 +2205,8 @@
22112205 static void
22122206 net2272_remove(struct net2272 *dev)
22132207 {
2214
- usb_del_gadget_udc(&dev->gadget);
2208
+ if (dev->added)
2209
+ usb_del_gadget(&dev->gadget);
22152210 free_irq(dev->irq, dev);
22162211 iounmap(dev->base_addr);
22172212 device_remove_file(dev->dev, &dev_attr_registers);
....@@ -2241,6 +2236,7 @@
22412236
22422237 /* the "gadget" abstracts/virtualizes the controller */
22432238 ret->gadget.name = driver_name;
2239
+ usb_initialize_gadget(dev, &ret->gadget, net2272_gadget_release);
22442240
22452241 return ret;
22462242 }
....@@ -2279,10 +2275,10 @@
22792275 if (ret)
22802276 goto err_irq;
22812277
2282
- ret = usb_add_gadget_udc_release(dev->dev, &dev->gadget,
2283
- net2272_gadget_release);
2278
+ ret = usb_add_gadget(&dev->gadget);
22842279 if (ret)
22852280 goto err_add_udc;
2281
+ dev->added = 1;
22862282
22872283 return 0;
22882284
....@@ -2329,7 +2325,7 @@
23292325 goto err;
23302326 }
23312327
2332
- mem_mapped_addr[i] = ioremap_nocache(resource, len);
2328
+ mem_mapped_addr[i] = ioremap(resource, len);
23332329 if (mem_mapped_addr[i] == NULL) {
23342330 release_mem_region(resource, len);
23352331 dev_dbg(dev->dev, "can't map memory\n");
....@@ -2376,6 +2372,8 @@
23762372
23772373 err:
23782374 while (--i >= 0) {
2375
+ if (i == 1)
2376
+ continue; /* BAR1 unused */
23792377 iounmap(mem_mapped_addr[i]);
23802378 release_mem_region(pci_resource_start(pdev, i),
23812379 pci_resource_len(pdev, i));
....@@ -2407,7 +2405,7 @@
24072405 goto err;
24082406 }
24092407
2410
- mem_mapped_addr[i] = ioremap_nocache(resource, len);
2408
+ mem_mapped_addr[i] = ioremap(resource, len);
24112409 if (mem_mapped_addr[i] == NULL) {
24122410 release_mem_region(resource, len);
24132411 dev_dbg(dev->dev, "can't map memory\n");
....@@ -2455,7 +2453,7 @@
24552453
24562454 if (pci_enable_device(pdev) < 0) {
24572455 ret = -ENODEV;
2458
- goto err_free;
2456
+ goto err_put;
24592457 }
24602458
24612459 pci_set_master(pdev);
....@@ -2478,8 +2476,8 @@
24782476
24792477 err_pci:
24802478 pci_disable_device(pdev);
2481
- err_free:
2482
- kfree(dev);
2479
+ err_put:
2480
+ usb_put_gadget(&dev->gadget);
24832481
24842482 return ret;
24852483 }
....@@ -2540,7 +2538,7 @@
25402538
25412539 pci_disable_device(pdev);
25422540
2543
- kfree(dev);
2541
+ usb_put_gadget(&dev->gadget);
25442542 }
25452543
25462544 /* Table of matching PCI IDs */
....@@ -2631,7 +2629,7 @@
26312629 ret = -EBUSY;
26322630 goto err;
26332631 }
2634
- dev->base_addr = ioremap_nocache(base, len);
2632
+ dev->base_addr = ioremap(base, len);
26352633 if (!dev->base_addr) {
26362634 dev_dbg(dev->dev, "can't map memory\n");
26372635 ret = -EFAULT;
....@@ -2653,7 +2651,7 @@
26532651 err_req:
26542652 release_mem_region(base, len);
26552653 err:
2656
- kfree(dev);
2654
+ usb_put_gadget(&dev->gadget);
26572655
26582656 return ret;
26592657 }
....@@ -2668,7 +2666,7 @@
26682666 release_mem_region(pdev->resource[0].start,
26692667 resource_size(&pdev->resource[0]));
26702668
2671
- kfree(dev);
2669
+ usb_put_gadget(&dev->gadget);
26722670
26732671 return 0;
26742672 }