forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-02-20 ea08eeccae9297f7aabd2ef7f0c2517ac4549acc
kernel/drivers/parport/parport_serial.c
....@@ -61,7 +61,10 @@
6161 wch_ch382_0s1p,
6262 wch_ch382_2s1p,
6363 brainboxes_5s1p,
64
- sunix_2s1p,
64
+ sunix_4008a,
65
+ sunix_5069a,
66
+ sunix_5079a,
67
+ sunix_5099a,
6568 };
6669
6770 /* each element directly indexed from enum list, above */
....@@ -151,7 +154,10 @@
151154 /* wch_ch382_0s1p*/ { 1, { { 2, -1}, } },
152155 /* wch_ch382_2s1p*/ { 1, { { 2, -1}, } },
153156 /* brainboxes_5s1p */ { 1, { { 3, -1 }, } },
154
- /* sunix_2s1p */ { 1, { { 3, -1 }, } },
157
+ /* sunix_4008a */ { 1, { { 1, 2 }, } },
158
+ /* sunix_5069a */ { 1, { { 1, 2 }, } },
159
+ /* sunix_5079a */ { 1, { { 1, 2 }, } },
160
+ /* sunix_5099a */ { 1, { { 1, 2 }, } },
155161 };
156162
157163 static struct pci_device_id parport_serial_pci_tbl[] = {
....@@ -261,13 +267,15 @@
261267 { PCI_VENDOR_ID_INTASHIELD, 0x4100,
262268 PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_5s1p },
263269
264
- /*
265
- * More SUNIX variations. At least one of these has part number
266
- * '5079A but subdevice 0x102. That board reports 0x0708 as
267
- * its PCI Class.
268
- */
270
+ /* Sunix boards */
269271 { PCI_VENDOR_ID_SUNIX, PCI_DEVICE_ID_SUNIX_1999, PCI_VENDOR_ID_SUNIX,
270
- 0x0102, 0, 0, sunix_2s1p },
272
+ 0x0100, 0, 0, sunix_4008a },
273
+ { PCI_VENDOR_ID_SUNIX, PCI_DEVICE_ID_SUNIX_1999, PCI_VENDOR_ID_SUNIX,
274
+ 0x0101, 0, 0, sunix_5069a },
275
+ { PCI_VENDOR_ID_SUNIX, PCI_DEVICE_ID_SUNIX_1999, PCI_VENDOR_ID_SUNIX,
276
+ 0x0102, 0, 0, sunix_5079a },
277
+ { PCI_VENDOR_ID_SUNIX, PCI_DEVICE_ID_SUNIX_1999, PCI_VENDOR_ID_SUNIX,
278
+ 0x0104, 0, 0, sunix_5099a },
271279
272280 { 0, } /* terminate list */
273281 };
....@@ -516,11 +524,23 @@
516524 .base_baud = 921600,
517525 .uart_offset = 8,
518526 },
519
- [sunix_2s1p] = {
520
- .flags = FL_BASE0|FL_BASE_BARS,
527
+ [sunix_4008a] = {
528
+ .num_ports = 0,
529
+ },
530
+ [sunix_5069a] = {
531
+ .num_ports = 1,
532
+ .base_baud = 921600,
533
+ .uart_offset = 0x8,
534
+ },
535
+ [sunix_5079a] = {
521536 .num_ports = 2,
522
- .base_baud = 921600,
523
- .uart_offset = 8,
537
+ .base_baud = 921600,
538
+ .uart_offset = 0x8,
539
+ },
540
+ [sunix_5099a] = {
541
+ .num_ports = 4,
542
+ .base_baud = 921600,
543
+ .uart_offset = 0x8,
524544 },
525545 };
526546
....@@ -660,8 +680,7 @@
660680
661681 static int __maybe_unused parport_serial_pci_suspend(struct device *dev)
662682 {
663
- struct pci_dev *pdev = to_pci_dev(dev);
664
- struct parport_serial_private *priv = pci_get_drvdata(pdev);
683
+ struct parport_serial_private *priv = dev_get_drvdata(dev);
665684
666685 if (priv->serial)
667686 pciserial_suspend_ports(priv->serial);
....@@ -672,8 +691,7 @@
672691
673692 static int __maybe_unused parport_serial_pci_resume(struct device *dev)
674693 {
675
- struct pci_dev *pdev = to_pci_dev(dev);
676
- struct parport_serial_private *priv = pci_get_drvdata(pdev);
694
+ struct parport_serial_private *priv = dev_get_drvdata(dev);
677695
678696 if (priv->serial)
679697 pciserial_resume_ports(priv->serial);