@@ -964,6 +964,9 @@ static int pci_ite887x_init(struct pci_dev *dev)
964964 struct resource * iobase = NULL ;
965965 u32 miscr , uartbar , ioport ;
966966
967+ if (!IS_ENABLED (CONFIG_HAS_IOPORT ))
968+ return serial_8250_warn_need_ioport (dev );
969+
967970 /* search for the base-ioport */
968971 for (i = 0 ; i < ARRAY_SIZE (inta_addr ); i ++ ) {
969972 iobase = request_region (inta_addr [i ], ITE_887x_IOSIZE ,
@@ -1514,6 +1517,9 @@ static int pci_quatech_init(struct pci_dev *dev)
15141517 const struct pci_device_id * match ;
15151518 bool amcc = false;
15161519
1520+ if (!IS_ENABLED (CONFIG_HAS_IOPORT ))
1521+ return serial_8250_warn_need_ioport (dev );
1522+
15171523 match = pci_match_id (quatech_cards , dev );
15181524 if (match )
15191525 amcc = match -> driver_data ;
@@ -1538,6 +1544,9 @@ static int pci_quatech_setup(struct serial_private *priv,
15381544 const struct pciserial_board * board ,
15391545 struct uart_8250_port * port , int idx )
15401546{
1547+ if (!IS_ENABLED (CONFIG_HAS_IOPORT ))
1548+ return serial_8250_warn_need_ioport (priv -> dev );
1549+
15411550 /* Needed by pci_quatech calls below */
15421551 port -> port .iobase = pci_resource_start (priv -> dev , FL_GET_BASE (board -> flags ));
15431552 /* Set up the clocking */
@@ -1655,6 +1664,9 @@ static int pci_fintek_setup(struct serial_private *priv,
16551664 u8 config_base ;
16561665 u16 iobase ;
16571666
1667+ if (!IS_ENABLED (CONFIG_HAS_IOPORT ))
1668+ return serial_8250_warn_need_ioport (pdev );
1669+
16581670 config_base = 0x40 + 0x08 * idx ;
16591671
16601672 /* Get the io address from configuration space */
@@ -1686,6 +1698,9 @@ static int pci_fintek_init(struct pci_dev *dev)
16861698 u8 config_base ;
16871699 struct serial_private * priv = pci_get_drvdata (dev );
16881700
1701+ if (!IS_ENABLED (CONFIG_HAS_IOPORT ))
1702+ return serial_8250_warn_need_ioport (dev );
1703+
16891704 if (!(pci_resource_flags (dev , 5 ) & IORESOURCE_IO ) ||
16901705 !(pci_resource_flags (dev , 4 ) & IORESOURCE_IO ) ||
16911706 !(pci_resource_flags (dev , 3 ) & IORESOURCE_IO ))
@@ -1864,6 +1879,9 @@ static int kt_serial_setup(struct serial_private *priv,
18641879 const struct pciserial_board * board ,
18651880 struct uart_8250_port * port , int idx )
18661881{
1882+ if (!IS_ENABLED (CONFIG_HAS_IOPORT ))
1883+ return serial_8250_warn_need_ioport (priv -> dev );
1884+
18671885 port -> port .flags |= UPF_BUG_THRE ;
18681886 port -> port .serial_in = kt_serial_in ;
18691887 port -> port .handle_break = kt_handle_break ;
@@ -1884,6 +1902,9 @@ pci_wch_ch353_setup(struct serial_private *priv,
18841902 const struct pciserial_board * board ,
18851903 struct uart_8250_port * port , int idx )
18861904{
1905+ if (!IS_ENABLED (CONFIG_HAS_IOPORT ))
1906+ return serial_8250_warn_need_ioport (priv -> dev );
1907+
18871908 port -> port .flags |= UPF_FIXED_TYPE ;
18881909 port -> port .type = PORT_16550A ;
18891910 return pci_default_setup (priv , board , port , idx );
@@ -1894,6 +1915,9 @@ pci_wch_ch355_setup(struct serial_private *priv,
18941915 const struct pciserial_board * board ,
18951916 struct uart_8250_port * port , int idx )
18961917{
1918+ if (!IS_ENABLED (CONFIG_HAS_IOPORT ))
1919+ return serial_8250_warn_need_ioport (priv -> dev );
1920+
18971921 port -> port .flags |= UPF_FIXED_TYPE ;
18981922 port -> port .type = PORT_16550A ;
18991923 return pci_default_setup (priv , board , port , idx );
@@ -1904,6 +1928,9 @@ pci_wch_ch38x_setup(struct serial_private *priv,
19041928 const struct pciserial_board * board ,
19051929 struct uart_8250_port * port , int idx )
19061930{
1931+ if (!IS_ENABLED (CONFIG_HAS_IOPORT ))
1932+ return serial_8250_warn_need_ioport (priv -> dev );
1933+
19071934 port -> port .flags |= UPF_FIXED_TYPE ;
19081935 port -> port .type = PORT_16850 ;
19091936 return pci_default_setup (priv , board , port , idx );
@@ -1918,6 +1945,8 @@ static int pci_wch_ch38x_init(struct pci_dev *dev)
19181945 int max_port ;
19191946 unsigned long iobase ;
19201947
1948+ if (!IS_ENABLED (CONFIG_HAS_IOPORT ))
1949+ return serial_8250_warn_need_ioport (dev );
19211950
19221951 switch (dev -> device ) {
19231952 case 0x3853 : /* 8 ports */
@@ -1937,6 +1966,11 @@ static void pci_wch_ch38x_exit(struct pci_dev *dev)
19371966{
19381967 unsigned long iobase ;
19391968
1969+ if (!IS_ENABLED (CONFIG_HAS_IOPORT )) {
1970+ serial_8250_warn_need_ioport (dev );
1971+ return ;
1972+ }
1973+
19401974 iobase = pci_resource_start (dev , 0 );
19411975 outb (0x0 , iobase + CH384_XINT_ENABLE_REG );
19421976}
@@ -2052,6 +2086,9 @@ static int pci_moxa_init(struct pci_dev *dev)
20522086 unsigned int i , num_ports = moxa_get_nports (device );
20532087 u8 val , init_mode = MOXA_RS232 ;
20542088
2089+ if (!IS_ENABLED (CONFIG_HAS_IOPORT ))
2090+ return serial_8250_warn_need_ioport (dev );
2091+
20552092 if (!(pci_moxa_supported_rs (dev ) & MOXA_SUPP_RS232 )) {
20562093 init_mode = MOXA_RS422 ;
20572094 }
@@ -2084,6 +2121,9 @@ pci_moxa_setup(struct serial_private *priv,
20842121 unsigned int bar = FL_GET_BASE (board -> flags );
20852122 int offset ;
20862123
2124+ if (!IS_ENABLED (CONFIG_HAS_IOPORT ))
2125+ return serial_8250_warn_need_ioport (priv -> dev );
2126+
20872127 if (board -> num_ports == 4 && idx == 3 )
20882128 offset = 7 * board -> uart_offset ;
20892129 else
0 commit comments