diff options
Diffstat (limited to 'drivers/net')
45 files changed, 538 insertions, 154 deletions
diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig index 6a70184c3f2..56c2d75a63d 100644 --- a/drivers/net/Kconfig +++ b/drivers/net/Kconfig @@ -123,8 +123,7 @@ config IFB source "drivers/net/team/Kconfig" config MACVLAN - tristate "MAC-VLAN support (EXPERIMENTAL)" - depends on EXPERIMENTAL + tristate "MAC-VLAN support" ---help--- This allows one to create virtual interfaces that map packets to or from specific MAC addresses to a particular interface. @@ -138,7 +137,7 @@ config MACVLAN will be called macvlan. config MACVTAP - tristate "MAC-VLAN based tap driver (EXPERIMENTAL)" + tristate "MAC-VLAN based tap driver" depends on MACVLAN help This adds a specialized tap character device driver that is based @@ -189,6 +188,10 @@ config NETPOLL_TRAP config NET_POLL_CONTROLLER def_bool NETPOLL +config NTB_NETDEV + tristate "Virtual Ethernet over NTB" + depends on NTB + config RIONET tristate "RapidIO Ethernet over messaging driver support" depends on RAPIDIO @@ -234,8 +237,8 @@ config VETH versa. config VIRTIO_NET - tristate "Virtio network driver (EXPERIMENTAL)" - depends on EXPERIMENTAL && VIRTIO + tristate "Virtio network driver" + depends on VIRTIO ---help--- This is the virtual network driver for virtio. It can be used with lguest or QEMU based VMMs (like KVM or Xen). Say Y or M. diff --git a/drivers/net/Makefile b/drivers/net/Makefile index 335db78fd98..ef3d090efed 100644 --- a/drivers/net/Makefile +++ b/drivers/net/Makefile @@ -71,3 +71,4 @@ obj-$(CONFIG_USB_IPHETH) += usb/ obj-$(CONFIG_USB_CDC_PHONET) += usb/ obj-$(CONFIG_HYPERV_NET) += hyperv/ +obj-$(CONFIG_NTB_NETDEV) += ntb_netdev.o diff --git a/drivers/net/caif/Kconfig b/drivers/net/caif/Kconfig index abf4d7a9dcc..60c2142373c 100644 --- a/drivers/net/caif/Kconfig +++ b/drivers/net/caif/Kconfig @@ -6,7 +6,7 @@ comment "CAIF transport drivers" config CAIF_TTY tristate "CAIF TTY transport driver" - depends on CAIF + depends on CAIF && TTY default n ---help--- The CAIF TTY transport driver is a Line Discipline (ldisc) diff --git a/drivers/net/caif/caif_serial.c b/drivers/net/caif/caif_serial.c index 5de74e76202..666891a9a24 100644 --- a/drivers/net/caif/caif_serial.c +++ b/drivers/net/caif/caif_serial.c @@ -91,7 +91,7 @@ static inline void update_tty_status(struct ser_device *ser) ser->tty->hw_stopped << 4 | ser->tty->flow_stopped << 3 | ser->tty->packet << 2 | - ser->tty->low_latency << 1 | + ser->tty->port->low_latency << 1 | ser->tty->warned; } static inline void debugfs_init(struct ser_device *ser, struct tty_struct *tty) diff --git a/drivers/net/can/Kconfig b/drivers/net/can/Kconfig index 1cca19f1c49..9862b2e0764 100644 --- a/drivers/net/can/Kconfig +++ b/drivers/net/can/Kconfig @@ -11,6 +11,7 @@ config CAN_VCAN config CAN_SLCAN tristate "Serial / USB serial CAN Adaptors (slcan)" + depends on TTY ---help--- CAN driver for several 'low cost' CAN interfaces that are attached via serial lines or via USB-to-serial adapters using the LAWICEL diff --git a/drivers/net/ethernet/8390/Kconfig b/drivers/net/ethernet/8390/Kconfig index 1b78ca7a978..a5f91e1e8fe 100644 --- a/drivers/net/ethernet/8390/Kconfig +++ b/drivers/net/ethernet/8390/Kconfig @@ -5,10 +5,7 @@ config NET_VENDOR_8390 bool "National Semi-conductor 8390 devices" default y - depends on NET_VENDOR_NATSEMI && (AMIGA_PCMCIA || PCI || SUPERH || \ - ISA || MAC || M32R || MACH_TX49XX || \ - H8300 || ARM || MIPS || ZORRO || PCMCIA || \ - EXPERIMENTAL) + depends on NET_VENDOR_NATSEMI ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from diff --git a/drivers/net/ethernet/atheros/Kconfig b/drivers/net/ethernet/atheros/Kconfig index 1ed886d421f..36d6abd1cff 100644 --- a/drivers/net/ethernet/atheros/Kconfig +++ b/drivers/net/ethernet/atheros/Kconfig @@ -44,8 +44,8 @@ config ATL1 will be called atl1. config ATL1E - tristate "Atheros L1E Gigabit Ethernet support (EXPERIMENTAL)" - depends on PCI && EXPERIMENTAL + tristate "Atheros L1E Gigabit Ethernet support" + depends on PCI select CRC32 select NET_CORE select MII @@ -56,8 +56,8 @@ config ATL1E will be called atl1e. config ATL1C - tristate "Atheros L1C Gigabit Ethernet support (EXPERIMENTAL)" - depends on PCI && EXPERIMENTAL + tristate "Atheros L1C Gigabit Ethernet support" + depends on PCI select CRC32 select NET_CORE select MII diff --git a/drivers/net/ethernet/dec/tulip/Kconfig b/drivers/net/ethernet/dec/tulip/Kconfig index 1203be0436e..0c37fb2cc86 100644 --- a/drivers/net/ethernet/dec/tulip/Kconfig +++ b/drivers/net/ethernet/dec/tulip/Kconfig @@ -57,8 +57,8 @@ config TULIP be called tulip. config TULIP_MWI - bool "New bus configuration (EXPERIMENTAL)" - depends on TULIP && EXPERIMENTAL + bool "New bus configuration" + depends on TULIP ---help--- This configures your Tulip card specifically for the card and system cache line size type you are using. diff --git a/drivers/net/ethernet/fujitsu/Kconfig b/drivers/net/ethernet/fujitsu/Kconfig index c6a87625898..6231bc02b96 100644 --- a/drivers/net/ethernet/fujitsu/Kconfig +++ b/drivers/net/ethernet/fujitsu/Kconfig @@ -5,7 +5,7 @@ config NET_VENDOR_FUJITSU bool "Fujitsu devices" default y - depends on ISA || PCMCIA || (ISA && EXPERIMENTAL) + depends on ISA || PCMCIA ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from diff --git a/drivers/net/ethernet/i825xx/Kconfig b/drivers/net/ethernet/i825xx/Kconfig index 955d929cd00..9521e68aa3b 100644 --- a/drivers/net/ethernet/i825xx/Kconfig +++ b/drivers/net/ethernet/i825xx/Kconfig @@ -5,9 +5,7 @@ config NET_VENDOR_I825XX bool "Intel (82586/82593/82596) devices" default y - depends on NET_VENDOR_INTEL && (ISA || ISA_DMA_API || ARM || \ - ARCH_ACORN || SNI_RM || SUN3 || \ - GSC || BVME6000 || MVME16x || EXPERIMENTAL) + depends on NET_VENDOR_INTEL ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from diff --git a/drivers/net/ethernet/icplus/Kconfig b/drivers/net/ethernet/icplus/Kconfig index 3aff81d7989..5119ef18953 100644 --- a/drivers/net/ethernet/icplus/Kconfig +++ b/drivers/net/ethernet/icplus/Kconfig @@ -4,7 +4,7 @@ config IP1000 tristate "IP1000 Gigabit Ethernet support" - depends on PCI && EXPERIMENTAL + depends on PCI select NET_CORE select MII ---help--- diff --git a/drivers/net/ethernet/intel/Kconfig b/drivers/net/ethernet/intel/Kconfig index 3d5f6d46375..05f7264c51f 100644 --- a/drivers/net/ethernet/intel/Kconfig +++ b/drivers/net/ethernet/intel/Kconfig @@ -5,11 +5,6 @@ config NET_VENDOR_INTEL bool "Intel devices" default y - depends on PCI || PCI_MSI || ISA || ISA_DMA_API || ARM || \ - ARCH_ACORN || SNI_RM || SUN3 || \ - GSC || BVME6000 || MVME16x || \ - (ARM && ARCH_IXP4XX && IXP4XX_NPE && IXP4XX_QMGR) || \ - EXPERIMENTAL ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from diff --git a/drivers/net/ethernet/microchip/Kconfig b/drivers/net/ethernet/microchip/Kconfig index 8163fd0f453..afaf0c07f37 100644 --- a/drivers/net/ethernet/microchip/Kconfig +++ b/drivers/net/ethernet/microchip/Kconfig @@ -5,7 +5,7 @@ config NET_VENDOR_MICROCHIP bool "Microchip devices" default y - depends on SPI && EXPERIMENTAL + depends on SPI ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from @@ -20,7 +20,7 @@ if NET_VENDOR_MICROCHIP config ENC28J60 tristate "ENC28J60 support" - depends on SPI && EXPERIMENTAL + depends on SPI select CRC32 ---help--- Support for the Microchip EN28J60 ethernet chip. diff --git a/drivers/net/ethernet/natsemi/Kconfig b/drivers/net/ethernet/natsemi/Kconfig index f157334579f..a100860d45e 100644 --- a/drivers/net/ethernet/natsemi/Kconfig +++ b/drivers/net/ethernet/natsemi/Kconfig @@ -5,9 +5,6 @@ config NET_VENDOR_NATSEMI bool "National Semi-conductor devices" default y - depends on AMIGA_PCMCIA || ARM || EISA || EXPERIMENTAL || H8300 || \ - ISA || M32R || MAC || MACH_JAZZ || MACH_TX49XX || MIPS || \ - PCI || PCMCIA || SUPERH || XTENSA_PLATFORM_XT2000 || ZORRO ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from diff --git a/drivers/net/ethernet/packetengines/Kconfig b/drivers/net/ethernet/packetengines/Kconfig index 8f29feb3554..cbbeca3f8c5 100644 --- a/drivers/net/ethernet/packetengines/Kconfig +++ b/drivers/net/ethernet/packetengines/Kconfig @@ -32,8 +32,8 @@ config HAMACHI called hamachi. config YELLOWFIN - tristate "Packet Engines Yellowfin Gigabit-NIC support (EXPERIMENTAL)" - depends on PCI && EXPERIMENTAL + tristate "Packet Engines Yellowfin Gigabit-NIC support" + depends on PCI select CRC32 ---help--- Say Y here if you have a Packet Engines G-NIC PCI Gigabit Ethernet diff --git a/drivers/net/ethernet/realtek/Kconfig b/drivers/net/ethernet/realtek/Kconfig index 5821966f9f2..783fa8b5cde 100644 --- a/drivers/net/ethernet/realtek/Kconfig +++ b/drivers/net/ethernet/realtek/Kconfig @@ -34,8 +34,8 @@ config ATP will be called atp. config 8139CP - tristate "RealTek RTL-8139 C+ PCI Fast Ethernet Adapter support (EXPERIMENTAL)" - depends on PCI && EXPERIMENTAL + tristate "RealTek RTL-8139 C+ PCI Fast Ethernet Adapter support" + depends on PCI select CRC32 select NET_CORE select MII diff --git a/drivers/net/ethernet/seeq/Kconfig b/drivers/net/ethernet/seeq/Kconfig index a71e1ec068e..11f168e46eb 100644 --- a/drivers/net/ethernet/seeq/Kconfig +++ b/drivers/net/ethernet/seeq/Kconfig @@ -6,7 +6,6 @@ config NET_VENDOR_SEEQ bool "SEEQ devices" default y depends on HAS_IOMEM - depends on (ARM && ARCH_ACORN) || SGI_HAS_SEEQ || EXPERIMENTAL ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from diff --git a/drivers/net/ethernet/silan/Kconfig b/drivers/net/ethernet/silan/Kconfig index ae1ce170864..3409b3f97a1 100644 --- a/drivers/net/ethernet/silan/Kconfig +++ b/drivers/net/ethernet/silan/Kconfig @@ -5,7 +5,7 @@ config NET_VENDOR_SILAN bool "Silan devices" default y - depends on PCI && EXPERIMENTAL + depends on PCI ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from @@ -19,8 +19,8 @@ config NET_VENDOR_SILAN if NET_VENDOR_SILAN config SC92031 - tristate "Silan SC92031 PCI Fast Ethernet Adapter driver (EXPERIMENTAL)" - depends on PCI && EXPERIMENTAL + tristate "Silan SC92031 PCI Fast Ethernet Adapter driver" + depends on PCI select CRC32 ---help--- This is a driver for the Fast Ethernet PCI network cards based on diff --git a/drivers/net/ethernet/stmicro/stmmac/Kconfig b/drivers/net/ethernet/stmicro/stmmac/Kconfig index 1164930a40a..c0ea838c78d 100644 --- a/drivers/net/ethernet/stmicro/stmmac/Kconfig +++ b/drivers/net/ethernet/stmicro/stmmac/Kconfig @@ -26,8 +26,8 @@ config STMMAC_PLATFORM If unsure, say N. config STMMAC_PCI - bool "STMMAC PCI bus support (EXPERIMENTAL)" - depends on STMMAC_ETH && PCI && EXPERIMENTAL + bool "STMMAC PCI bus support" + depends on STMMAC_ETH && PCI ---help--- This is to select the Synopsys DWMAC available on PCI devices, if you have a controller with this interface, say Y or M here. diff --git a/drivers/net/ethernet/sun/Kconfig b/drivers/net/ethernet/sun/Kconfig index 208c39dedc2..3074aa374c6 100644 --- a/drivers/net/ethernet/sun/Kconfig +++ b/drivers/net/ethernet/sun/Kconfig @@ -32,8 +32,8 @@ config HAPPYMEAL will be called sunhme. config SUNBMAC - tristate "Sun BigMAC 10/100baseT support (EXPERIMENTAL)" - depends on SBUS && EXPERIMENTAL + tristate "Sun BigMAC 10/100baseT support" + depends on SBUS select CRC32 ---help--- This driver supports the "be" interface available as an Sbus option. diff --git a/drivers/net/ethernet/ti/Kconfig b/drivers/net/ethernet/ti/Kconfig index 4426151d4ac..de71b1ec462 100644 --- a/drivers/net/ethernet/ti/Kconfig +++ b/drivers/net/ethernet/ti/Kconfig @@ -88,8 +88,8 @@ config TLAN Please email feedback to <torben.mathiasen@compaq.com>. config CPMAC - tristate "TI AR7 CPMAC Ethernet support (EXPERIMENTAL)" - depends on EXPERIMENTAL && AR7 + tristate "TI AR7 CPMAC Ethernet support" + depends on AR7 select PHYLIB ---help--- TI AR7 CPMAC Ethernet support diff --git a/drivers/net/ethernet/ti/davinci_cpdma.c b/drivers/net/ethernet/ti/davinci_cpdma.c index 68c3418160b..ee13dc78430 100644 --- a/drivers/net/ethernet/ti/davinci_cpdma.c +++ b/drivers/net/ethernet/ti/davinci_cpdma.c @@ -492,11 +492,13 @@ int cpdma_ctlr_int_ctrl(struct cpdma_ctlr *ctlr, bool enable) spin_unlock_irqrestore(&ctlr->lock, flags); return 0; } +EXPORT_SYMBOL_GPL(cpdma_ctlr_int_ctrl); void cpdma_ctlr_eoi(struct cpdma_ctlr *ctlr, u32 value) { dma_reg_write(ctlr, CPDMA_MACEOIVECTOR, value); } +EXPORT_SYMBOL_GPL(cpdma_ctlr_eoi); struct cpdma_chan *cpdma_chan_create(struct cpdma_ctlr *ctlr, int chan_num, cpdma_handler_fn handler) @@ -1028,3 +1030,4 @@ unlock_ret: spin_unlock_irqrestore(&ctlr->lock, flags); return ret; } +EXPORT_SYMBOL_GPL(cpdma_control_set); diff --git a/drivers/net/hamradio/Kconfig b/drivers/net/hamradio/Kconfig index 95dbcfdf131..bf5e5968768 100644 --- a/drivers/net/hamradio/Kconfig +++ b/drivers/net/hamradio/Kconfig @@ -1,6 +1,6 @@ config MKISS tristate "Serial port KISS driver" - depends on AX25 + depends on AX25 && TTY select CRC16 ---help--- KISS is a protocol used for the exchange of data between a computer @@ -18,7 +18,7 @@ config MKISS config 6PACK tristate "Serial port 6PACK driver" - depends on AX25 + depends on AX25 && TTY ---help--- 6pack is a transmission protocol for the data exchange between your PC and your TNC (the Terminal Node Controller acts as a kind of diff --git a/drivers/net/hippi/Kconfig b/drivers/net/hippi/Kconfig index 95eb34fdbba..f71515dc5be 100644 --- a/drivers/net/hippi/Kconfig +++ b/drivers/net/hippi/Kconfig @@ -3,8 +3,8 @@ # config HIPPI - bool "HIPPI driver support (EXPERIMENTAL)" - depends on EXPERIMENTAL && INET && PCI + bool "HIPPI driver support" + depends on INET && PCI ---help--- HIgh Performance Parallel Interface (HIPPI) is a 800Mbit/sec and 1600Mbit/sec dual-simplex switched or point-to-point network. HIPPI @@ -18,7 +18,7 @@ config HIPPI if HIPPI config ROADRUNNER - tristate "Essential RoadRunner HIPPI PCI adapter support (EXPERIMENTAL)" + tristate "Essential RoadRunner HIPPI PCI adapter support" depends on PCI ---help--- Say Y here if this is your PCI HIPPI network card. @@ -27,7 +27,7 @@ config ROADRUNNER will be called rrunner. If unsure, say N. config ROADRUNNER_LARGE_RINGS - bool "Use large TX/RX rings (EXPERIMENTAL)" + bool "Use large TX/RX rings" depends on ROADRUNNER ---help--- If you say Y here, the RoadRunner driver will preallocate up to 2 MB diff --git a/drivers/net/hyperv/netvsc_drv.c b/drivers/net/hyperv/netvsc_drv.c index d5202a4b087..5f85205cd12 100644 --- a/drivers/net/hyperv/netvsc_drv.c +++ b/drivers/net/hyperv/netvsc_drv.c @@ -498,8 +498,7 @@ static int netvsc_remove(struct hv_device *dev) static const struct hv_vmbus_device_id id_table[] = { /* Network guid */ - { VMBUS_DEVICE(0x63, 0x51, 0x61, 0xF8, 0x3E, 0xDF, 0xc5, 0x46, - 0x91, 0x3F, 0xF2, 0xD2, 0xF9, 0x65, 0xED, 0x0E) }, + { HV_NIC_GUID, }, { }, }; diff --git a/drivers/net/irda/Kconfig b/drivers/net/irda/Kconfig index 595205406d7..2a30193d0d5 100644 --- a/drivers/net/irda/Kconfig +++ b/drivers/net/irda/Kconfig @@ -5,7 +5,7 @@ comment "SIR device drivers" config IRTTY_SIR tristate "IrTTY (uses Linux serial driver)" - depends on IRDA + depends on IRDA && TTY help Say Y here if you want to build support for the IrTTY line discipline. To compile it as a module, choose M here: the module @@ -140,7 +140,7 @@ config LITELINK_DONGLE config MA600_DONGLE tristate "Mobile Action MA600 dongle" - depends on IRTTY_SIR && DONGLE && IRDA && EXPERIMENTAL + depends on IRTTY_SIR && DONGLE && IRDA help Say Y here if you want to build support for the Mobile Action MA600 dongle. To compile it as a module, choose M here. The MA600 dongle @@ -153,7 +153,7 @@ config MA600_DONGLE config GIRBIL_DONGLE tristate "Greenwich GIrBIL dongle" - depends on IRTTY_SIR && DONGLE && IRDA && EXPERIMENTAL + depends on IRTTY_SIR && DONGLE && IRDA help Say Y here if you want to build support for the Greenwich GIrBIL dongle. If you want to compile it as a module, choose M here. @@ -164,7 +164,7 @@ config GIRBIL_DONGLE config MCP2120_DONGLE tristate "Microchip MCP2120" - depends on IRTTY_SIR && DONGLE && IRDA && EXPERIMENTAL + depends on IRTTY_SIR && DONGLE && IRDA help Say Y here if you want to build support for the Microchip MCP2120 dongle. If you want to compile it as a module, choose M here. @@ -178,7 +178,7 @@ config MCP2120_DONGLE config OLD_BELKIN_DONGLE tristate "Old Belkin dongle" - depends on IRTTY_SIR && DONGLE && IRDA && EXPERIMENTAL + depends on IRTTY_SIR && DONGLE && IRDA help Say Y here if you want to build support for the Adaptec Airport 1000 and 2000 dongles. If you want to compile it as a module, choose @@ -187,7 +187,7 @@ config OLD_BELKIN_DONGLE config ACT200L_DONGLE tristate "ACTiSYS IR-200L dongle" - depends on IRTTY_SIR && DONGLE && IRDA && EXPERIMENTAL + depends on IRTTY_SIR && DONGLE && IRDA help Say Y here if you want to build support for the ACTiSYS IR-200L dongle. If you want to compile it as a module, choose M here. @@ -198,7 +198,7 @@ config ACT200L_DONGLE config KINGSUN_DONGLE tristate "KingSun/DonShine DS-620 IrDA-USB dongle" - depends on IRDA && USB && EXPERIMENTAL + depends on IRDA && USB help Say Y or M here if you want to build support for the KingSun/DonShine DS-620 IrDA-USB bridge device driver. @@ -212,14 +212,14 @@ config KINGSUN_DONGLE config EP7211_DONGLE tristate "Cirrus Logic clps711x I/R support" - depends on IRTTY_SIR && ARCH_CLPS711X && IRDA && EXPERIMENTAL + depends on IRTTY_SIR && ARCH_CLPS711X && IRDA help Say Y here if you want to build support for the Cirrus logic EP7211 chipset's infrared module. config KSDAZZLE_DONGLE - tristate "KingSun Dazzle IrDA-USB dongle (EXPERIMENTAL)" - depends on IRDA && USB && EXPERIMENTAL + tristate "KingSun Dazzle IrDA-USB dongle" + depends on IRDA && USB help Say Y or M here if you want to build support for the KingSun Dazzle IrDA-USB bridge device driver. @@ -232,8 +232,8 @@ config KSDAZZLE_DONGLE ksdazzle-sir. config KS959_DONGLE - tristate "KingSun KS-959 IrDA-USB dongle (EXPERIMENTAL)" - depends on IRDA && USB && EXPERIMENTAL + tristate "KingSun KS-959 IrDA-USB dongle" + depends on IRDA && USB help Say Y or M here if you want to build support for the KingSun KS-959 IrDA-USB bridge device driver. @@ -264,8 +264,8 @@ config USB_IRDA you will need both USB and IrDA support in your kernel... config SIGMATEL_FIR - tristate "SigmaTel STIr4200 bridge (EXPERIMENTAL)" - depends on IRDA && USB && EXPERIMENTAL + tristate "SigmaTel STIr4200 bridge" + depends on IRDA && USB select CRC32 ---help--- Say Y here if you want to build support for the SigmaTel STIr4200 @@ -331,8 +331,8 @@ config SMC_IRCC_FIR smsc-ircc2.o. config ALI_FIR - tristate "ALi M5123 FIR (EXPERIMENTAL)" - depends on EXPERIMENTAL && IRDA && ISA_DMA_API + tristate "ALi M5123 FIR" + depends on IRDA && ISA_DMA_API help Say Y here if you want to build support for the ALi M5123 FIR Controller. The ALi M5123 FIR Controller is embedded in ALi M1543C, @@ -343,8 +343,8 @@ config ALI_FIR ali-ircc. config VLSI_FIR - tristate "VLSI 82C147 SIR/MIR/FIR (EXPERIMENTAL)" - depends on EXPERIMENTAL && IRDA && PCI + tristate "VLSI 82C147 SIR/MIR/FIR" + depends on IRDA && PCI help Say Y here if you want to build support for the VLSI 82C147 PCI-IrDA Controller. This controller is used by the HP OmniBook 800 @@ -387,7 +387,7 @@ config PXA_FICP config MCS_FIR tristate "MosChip MCS7780 IrDA-USB dongle" - depends on IRDA && USB && EXPERIMENTAL + depends on IRDA && USB select CRC32 help Say Y or M here if you want to build support for the MosChip diff --git a/drivers/net/irda/irtty-sir.c b/drivers/net/irda/irtty-sir.c index 6e4d4b62c9a..a4126719783 100644 --- a/drivers/net/irda/irtty-sir.c +++ b/drivers/net/irda/irtty-sir.c @@ -210,7 +210,7 @@ static int irtty_do_write(struct sir_dev *dev, const unsigned char *ptr, size_t * been received, which can now be decapsulated and delivered for * further processing * - * calling context depends on underlying driver and tty->low_latency! + * calling context depends on underlying driver and tty->port->low_latency! * for example (low_latency: 1 / 0): * serial.c: uart-interrupt / softint * usbserial: urb-complete-interrupt / softint diff --git a/drivers/net/ntb_netdev.c b/drivers/net/ntb_netdev.c new file mode 100644 index 00000000000..ed947dd76fb --- /dev/null +++ b/drivers/net/ntb_netdev.c @@ -0,0 +1,408 @@ +/* + * This file is provided under a dual BSD/GPLv2 license. When using or + * redistributing this file, you may do so under either license. + * + * GPL LICENSE SUMMARY + * + * Copyright(c) 2012 Intel Corporation. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * BSD LICENSE + * + * Copyright(c) 2012 Intel Corporation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copy + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Intel Corporation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * Intel PCIe NTB Network Linux driver + * + * Contact Information: + * Jon Mason <jon.mason@intel.com> + */ +#include <linux/etherdevice.h> +#include <linux/ethtool.h> +#include <linux/module.h> +#include <linux/pci.h> +#include <linux/ntb.h> + +#define NTB_NETDEV_VER "0.7" + +MODULE_DESCRIPTION(KBUILD_MODNAME); +MODULE_VERSION(NTB_NETDEV_VER); +MODULE_LICENSE("Dual BSD/GPL"); +MODULE_AUTHOR("Intel Corporation"); + +struct ntb_netdev { + struct list_head list; + struct pci_dev *pdev; + struct net_device *ndev; + struct ntb_transport_qp *qp; +}; + +#define NTB_TX_TIMEOUT_MS 1000 +#define NTB_RXQ_SIZE 100 + +static LIST_HEAD(dev_list); + +static void ntb_netdev_event_handler(void *data, int status) +{ + struct net_device *ndev = data; + struct ntb_netdev *dev = netdev_priv(ndev); + + netdev_dbg(ndev, "Event %x, Link %x\n", status, + ntb_transport_link_query(dev->qp)); + + /* Currently, only link status event is supported */ + if (status) + netif_carrier_on(ndev); + else + netif_carrier_off(ndev); +} + +static void ntb_netdev_rx_handler(struct ntb_transport_qp *qp, void *qp_data, + void *data, int len) +{ + struct net_device *ndev = qp_data; + struct sk_buff *skb; + int rc; + + skb = data; + if (!skb) + return; + + netdev_dbg(ndev, "%s: %d byte payload received\n", __func__, len); + + skb_put(skb, len); + skb->protocol = eth_type_trans(skb, ndev); + skb->ip_summed = CHECKSUM_NONE; + + if (netif_rx(skb) == NET_RX_DROP) { + ndev->stats.rx_errors++; + ndev->stats.rx_dropped++; + } else { + ndev->stats.rx_packets++; + ndev->stats.rx_bytes += len; + } + + skb = netdev_alloc_skb(ndev, ndev->mtu + ETH_HLEN); + if (!skb) { + ndev->stats.rx_errors++; + ndev->stats.rx_frame_errors++; + return; + } + + rc = ntb_transport_rx_enqueue(qp, skb, skb->data, ndev->mtu + ETH_HLEN); + if (rc) { + dev_kfree_skb(skb); + ndev->stats.rx_errors++; + ndev->stats.rx_fifo_errors++; + } +} + +static void ntb_netdev_tx_handler(struct ntb_transport_qp *qp, void *qp_data, + void *data, int len) +{ + struct net_device *ndev = qp_data; + struct sk_buff *skb; + + skb = data; + if (!skb || !ndev) + return; + + if (len > 0) { + ndev->stats.tx_packets++; + ndev->stats.tx_bytes += skb->len; + } else { + ndev->stats.tx_errors++; + ndev->stats.tx_aborted_errors++; + } + + dev_kfree_skb(skb); +} + +static netdev_tx_t ntb_netdev_start_xmit(struct sk_buff *skb, + struct net_device *ndev) +{ + struct ntb_netdev *dev = netdev_priv(ndev); + int rc; + + netdev_dbg(ndev, "%s: skb len %d\n", __func__, skb->len); + + rc = ntb_transport_tx_enqueue(dev->qp, skb, skb->data, skb->len); + if (rc) + goto err; + + return NETDEV_TX_OK; + +err: + ndev->stats.tx_dropped++; + ndev->stats.tx_errors++; + return NETDEV_TX_BUSY; +} + +static int ntb_netdev_open(struct net_device *ndev) +{ + struct ntb_netdev *dev = netdev_priv(ndev); + struct sk_buff *skb; + int rc, i, len; + + /* Add some empty rx bufs */ + for (i = 0; i < NTB_RXQ_SIZE; i++) { + skb = netdev_alloc_skb(ndev, ndev->mtu + ETH_HLEN); + if (!skb) { + rc = -ENOMEM; + goto err; + } + + rc = ntb_transport_rx_enqueue(dev->qp, skb, skb->data, + ndev->mtu + ETH_HLEN); + if (rc == -EINVAL) + goto err; + } + + netif_carrier_off(ndev); + ntb_transport_link_up(dev->qp); + + return 0; + +err: + while ((skb = ntb_transport_rx_remove(dev->qp, &len))) + dev_kfree_skb(skb); + return rc; +} + +static int ntb_netdev_close(struct net_device *ndev) +{ + struct ntb_netdev *dev = netdev_priv(ndev); + struct sk_buff *skb; + int len; + + ntb_transport_link_down(dev->qp); + + while ((skb = ntb_transport_rx_remove(dev->qp, &len))) + dev_kfree_skb(skb); + + return 0; +} + +static int ntb_netdev_change_mtu(struct net_device *ndev, int new_mtu) +{ + struct ntb_netdev *dev = netdev_priv(ndev); + struct sk_buff *skb; + int len, rc; + + if (new_mtu > ntb_transport_max_size(dev->qp) - ETH_HLEN) + return -EINVAL; + + if (!netif_running(ndev)) { + ndev->mtu = new_mtu; + return 0; + } + + /* Bring down the link and dispose of posted rx entries */ + ntb_transport_link_down(dev->qp); + + if (ndev->mtu < new_mtu) { + int i; + + for (i = 0; (skb = ntb_transport_rx_remove(dev->qp, &len)); i++) + dev_kfree_skb(skb); + + for (; i; i--) { + skb = netdev_alloc_skb(ndev, new_mtu + ETH_HLEN); + if (!skb) { + rc = -ENOMEM; + goto err; + } + + rc = ntb_transport_rx_enqueue(dev->qp, skb, skb->data, + new_mtu + ETH_HLEN); + if (rc) { + dev_kfree_skb(skb); + goto err; + } + } + } + + ndev->mtu = new_mtu; + + ntb_transport_link_up(dev->qp); + + return 0; + +err: + ntb_transport_link_down(dev->qp); + + while ((skb = ntb_transport_rx_remove(dev->qp, &len))) + dev_kfree_skb(skb); + + netdev_err(ndev, "Error changing MTU, device inoperable\n"); + return rc; +} + +static const struct net_device_ops ntb_netdev_ops = { + .ndo_open = ntb_netdev_open, + .ndo_stop = ntb_netdev_close, + .ndo_start_xmit = ntb_netdev_start_xmit, + .ndo_change_mtu = ntb_netdev_change_mtu, + .ndo_set_mac_address = eth_mac_addr, +}; + +static void ntb_get_drvinfo(struct net_device *ndev, + struct ethtool_drvinfo *info) +{ + struct ntb_netdev *dev = netdev_priv(ndev); + + strlcpy(info->driver, KBUILD_MODNAME, sizeof(info->driver)); + strlcpy(info->version, NTB_NETDEV_VER, sizeof(info->version)); + strlcpy(info->bus_info, pci_name(dev->pdev), sizeof(info->bus_info)); +} + +static int ntb_get_settings(struct net_device *dev, struct ethtool_cmd *cmd) +{ + cmd->supported = SUPPORTED_Backplane; + cmd->advertising = ADVERTISED_Backplane; + cmd->speed = SPEED_UNKNOWN; + ethtool_cmd_speed_set(cmd, SPEED_UNKNOWN); + cmd->duplex = DUPLEX_FULL; + cmd->port = PORT_OTHER; + cmd->phy_address = 0; + cmd->transceiver = XCVR_DUMMY1; + cmd->autoneg = AUTONEG_ENABLE; + cmd->maxtxpkt = 0; + cmd->maxrxpkt = 0; + + return 0; +} + +static const struct ethtool_ops ntb_ethtool_ops = { + .get_drvinfo = ntb_get_drvinfo, + .get_link = ethtool_op_get_link, + .get_settings = ntb_get_settings, +}; + +static const struct ntb_queue_handlers ntb_netdev_handlers = { + .tx_handler = ntb_netdev_tx_handler, + .rx_handler = ntb_netdev_rx_handler, + .event_handler = ntb_netdev_event_handler, +}; + +static int ntb_netdev_probe(struct pci_dev *pdev) +{ + struct net_device *ndev; + struct ntb_netdev *dev; + int rc; + + ndev = alloc_etherdev(sizeof(struct ntb_netdev)); + if (!ndev) + return -ENOMEM; + + dev = netdev_priv(ndev); + dev->ndev = ndev; + dev->pdev = pdev; + BUG_ON(!dev->pdev); + ndev->features = NETIF_F_HIGHDMA; + + ndev->priv_flags |= IFF_LIVE_ADDR_CHANGE; + + ndev->hw_features = ndev->features; + ndev->watchdog_timeo = msecs_to_jiffies(NTB_TX_TIMEOUT_MS); + + random_ether_addr(ndev->perm_addr); + memcpy(ndev->dev_addr, ndev->perm_addr, ndev->addr_len); + + ndev->netdev_ops = &ntb_netdev_ops; + SET_ETHTOOL_OPS(ndev, &ntb_ethtool_ops); + + dev->qp = ntb_transport_create_queue(ndev, pdev, &ntb_netdev_handlers); + if (!dev->qp) { + rc = -EIO; + goto err; + } + + ndev->mtu = ntb_transport_max_size(dev->qp) - ETH_HLEN; + + rc = register_netdev(ndev); + if (rc) + goto err1; + + list_add(&dev->list, &dev_list); + dev_info(&pdev->dev, "%s created\n", ndev->name); + return 0; + +err1: + ntb_transport_free_queue(dev->qp); +err: + free_netdev(ndev); + return rc; +} + +static void ntb_netdev_remove(struct pci_dev *pdev) +{ + struct net_device *ndev; + struct ntb_netdev *dev; + + list_for_each_entry(dev, &dev_list, list) { + if (dev->pdev == pdev) + break; + } + if (dev == NULL) + return; + + ndev = dev->ndev; + + unregister_netdev(ndev); + ntb_transport_free_queue(dev->qp); + free_netdev(ndev); +} + +static struct ntb_client ntb_netdev_client = { + .driver.name = KBUILD_MODNAME, + .driver.owner = THIS_MODULE, + .probe = ntb_netdev_probe, + .remove = ntb_netdev_remove, +}; + +static int __init ntb_netdev_init_module(void) +{ + int rc; + + rc = ntb_register_client_dev(KBUILD_MODNAME); + if (rc) + return rc; + return ntb_register_client(&ntb_netdev_client); +} +module_init(ntb_netdev_init_module); + +static void __exit ntb_netdev_exit_module(void) +{ + ntb_unregister_client(&ntb_netdev_client); + ntb_unregister_client_dev(KBUILD_MODNAME); +} +module_exit(ntb_netdev_exit_module); diff --git a/drivers/net/phy/mdio_bus.c b/drivers/net/phy/mdio_bus.c index 044b5326459..dc920974204 100644 --- a/drivers/net/phy/mdio_bus.c +++ b/drivers/net/phy/mdio_bus.c @@ -95,7 +95,7 @@ static struct class mdio_bus_class = { #if IS_ENABLED(CONFIG_OF_MDIO) /* Helper function for of_mdio_find_bus */ -static int of_mdio_bus_match(struct device *dev, void *mdio_bus_np) +static int of_mdio_bus_match(struct device *dev, const void *mdio_bus_np) { return dev->of_node == mdio_bus_np; } diff --git a/drivers/net/ppp/Kconfig b/drivers/net/ppp/Kconfig index 872df3ef07a..1373c6d7278 100644 --- a/drivers/net/ppp/Kconfig +++ b/drivers/net/ppp/Kconfig @@ -82,8 +82,8 @@ config PPP_FILTER If unsure, say N. config PPP_MPPE - tristate "PPP MPPE compression (encryption) (EXPERIMENTAL)" - depends on PPP && EXPERIMENTAL + tristate "PPP MPPE compression (encryption)" + depends on PPP select CRYPTO select CRYPTO_SHA1 select CRYPTO_ARC4 @@ -96,8 +96,8 @@ config PPP_MPPE configuring PPTP clients and servers to utilize this method. config PPP_MULTILINK - bool "PPP multilink support (EXPERIMENTAL)" - depends on PPP && EXPERIMENTAL + bool "PPP multilink support" + depends on PPP ---help--- PPP multilink is a protocol (defined in RFC 1990) which allows you to combine several (logical or physical) lines into one logical PPP @@ -118,8 +118,8 @@ config PPPOATM changes its encapsulation unilaterally. config PPPOE - tristate "PPP over Ethernet (EXPERIMENTAL)" - depends on EXPERIMENTAL && PPP + tristate "PPP over Ethernet" + depends on PPP ---help--- Support for PPP over Ethernet. @@ -130,8 +130,8 @@ config PPPOE the heading "Kernel mode PPPoE"). config PPTP - tristate "PPP over IPv4 (PPTP) (EXPERIMENTAL)" - depends on EXPERIMENTAL && PPP && NET_IPGRE_DEMUX + tristate "PPP over IPv4 (PPTP)" + depends on PPP && NET_IPGRE_DEMUX ---help--- Support for PPP over IPv4.(Point-to-Point Tunneling Protocol) @@ -141,12 +141,13 @@ config PPTP utilize this module. config PPPOL2TP - tristate "PPP over L2TP (EXPERIMENTAL)" - depends on EXPERIMENTAL && L2TP && PPP + tristate "PPP over L2TP" + depends on L2TP && PPP ---help--- Support for PPP-over-L2TP socket family. L2TP is a protocol used by ISPs and enterprises to tunnel PPP traffic over UDP tunnels. L2TP is replacing PPTP for VPN uses. +if TTY config PPP_ASYNC tristate "PPP support for async serial ports" @@ -172,4 +173,6 @@ config PPP_SYNC_TTY To compile this driver as a module, choose M here. +endif # TTY + endif # PPP diff --git a/drivers/net/slip/Kconfig b/drivers/net/slip/Kconfig index 211b160e4e9..48e68714eef 100644 --- a/drivers/net/slip/Kconfig +++ b/drivers/net/slip/Kconfig @@ -4,6 +4,7 @@ config SLIP tristate "SLIP (serial line) support" + depends on TTY ---help--- Say Y if you intend to use SLIP or CSLIP (compressed SLIP) to connect to your Internet service provider or to connect to some diff --git a/drivers/net/team/Kconfig b/drivers/net/team/Kconfig index 6b08bd419fb..c3011af68e9 100644 --- a/drivers/net/team/Kconfig +++ b/drivers/net/team/Kconfig @@ -1,6 +1,5 @@ menuconfig NET_TEAM - tristate "Ethernet team driver support (EXPERIMENTAL)" - depends on EXPERIMENTAL + tristate "Ethernet team driver support" ---help--- This allows one to create virtual interfaces that teams together multiple ethernet devices. diff --git a/drivers/net/usb/Kconfig b/drivers/net/usb/Kconfig index ef976215b64..da92ed3797a 100644 --- a/drivers/net/usb/Kconfig +++ b/drivers/net/usb/Kconfig @@ -8,8 +8,7 @@ menu "USB Network Adapters" depends on USB && NET config USB_CATC - tristate "USB CATC NetMate-based Ethernet device support (EXPERIMENTAL)" - depends on EXPERIMENTAL + tristate "USB CATC NetMate-based Ethernet device support" select CRC32 ---help--- Say Y if you want to use one of the following 10Mbps USB Ethernet @@ -83,8 +82,7 @@ config USB_PEGASUS module will be called pegasus. config USB_RTL8150 - tristate "USB RTL8150 based ethernet device support (EXPERIMENTAL)" - depends on EXPERIMENTAL + tristate "USB RTL8150 based ethernet device support" select NET_CORE select MII help @@ -188,7 +186,7 @@ config USB_NET_CDCETHER config USB_NET_CDC_EEM tristate "CDC EEM support" - depends on USB_USBNET && EXPERIMENTAL + depends on USB_USBNET help This option supports devices conforming to the Communication Device Class (CDC) Ethernet Emulation Model, a specification that's easy to @@ -287,7 +285,7 @@ config USB_NET_PLUSB tristate "Prolific PL-2301/2302/25A1 based cables" # if the handshake/init/reset problems, from original 'plusb', # are ever resolved ... then remove "experimental" - depends on USB_USBNET && EXPERIMENTAL + depends on USB_USBNET help Choose this option if you're using a host-to-host cable with one of these chips. @@ -301,8 +299,8 @@ config USB_NET_MCS7830 adapters marketed under the DeLOCK brand. config USB_NET_RNDIS_HOST - tristate "Host for RNDIS and ActiveSync devices (EXPERIMENTAL)" - depends on USB_USBNET && EXPERIMENTAL + tristate "Host for RNDIS and ActiveSync devices" + depends on USB_USBNET select USB_NET_CDCETHER help This option enables hosting "Remote NDIS" USB networking links, @@ -380,7 +378,7 @@ config USB_EPSON2888 config USB_KC2190 boolean "KT Technology KC2190 based cables (InstaNet)" - depends on USB_NET_CDC_SUBSET && EXPERIMENTAL + depends on USB_NET_CDC_SUBSET help Choose this option if you're using a host-to-host cable with one of these chips. @@ -445,7 +443,7 @@ config USB_NET_QMI_WWAN config USB_HSO tristate "Option USB High Speed Mobile Devices" - depends on USB && RFKILL + depends on USB && RFKILL && TTY default n help Choose this option if you have an Option HSDPA/HSUPA card. @@ -493,7 +491,7 @@ config USB_SIERRA_NET config USB_VL600 tristate "LG VL600 modem dongle" - depends on USB_NET_CDCETHER + depends on USB_NET_CDCETHER && TTY select USB_ACM help Select this if you want to use an LG Electronics 4G/LTE usb modem diff --git a/drivers/net/usb/hso.c b/drivers/net/usb/hso.c index 41e5dfb5ee6..e2dd3249b6b 100644 --- a/drivers/net/usb/hso.c +++ b/drivers/net/usb/hso.c @@ -2035,25 +2035,23 @@ static int put_rxbuf_data(struct urb *urb, struct hso_serial *serial) tty = tty_port_tty_get(&serial->port); /* Push data to tty */ - if (tty) { - write_length_remaining = urb->actual_length - - serial->curr_rx_urb_offset; - D1("data to push to tty"); - while (write_length_remaining) { - if (test_bit(TTY_THROTTLED, &tty->flags)) { - tty_kref_put(tty); - return -1; - } - curr_write_len = tty_insert_flip_string - (tty, urb->transfer_buffer + - serial->curr_rx_urb_offset, - write_length_remaining); - serial->curr_rx_urb_offset += curr_write_len; - write_length_remaining -= curr_write_len; - tty_flip_buffer_push(tty); + write_length_remaining = urb->actual_length - + serial->curr_rx_urb_offset; + D1("data to push to tty"); + while (write_length_remaining) { + if (tty && test_bit(TTY_THROTTLED, &tty->flags)) { + tty_kref_put(tty); + return -1; } - tty_kref_put(tty); + curr_write_len = tty_insert_flip_string(&serial->port, + urb->transfer_buffer + serial->curr_rx_urb_offset, + write_length_remaining); + serial->curr_rx_urb_offset += curr_write_len; + write_length_remaining -= curr_write_len; + tty_flip_buffer_push(&serial->port); } + tty_kref_put(tty); + if (write_length_remaining == 0) { serial->curr_rx_urb_offset = 0; serial->rx_urb_filled[hso_urb_to_index(serial, urb)] = 0; diff --git a/drivers/net/wan/Kconfig b/drivers/net/wan/Kconfig index 0c077b0f7a2..94e234975c6 100644 --- a/drivers/net/wan/Kconfig +++ b/drivers/net/wan/Kconfig @@ -358,7 +358,7 @@ config SDLA # X.25 network drivers config LAPBETHER - tristate "LAPB over Ethernet driver (EXPERIMENTAL)" + tristate "LAPB over Ethernet driver" depends on LAPB && X25 ---help--- Driver for a pseudo device (typically called /dev/lapb0) which allows @@ -374,8 +374,8 @@ config LAPBETHER If unsure, say N. config X25_ASY - tristate "X.25 async driver (EXPERIMENTAL)" - depends on LAPB && X25 + tristate "X.25 async driver" + depends on LAPB && X25 && TTY ---help--- Send and receive X.25 frames over regular asynchronous serial lines such as telephone lines equipped with ordinary modems. diff --git a/drivers/net/wireless/Kconfig b/drivers/net/wireless/Kconfig index 28aa05f60c2..f8f0156dff4 100644 --- a/drivers/net/wireless/Kconfig +++ b/drivers/net/wireless/Kconfig @@ -138,7 +138,7 @@ config AIRO_CS config PCMCIA_WL3501 tristate "Planet WL3501 PCMCIA cards" - depends on EXPERIMENTAL && PCMCIA + depends on PCMCIA select WIRELESS_EXT select WEXT_SPY help @@ -148,7 +148,7 @@ config PCMCIA_WL3501 config PRISM54 tristate 'Intersil Prism GT/Duette/Indigo PCI/Cardbus (DEPRECATED)' - depends on PCI && EXPERIMENTAL + depends on PCI select WIRELESS_EXT select WEXT_SPY select WEXT_PRIV @@ -187,7 +187,7 @@ config USB_ZD1201 config USB_NET_RNDIS_WLAN tristate "Wireless RNDIS USB support" - depends on USB && EXPERIMENTAL + depends on USB depends on CFG80211 select USB_USBNET select USB_NET_CDCETHER @@ -217,7 +217,7 @@ source "drivers/net/wireless/rtl818x/Kconfig" config ADM8211 tristate "ADMtek ADM8211 support" - depends on MAC80211 && PCI && EXPERIMENTAL + depends on MAC80211 && PCI select CRC32 select EEPROM_93CX6 ---help--- @@ -257,7 +257,7 @@ config MAC80211_HWSIM config MWL8K tristate "Marvell 88W8xxx PCI/PCIe Wireless support" - depends on MAC80211 && PCI && EXPERIMENTAL + depends on MAC80211 && PCI ---help--- This driver supports Marvell TOPDOG 802.11 wireless cards. diff --git a/drivers/net/wireless/ath/ath6kl/Kconfig b/drivers/net/wireless/ath/ath6kl/Kconfig index 26c4b722085..630c83db056 100644 --- a/drivers/net/wireless/ath/ath6kl/Kconfig +++ b/drivers/net/wireless/ath/ath6kl/Kconfig @@ -18,7 +18,6 @@ config ATH6KL_USB depends on ATH6KL depends on USB depends on CFG80211 - depends on EXPERIMENTAL ---help--- This module adds support for wireless adapters based on Atheros AR6004 chipset running over USB. This is still under diff --git a/drivers/net/wireless/ath/carl9170/Kconfig b/drivers/net/wireless/ath/carl9170/Kconfig index 13a20459876..1a796e5f69e 100644 --- a/drivers/net/wireless/ath/carl9170/Kconfig +++ b/drivers/net/wireless/ath/carl9170/Kconfig @@ -1,6 +1,6 @@ config CARL9170 tristate "Linux Community AR9170 802.11n USB support" - depends on USB && MAC80211 && EXPERIMENTAL + depends on USB && MAC80211 select ATH_COMMON select FW_LOADER select CRC32 diff --git a/drivers/net/wireless/ath/wil6210/dbg_hexdump.h b/drivers/net/wireless/ath/wil6210/dbg_hexdump.h index 6a315ba5aa7..e5712f026c4 100644 --- a/drivers/net/wireless/ath/wil6210/dbg_hexdump.h +++ b/drivers/net/wireless/ath/wil6210/dbg_hexdump.h @@ -1,25 +1,15 @@ #ifndef WIL_DBG_HEXDUMP_H_ #define WIL_DBG_HEXDUMP_H_ -#if defined(CONFIG_DYNAMIC_DEBUG) -#define wil_dynamic_hex_dump(prefix_str, prefix_type, rowsize, \ - groupsize, buf, len, ascii) \ -do { \ - DEFINE_DYNAMIC_DEBUG_METADATA(descriptor, \ - __builtin_constant_p(prefix_str) ? prefix_str : "hexdump");\ - if (unlikely(descriptor.flags & _DPRINTK_FLAGS_PRINT)) \ - print_hex_dump(KERN_DEBUG, prefix_str, \ - prefix_type, rowsize, groupsize, \ - buf, len, ascii); \ -} while (0) +#include <linux/printk.h> +#include <linux/dynamic_debug.h> +#if defined(CONFIG_DYNAMIC_DEBUG) #define wil_print_hex_dump_debug(prefix_str, prefix_type, rowsize, \ groupsize, buf, len, ascii) \ - wil_dynamic_hex_dump(prefix_str, prefix_type, rowsize, \ + dynamic_hex_dump(prefix_str, prefix_type, rowsize, \ groupsize, buf, len, ascii) -#define print_hex_dump_bytes(prefix_str, prefix_type, buf, len) \ - wil_dynamic_hex_dump(prefix_str, prefix_type, 16, 1, buf, len, true) #else /* defined(CONFIG_DYNAMIC_DEBUG) */ #define wil_print_hex_dump_debug(prefix_str, prefix_type, rowsize, \ groupsize, buf, len, ascii) \ diff --git a/drivers/net/wireless/b43/Kconfig b/drivers/net/wireless/b43/Kconfig index 7a28d21ac38..287c6b670a3 100644 --- a/drivers/net/wireless/b43/Kconfig +++ b/drivers/net/wireless/b43/Kconfig @@ -78,8 +78,8 @@ config B43_PCMCIA If unsure, say N. config B43_SDIO - bool "Broadcom 43xx SDIO device support (EXPERIMENTAL)" - depends on B43 && SSB_SDIOHOST_POSSIBLE && EXPERIMENTAL + bool "Broadcom 43xx SDIO device support" + depends on B43 && SSB_SDIOHOST_POSSIBLE select SSB_SDIOHOST ---help--- Broadcom 43xx device support for Soft-MAC SDIO devices. @@ -109,8 +109,8 @@ config B43_PIO default y config B43_PHY_N - bool "Support for 802.11n (N-PHY) devices (EXPERIMENTAL)" - depends on B43 && EXPERIMENTAL + bool "Support for 802.11n (N-PHY) devices" + depends on B43 ---help--- Support for the N-PHY. @@ -130,8 +130,8 @@ config B43_PHY_LP (802.11a support is optional, and currently disabled). config B43_PHY_HT - bool "Support for HT-PHY (high throughput) devices (EXPERIMENTAL)" - depends on B43 && EXPERIMENTAL + bool "Support for HT-PHY (high throughput) devices" + depends on B43 ---help--- Support for the HT-PHY. diff --git a/drivers/net/wireless/ipw2x00/Kconfig b/drivers/net/wireless/ipw2x00/Kconfig index 2715b101ade..91c0cb3c368 100644 --- a/drivers/net/wireless/ipw2x00/Kconfig +++ b/drivers/net/wireless/ipw2x00/Kconfig @@ -137,7 +137,7 @@ config IPW2200_PROMISCUOUS config IPW2200_QOS bool "Enable QoS support" - depends on IPW2200 && EXPERIMENTAL + depends on IPW2200 config IPW2200_DEBUG bool "Enable full debugging output in IPW2200 module." diff --git a/drivers/net/wireless/p54/Kconfig b/drivers/net/wireless/p54/Kconfig index 0ec55b50798..15ea36b51a6 100644 --- a/drivers/net/wireless/p54/Kconfig +++ b/drivers/net/wireless/p54/Kconfig @@ -1,6 +1,6 @@ config P54_COMMON tristate "Softmac Prism54 support" - depends on MAC80211 && EXPERIMENTAL + depends on MAC80211 select FW_LOADER select CRC_CCITT ---help--- diff --git a/drivers/net/wireless/rt2x00/Kconfig b/drivers/net/wireless/rt2x00/Kconfig index c7548da6573..44d6ead4334 100644 --- a/drivers/net/wireless/rt2x00/Kconfig +++ b/drivers/net/wireless/rt2x00/Kconfig @@ -82,7 +82,6 @@ config RT2800PCI_RT33XX config RT2800PCI_RT35XX bool "rt2800pci - Include support for rt35xx devices (EXPERIMENTAL)" - depends on EXPERIMENTAL default y ---help--- This adds support for rt35xx wireless chipset family to the @@ -92,7 +91,6 @@ config RT2800PCI_RT35XX config RT2800PCI_RT53XX bool "rt2800pci - Include support for rt53xx devices (EXPERIMENTAL)" - depends on EXPERIMENTAL default y ---help--- This adds support for rt53xx wireless chipset family to the @@ -101,7 +99,6 @@ config RT2800PCI_RT53XX config RT2800PCI_RT3290 bool "rt2800pci - Include support for rt3290 devices (EXPERIMENTAL)" - depends on EXPERIMENTAL default y ---help--- This adds support for rt3290 wireless chipset family to the @@ -159,7 +156,6 @@ config RT2800USB_RT33XX config RT2800USB_RT35XX bool "rt2800usb - Include support for rt35xx devices (EXPERIMENTAL)" - depends on EXPERIMENTAL default y ---help--- This adds support for rt35xx wireless chipset family to the @@ -168,7 +164,6 @@ config RT2800USB_RT35XX config RT2800USB_RT53XX bool "rt2800usb - Include support for rt53xx devices (EXPERIMENTAL)" - depends on EXPERIMENTAL ---help--- This adds support for rt53xx wireless chipset family to the rt2800usb driver. diff --git a/drivers/net/wireless/rtl818x/Kconfig b/drivers/net/wireless/rtl818x/Kconfig index 17d80fe556d..30332175bcd 100644 --- a/drivers/net/wireless/rtl818x/Kconfig +++ b/drivers/net/wireless/rtl818x/Kconfig @@ -3,7 +3,7 @@ # config RTL8180 tristate "Realtek 8180/8185 PCI support" - depends on MAC80211 && PCI && EXPERIMENTAL + depends on MAC80211 && PCI select EEPROM_93CX6 ---help--- This is a driver for RTL8180 and RTL8185 based cards. diff --git a/drivers/net/wireless/zd1211rw/Kconfig b/drivers/net/wireless/zd1211rw/Kconfig index 5f809695f71..96c8e1de087 100644 --- a/drivers/net/wireless/zd1211rw/Kconfig +++ b/drivers/net/wireless/zd1211rw/Kconfig @@ -1,6 +1,6 @@ config ZD1211RW tristate "ZyDAS ZD1211/ZD1211B USB-wireless support" - depends on USB && MAC80211 && EXPERIMENTAL + depends on USB && MAC80211 select FW_LOADER ---help--- This is an experimental driver for the ZyDAS ZD1211/ZD1211B wireless |