diff options
Diffstat (limited to 'drivers/net/irda')
30 files changed, 72 insertions, 207 deletions
diff --git a/drivers/net/irda/Kconfig b/drivers/net/irda/Kconfig index 2a30193d0d5..8d101d63abc 100644 --- a/drivers/net/irda/Kconfig +++ b/drivers/net/irda/Kconfig @@ -62,8 +62,6 @@ config SIR_BFIN_PIO  	bool "PIO mode"  endchoice -comment "Dongle support" -  config SH_SIR  	tristate "SuperH SIR on UART"  	depends on IRDA && SUPERH && \ @@ -74,6 +72,8 @@ config SH_SIR  	  Say Y here if your want to enable SIR function on SuperH UART  	  devices. +comment "Dongle support" +  config DONGLE  	bool "Serial dongle support"  	depends on IRTTY_SIR @@ -210,13 +210,6 @@ config KINGSUN_DONGLE  	  To compile it as a module, choose M here: the module will be called  	  kingsun-sir. -config EP7211_DONGLE -	tristate "Cirrus Logic clps711x I/R support" -	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"  	depends on IRDA && USB @@ -403,7 +396,8 @@ config MCS_FIR  config SH_IRDA  	tristate "SuperH IrDA driver" -	depends on IRDA && ARCH_SHMOBILE +	depends on IRDA +	depends on ARCH_SHMOBILE || COMPILE_TEST  	help  	  Say Y here if your want to enable SuperH IrDA devices. diff --git a/drivers/net/irda/Makefile b/drivers/net/irda/Makefile index dfc64537f62..be8ab5b9a4a 100644 --- a/drivers/net/irda/Makefile +++ b/drivers/net/irda/Makefile @@ -35,7 +35,6 @@ obj-$(CONFIG_MCP2120_DONGLE)	+= mcp2120-sir.o  obj-$(CONFIG_ACT200L_DONGLE)	+= act200l-sir.o  obj-$(CONFIG_MA600_DONGLE)	+= ma600-sir.o  obj-$(CONFIG_TOIM3232_DONGLE)	+= toim3232-sir.o -obj-$(CONFIG_EP7211_DONGLE)	+= ep7211-sir.o  obj-$(CONFIG_KINGSUN_DONGLE)	+= kingsun-sir.o  obj-$(CONFIG_KSDAZZLE_DONGLE)	+= ksdazzle-sir.o  obj-$(CONFIG_KS959_DONGLE)    	+= ks959-sir.o diff --git a/drivers/net/irda/ali-ircc.c b/drivers/net/irda/ali-ircc.c index 7bbd318bc93..befa45f809c 100644 --- a/drivers/net/irda/ali-ircc.c +++ b/drivers/net/irda/ali-ircc.c @@ -627,7 +627,7 @@ static int ali_ircc_setup(chipio_t *info)  /*   * Function ali_ircc_read_dongle_id (int index, info)   * - * Try to read dongle indentification. This procedure needs to be executed + * Try to read dongle identification. This procedure needs to be executed   * once after power-on/reset. It also needs to be used whenever you suspect   * that the user may have plugged/unplugged the IrDA Dongle.   */ diff --git a/drivers/net/irda/au1k_ir.c b/drivers/net/irda/au1k_ir.c index 7a1f684edcb..5f91e3e01c0 100644 --- a/drivers/net/irda/au1k_ir.c +++ b/drivers/net/irda/au1k_ir.c @@ -15,11 +15,9 @@   *  for more details.   *   *  You should have received a copy of the GNU General Public License along - *  with this program; if not, write to the Free Software Foundation, Inc., - *  59 Temple Place - Suite 330, Boston MA 02111-1307, USA. + *  with this program; if not, see <http://www.gnu.org/licenses/>.   */ -#include <linux/init.h>  #include <linux/module.h>  #include <linux/netdevice.h>  #include <linux/interrupt.h> diff --git a/drivers/net/irda/bfin_sir.c b/drivers/net/irda/bfin_sir.c index c74f384c87d..303c4bd26e1 100644 --- a/drivers/net/irda/bfin_sir.c +++ b/drivers/net/irda/bfin_sir.c @@ -411,12 +411,12 @@ static int bfin_sir_startup(struct bfin_sir_port *port, struct net_device *dev)  #else -	if (request_irq(port->irq, bfin_sir_rx_int, IRQF_DISABLED, "BFIN_SIR_RX", dev)) { +	if (request_irq(port->irq, bfin_sir_rx_int, 0, "BFIN_SIR_RX", dev)) {  		dev_warn(&dev->dev, "Unable to attach SIR RX interrupt\n");  		return -EBUSY;  	} -	if (request_irq(port->irq+1, bfin_sir_tx_int, IRQF_DISABLED, "BFIN_SIR_TX", dev)) { +	if (request_irq(port->irq+1, bfin_sir_tx_int, 0, "BFIN_SIR_TX", dev)) {  		dev_warn(&dev->dev, "Unable to attach SIR TX interrupt\n");  		free_irq(port->irq, dev);  		return -EBUSY; diff --git a/drivers/net/irda/donauboe.c b/drivers/net/irda/donauboe.c index 31bcb98ef35..768dfe9a931 100644 --- a/drivers/net/irda/donauboe.c +++ b/drivers/net/irda/donauboe.c @@ -1352,7 +1352,7 @@ toshoboe_net_open (struct net_device *dev)      return 0;    rc = request_irq (self->io.irq, toshoboe_interrupt, -                    IRQF_SHARED | IRQF_DISABLED, dev->name, self); +                    IRQF_SHARED, dev->name, self);    if (rc)    	return rc; @@ -1559,7 +1559,7 @@ toshoboe_open (struct pci_dev *pci_dev, const struct pci_device_id *pdid)    self->io.fir_base = self->base;    self->io.fir_ext = OBOE_IO_EXTENT;    self->io.irq = pci_dev->irq; -  self->io.irqflags = IRQF_SHARED | IRQF_DISABLED; +  self->io.irqflags = IRQF_SHARED;    self->speed = self->io.speed = 9600;    self->async = 0; diff --git a/drivers/net/irda/ep7211-sir.c b/drivers/net/irda/ep7211-sir.c deleted file mode 100644 index 5fe1f4dd336..00000000000 --- a/drivers/net/irda/ep7211-sir.c +++ /dev/null @@ -1,70 +0,0 @@ -/* - * IR port driver for the Cirrus Logic CLPS711X processors - * - * Copyright 2001, Blue Mug Inc.  All rights reserved. - * Copyright 2007, Samuel Ortiz <samuel@sortiz.org> - */ - -#include <linux/module.h> -#include <linux/platform_device.h> - -#include <mach/hardware.h> - -#include "sir-dev.h" - -static int clps711x_dongle_open(struct sir_dev *dev) -{ -	unsigned int syscon; - -	/* Turn on the SIR encoder. */ -	syscon = clps_readl(SYSCON1); -	syscon |= SYSCON1_SIREN; -	clps_writel(syscon, SYSCON1); - -	return 0; -} - -static int clps711x_dongle_close(struct sir_dev *dev) -{ -	unsigned int syscon; - -	/* Turn off the SIR encoder. */ -	syscon = clps_readl(SYSCON1); -	syscon &= ~SYSCON1_SIREN; -	clps_writel(syscon, SYSCON1); - -	return 0; -} - -static struct dongle_driver clps711x_dongle = { -	.owner		= THIS_MODULE, -	.driver_name	= "EP7211 IR driver", -	.type		= IRDA_EP7211_DONGLE, -	.open		= clps711x_dongle_open, -	.close		= clps711x_dongle_close, -}; - -static int clps711x_sir_probe(struct platform_device *pdev) -{ -	return irda_register_dongle(&clps711x_dongle); -} - -static int clps711x_sir_remove(struct platform_device *pdev) -{ -	return irda_unregister_dongle(&clps711x_dongle); -} - -static struct platform_driver clps711x_sir_driver = { -	.driver	= { -		.name	= "sir-clps711x", -		.owner	= THIS_MODULE, -	}, -	.probe	= clps711x_sir_probe, -	.remove	= clps711x_sir_remove, -}; -module_platform_driver(clps711x_sir_driver); - -MODULE_AUTHOR("Samuel Ortiz <samuel@sortiz.org>"); -MODULE_DESCRIPTION("EP7211 IR dongle driver"); -MODULE_LICENSE("GPL"); -MODULE_ALIAS("irda-dongle-13"); /* IRDA_EP7211_DONGLE */ diff --git a/drivers/net/irda/esi-sir.c b/drivers/net/irda/esi-sir.c index a908df7c4b9..019a3e848bc 100644 --- a/drivers/net/irda/esi-sir.c +++ b/drivers/net/irda/esi-sir.c @@ -25,9 +25,7 @@   *     GNU General Public License for more details.   *    *     You should have received a copy of the GNU General Public License  - *     along with this program; if not, write to the Free Software  - *     Foundation, Inc., 59 Temple Place, Suite 330, Boston,  - *     MA 02111-1307 USA + *     along with this program; if not, see <http://www.gnu.org/licenses/>.   *        ********************************************************************/ diff --git a/drivers/net/irda/irda-usb.c b/drivers/net/irda/irda-usb.c index f9a86bdb12f..925b78cc979 100644 --- a/drivers/net/irda/irda-usb.c +++ b/drivers/net/irda/irda-usb.c @@ -58,7 +58,6 @@  #include <linux/moduleparam.h>  #include <linux/kernel.h>  #include <linux/types.h> -#include <linux/init.h>  #include <linux/skbuff.h>  #include <linux/netdevice.h>  #include <linux/slab.h> diff --git a/drivers/net/irda/irtty-sir.c b/drivers/net/irda/irtty-sir.c index 177441afeb9..24b6dddd7f2 100644 --- a/drivers/net/irda/irtty-sir.c +++ b/drivers/net/irda/irtty-sir.c @@ -522,7 +522,6 @@ static void irtty_close(struct tty_struct *tty)  	sirdev_put_instance(priv->dev);  	/* Stop tty */ -	irtty_stop_receiver(tty, TRUE);  	clear_bit(TTY_DO_WRITE_WAKEUP, &tty->flags);  	if (tty->ops->stop)  		tty->ops->stop(tty); diff --git a/drivers/net/irda/kingsun-sir.c b/drivers/net/irda/kingsun-sir.c index 7b4833874ef..96fe3659012 100644 --- a/drivers/net/irda/kingsun-sir.c +++ b/drivers/net/irda/kingsun-sir.c @@ -64,7 +64,6 @@  #include <linux/kernel.h>  #include <linux/types.h>  #include <linux/errno.h> -#include <linux/init.h>  #include <linux/slab.h>  #include <linux/usb.h>  #include <linux/device.h> diff --git a/drivers/net/irda/ks959-sir.c b/drivers/net/irda/ks959-sir.c index 5f3aeac3f86..e6b3804edac 100644 --- a/drivers/net/irda/ks959-sir.c +++ b/drivers/net/irda/ks959-sir.c @@ -116,7 +116,6 @@  #include <linux/kernel.h>  #include <linux/types.h>  #include <linux/errno.h> -#include <linux/init.h>  #include <linux/slab.h>  #include <linux/usb.h>  #include <linux/device.h> diff --git a/drivers/net/irda/ksdazzle-sir.c b/drivers/net/irda/ksdazzle-sir.c index 2d4b6a1ab20..37f23a189b3 100644 --- a/drivers/net/irda/ksdazzle-sir.c +++ b/drivers/net/irda/ksdazzle-sir.c @@ -80,7 +80,6 @@  #include <linux/kernel.h>  #include <linux/types.h>  #include <linux/errno.h> -#include <linux/init.h>  #include <linux/slab.h>  #include <linux/usb.h>  #include <linux/device.h> diff --git a/drivers/net/irda/litelink-sir.c b/drivers/net/irda/litelink-sir.c index d6d9d2e5ad4..6827777cbee 100644 --- a/drivers/net/irda/litelink-sir.c +++ b/drivers/net/irda/litelink-sir.c @@ -22,9 +22,7 @@   *     GNU General Public License for more details.   *    *     You should have received a copy of the GNU General Public License  - *     along with this program; if not, write to the Free Software  - *     Foundation, Inc., 59 Temple Place, Suite 330, Boston,  - *     MA 02111-1307 USA + *     along with this program; if not, see <http://www.gnu.org/licenses/>.   *        ********************************************************************/ diff --git a/drivers/net/irda/ma600-sir.c b/drivers/net/irda/ma600-sir.c index e9121645237..a9a81358477 100644 --- a/drivers/net/irda/ma600-sir.c +++ b/drivers/net/irda/ma600-sir.c @@ -25,9 +25,7 @@   *     GNU General Public License for more details.   *    *     You should have received a copy of the GNU General Public License  - *     along with this program; if not, write to the Free Software  - *     Foundation, Inc., 59 Temple Place, Suite 330, Boston,  - *     MA 02111-1307 USA + *     along with this program; if not, see <http://www.gnu.org/licenses/>.   *        ********************************************************************/ diff --git a/drivers/net/irda/mcs7780.c b/drivers/net/irda/mcs7780.c index f07c340990d..16f8ffb50e0 100644 --- a/drivers/net/irda/mcs7780.c +++ b/drivers/net/irda/mcs7780.c @@ -48,7 +48,6 @@  #include <linux/kernel.h>  #include <linux/types.h>  #include <linux/errno.h> -#include <linux/init.h>  #include <linux/slab.h>  #include <linux/usb.h>  #include <linux/device.h> @@ -191,8 +190,8 @@ static inline int mcs_setup_transceiver_vishay(struct mcs_cb *mcs)  		goto error;  	ret = 0; -	error: -		return ret; +error: +	return ret;  }  /* Setup a communication between mcs7780 and agilent chip. */ @@ -501,8 +500,11 @@ static inline int mcs_setup_urbs(struct mcs_cb *mcs)  		return 0;  	mcs->rx_urb = usb_alloc_urb(0, GFP_KERNEL); -	if (!mcs->rx_urb) +	if (!mcs->rx_urb) { +		usb_free_urb(mcs->tx_urb); +		mcs->tx_urb = NULL;  		return 0; +	}  	return 1;  } @@ -643,9 +645,9 @@ static int mcs_speed_change(struct mcs_cb *mcs)  	ret = mcs_set_reg(mcs, MCS_MODE_REG, rval);  	mcs->speed = mcs->new_speed; -	error: -		mcs->new_speed = 0; -		return ret; +error: +	mcs->new_speed = 0; +	return ret;  }  /* Ioctl calls not supported at this time.  Can be an area of future work. */ @@ -738,17 +740,20 @@ static int mcs_net_open(struct net_device *netdev)  	ret = mcs_receive_start(mcs);  	if (ret) -		goto error3; +		goto error4;  	netif_start_queue(netdev);  	return 0; -	error3: -		irlap_close(mcs->irlap); -	error2: -		kfree_skb(mcs->rx_buff.skb); -	error1: -		return ret; +error4: +	usb_free_urb(mcs->rx_urb); +	usb_free_urb(mcs->tx_urb); +error3: +	irlap_close(mcs->irlap); +error2: +	kfree_skb(mcs->rx_buff.skb); +error1: +	return ret;  }  /* Receive callback function.  */ @@ -946,11 +951,11 @@ static int mcs_probe(struct usb_interface *intf,  	usb_set_intfdata(intf, mcs);  	return 0; -	error2: -		free_netdev(ndev); +error2: +	free_netdev(ndev); -	error1: -		return ret; +error1: +	return ret;  }  /* The current device is removed, the USB layer tells us to shut down. */ diff --git a/drivers/net/irda/nsc-ircc.c b/drivers/net/irda/nsc-ircc.c index ceeb53737f8..66bc03bdb13 100644 --- a/drivers/net/irda/nsc-ircc.c +++ b/drivers/net/irda/nsc-ircc.c @@ -1035,7 +1035,7 @@ static int nsc_ircc_setup(chipio_t *info)  /*   * Function nsc_ircc_read_dongle_id (void)   * - * Try to read dongle indentification. This procedure needs to be executed + * Try to read dongle identification. This procedure needs to be executed   * once after power-on/reset. It also needs to be used whenever you suspect   * that the user may have plugged/unplugged the IrDA Dongle.   */ diff --git a/drivers/net/irda/old_belkin-sir.c b/drivers/net/irda/old_belkin-sir.c index 75714bc7103..f237136f382 100644 --- a/drivers/net/irda/old_belkin-sir.c +++ b/drivers/net/irda/old_belkin-sir.c @@ -22,9 +22,7 @@   *     GNU General Public License for more details.   *    *     You should have received a copy of the GNU General Public License  - *     along with this program; if not, write to the Free Software  - *     Foundation, Inc., 59 Temple Place, Suite 330, Boston,  - *     MA 02111-1307 USA + *     along with this program; if not, see <http://www.gnu.org/licenses/>.   *        ********************************************************************/ diff --git a/drivers/net/irda/sh_irda.c b/drivers/net/irda/sh_irda.c index 4455425f1c7..c96b46b2c3a 100644 --- a/drivers/net/irda/sh_irda.c +++ b/drivers/net/irda/sh_irda.c @@ -804,7 +804,7 @@ static int sh_irda_probe(struct platform_device *pdev)  		goto err_mem_4;  	platform_set_drvdata(pdev, ndev); -	err = request_irq(irq, sh_irda_irq, IRQF_DISABLED, "sh_irda", self); +	err = devm_request_irq(&pdev->dev, irq, sh_irda_irq, 0, "sh_irda", self);  	if (err) {  		dev_warn(&pdev->dev, "Unable to attach sh_irda interrupt\n");  		goto err_mem_4; diff --git a/drivers/net/irda/sh_sir.c b/drivers/net/irda/sh_sir.c index 89682b49900..e3fe9a28613 100644 --- a/drivers/net/irda/sh_sir.c +++ b/drivers/net/irda/sh_sir.c @@ -217,21 +217,17 @@ crc_init_out:  static u32 sh_sir_find_sclk(struct clk *irda_clk)  {  	struct cpufreq_frequency_table *freq_table = irda_clk->freq_table; +	struct cpufreq_frequency_table *pos;  	struct clk *pclk = clk_get(NULL, "peripheral_clk");  	u32 limit, min = 0xffffffff, tmp; -	int i, index = 0; +	int index = 0;  	limit = clk_get_rate(pclk);  	clk_put(pclk);  	/* IrDA can not set over peripheral_clk */ -	for (i = 0; -	     freq_table[i].frequency != CPUFREQ_TABLE_END; -	     i++) { -		u32 freq = freq_table[i].frequency; - -		if (freq == CPUFREQ_ENTRY_INVALID) -			continue; +	cpufreq_for_each_valid_entry(pos, freq_table) { +		u32 freq = pos->frequency;  		/* IrDA should not over peripheral_clk */  		if (freq > limit) @@ -240,7 +236,7 @@ static u32 sh_sir_find_sclk(struct clk *irda_clk)  		tmp = freq % SCLK_BASE;  		if (tmp < min) {  			min = tmp; -			index = i; +			index = pos - freq_table;  		}  	} @@ -761,7 +757,7 @@ static int sh_sir_probe(struct platform_device *pdev)  		goto err_mem_4;  	platform_set_drvdata(pdev, ndev); -	err = request_irq(irq, sh_sir_irq, IRQF_DISABLED, "sh_sir", self); +	err = devm_request_irq(&pdev->dev, irq, sh_sir_irq, 0, "sh_sir", self);  	if (err) {  		dev_warn(&pdev->dev, "Unable to attach sh_sir interrupt\n");  		goto err_mem_4; diff --git a/drivers/net/irda/sir-dev.h b/drivers/net/irda/sir-dev.h index 6d5b1e2b128..f50b9c1c063 100644 --- a/drivers/net/irda/sir-dev.h +++ b/drivers/net/irda/sir-dev.h @@ -102,28 +102,29 @@ struct sir_driver {  /* exported */ -extern int irda_register_dongle(struct dongle_driver *new); -extern int irda_unregister_dongle(struct dongle_driver *drv); +int irda_register_dongle(struct dongle_driver *new); +int irda_unregister_dongle(struct dongle_driver *drv); -extern struct sir_dev * sirdev_get_instance(const struct sir_driver *drv, const char *name); -extern int sirdev_put_instance(struct sir_dev *self); +struct sir_dev *sirdev_get_instance(const struct sir_driver *drv, +				    const char *name); +int sirdev_put_instance(struct sir_dev *self); -extern int sirdev_set_dongle(struct sir_dev *dev, IRDA_DONGLE type); -extern void sirdev_write_complete(struct sir_dev *dev); -extern int sirdev_receive(struct sir_dev *dev, const unsigned char *cp, size_t count); +int sirdev_set_dongle(struct sir_dev *dev, IRDA_DONGLE type); +void sirdev_write_complete(struct sir_dev *dev); +int sirdev_receive(struct sir_dev *dev, const unsigned char *cp, size_t count);  /* low level helpers for SIR device/dongle setup */ -extern int sirdev_raw_write(struct sir_dev *dev, const char *buf, int len); -extern int sirdev_raw_read(struct sir_dev *dev, char *buf, int len); -extern int sirdev_set_dtr_rts(struct sir_dev *dev, int dtr, int rts); +int sirdev_raw_write(struct sir_dev *dev, const char *buf, int len); +int sirdev_raw_read(struct sir_dev *dev, char *buf, int len); +int sirdev_set_dtr_rts(struct sir_dev *dev, int dtr, int rts);  /* not exported */ -extern int sirdev_get_dongle(struct sir_dev *self, IRDA_DONGLE type); -extern int sirdev_put_dongle(struct sir_dev *self); +int sirdev_get_dongle(struct sir_dev *self, IRDA_DONGLE type); +int sirdev_put_dongle(struct sir_dev *self); -extern void sirdev_enable_rx(struct sir_dev *dev); -extern int sirdev_schedule_request(struct sir_dev *dev, int state, unsigned param); +void sirdev_enable_rx(struct sir_dev *dev); +int sirdev_schedule_request(struct sir_dev *dev, int state, unsigned param);  /* inline helpers */ diff --git a/drivers/net/irda/sir_dongle.c b/drivers/net/irda/sir_dongle.c index 2a9930e6e2a..cfbabb63f5c 100644 --- a/drivers/net/irda/sir_dongle.c +++ b/drivers/net/irda/sir_dongle.c @@ -13,7 +13,6 @@  #include <linux/module.h>  #include <linux/kernel.h> -#include <linux/init.h>  #include <linux/kmod.h>  #include <linux/mutex.h> diff --git a/drivers/net/irda/smsc-ircc2.c b/drivers/net/irda/smsc-ircc2.c index 0dcdf1592f6..282120430f1 100644 --- a/drivers/net/irda/smsc-ircc2.c +++ b/drivers/net/irda/smsc-ircc2.c @@ -34,9 +34,7 @@   *     GNU General Public License for more details.   *   *     You should have received a copy of the GNU General Public License - *     along with this program; if not, write to the Free Software - *     Foundation, Inc., 59 Temple Place, Suite 330, Boston, - *     MA 02111-1307 USA + *     along with this program; if not, see <http://www.gnu.org/licenses/>.   *   ********************************************************************/ diff --git a/drivers/net/irda/smsc-ircc2.h b/drivers/net/irda/smsc-ircc2.h index 317b7fd69bb..4829fa22cb2 100644 --- a/drivers/net/irda/smsc-ircc2.h +++ b/drivers/net/irda/smsc-ircc2.h @@ -25,9 +25,7 @@   *     GNU General Public License for more details.   *   *     You should have received a copy of the GNU General Public License - *     along with this program; if not, write to the Free Software - *     Foundation, Inc., 59 Temple Place, Suite 330, Boston, - *     MA 02111-1307 USA + *     along with this program; if not, see <http://www.gnu.org/licenses/>.   *   ********************************************************************/ diff --git a/drivers/net/irda/stir4200.c b/drivers/net/irda/stir4200.c index 876e709b65b..dd1bd1060ec 100644 --- a/drivers/net/irda/stir4200.c +++ b/drivers/net/irda/stir4200.c @@ -41,7 +41,6 @@  #include <linux/kernel.h>  #include <linux/types.h> -#include <linux/init.h>  #include <linux/time.h>  #include <linux/skbuff.h>  #include <linux/netdevice.h> diff --git a/drivers/net/irda/via-ircc.c b/drivers/net/irda/via-ircc.c index 9abaec27f96..998bb89ede7 100644 --- a/drivers/net/irda/via-ircc.c +++ b/drivers/net/irda/via-ircc.c @@ -17,8 +17,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.  You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., -59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see <http://www.gnu.org/licenses/>.  F01 Oct/02/02: Modify code for V0.11(move out back to back transfer)  F02 Oct/28/02: Add SB device ID for 3147 and 3177. @@ -408,7 +407,6 @@ static int via_ircc_open(struct pci_dev *pdev, chipio_t *info, unsigned int id)   err_out2:  	release_region(self->io.fir_base, self->io.fir_ext);   err_out1: -	pci_set_drvdata(pdev, NULL);  	free_netdev(dev);  	return err;  } @@ -442,7 +440,6 @@ static void via_remove_one(struct pci_dev *pdev)  	if (self->rx_buff.head)  		dma_free_coherent(&pdev->dev, self->rx_buff.truesize,  				  self->rx_buff.head, self->rx_buff_dma); -	pci_set_drvdata(pdev, NULL);  	free_netdev(self->netdev); @@ -513,10 +510,8 @@ static void via_hw_init(struct via_ircc_cb *self)   */  static int via_ircc_read_dongle_id(int iobase)  { -	int dongle_id = 9;	/* Default to IBM */ -  	IRDA_ERROR("via-ircc: dongle probing not supported, please specify dongle_id module parameter.\n"); -	return dongle_id; +	return 9;	/* Default to IBM */  }  /* @@ -929,7 +924,6 @@ static int via_ircc_dma_xmit(struct via_ircc_cb *self, u16 iobase)  static int via_ircc_dma_xmit_complete(struct via_ircc_cb *self)  {  	int iobase; -	int ret = TRUE;  	u8 Tx_status;  	IRDA_DEBUG(3, "%s()\n", __func__); @@ -986,7 +980,7 @@ F01_E*/  	// Tell the network layer, that we can accept more frames   	netif_wake_queue(self->netdev);  //F01   } -	return ret; +	return TRUE;  }  /* diff --git a/drivers/net/irda/via-ircc.h b/drivers/net/irda/via-ircc.h index f903a6a2dcb..7ce820ecc36 100644 --- a/drivers/net/irda/via-ircc.h +++ b/drivers/net/irda/via-ircc.h @@ -18,8 +18,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.  You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., -59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +this program; if not, see <http://www.gnu.org/licenses/>.   * Comment:   * jul/08/2002 : Rx buffer length should use Rx ring ptr.	 diff --git a/drivers/net/irda/vlsi_ir.c b/drivers/net/irda/vlsi_ir.c index c5bd58b4d8a..485006604bb 100644 --- a/drivers/net/irda/vlsi_ir.c +++ b/drivers/net/irda/vlsi_ir.c @@ -15,9 +15,7 @@   *	GNU General Public License for more details.   *   *	You should have received a copy of the GNU General Public License  - *	along with this program; if not, write to the Free Software  - *	Foundation, Inc., 59 Temple Place, Suite 330, Boston,  - *	MA 02111-1307 USA + *	along with this program; if not, see <http://www.gnu.org/licenses/>.   *   ********************************************************************/ @@ -1695,7 +1693,6 @@ out_freedev:  out_disable:  	pci_disable_device(pdev);  out: -	pci_set_drvdata(pdev, NULL);  	return -ENODEV;  } @@ -1721,8 +1718,6 @@ static void vlsi_irda_remove(struct pci_dev *pdev)  	free_netdev(ndev); -	pci_set_drvdata(pdev, NULL); -  	IRDA_MESSAGE("%s: %s removed\n", drivername, pci_name(pdev));  } diff --git a/drivers/net/irda/vlsi_ir.h b/drivers/net/irda/vlsi_ir.h index a076eb12534..56399204e68 100644 --- a/drivers/net/irda/vlsi_ir.h +++ b/drivers/net/irda/vlsi_ir.h @@ -18,9 +18,7 @@   *	GNU General Public License for more details.   *   *	You should have received a copy of the GNU General Public License  - *	along with this program; if not, write to the Free Software  - *	Foundation, Inc., 59 Temple Place, Suite 330, Boston,  - *	MA 02111-1307 USA + *	along with this program; if not, see <http://www.gnu.org/licenses/>.   *   ********************************************************************/ diff --git a/drivers/net/irda/w83977af_ir.c b/drivers/net/irda/w83977af_ir.c index e641bb24036..11dbdf36d9c 100644 --- a/drivers/net/irda/w83977af_ir.c +++ b/drivers/net/irda/w83977af_ir.c @@ -62,10 +62,6 @@  #include "w83977af.h"  #include "w83977af_ir.h" -#ifdef  CONFIG_ARCH_NETWINDER            /* Adjust to NetWinder differences */ -#undef  CONFIG_NETWINDER_TX_DMA_PROBLEMS /* Not needed */ -#define CONFIG_NETWINDER_RX_DMA_PROBLEMS /* Must have this one! */ -#endif  #define CONFIG_USE_W977_PNP        /* Currently needed */  #define PIO_MAX_SPEED       115200  @@ -332,7 +328,7 @@ static int w83977af_probe(int iobase, int irq, int dma)   		w977_write_reg(0x74, dma+1, efbase[i]);  #else   		w977_write_reg(0x74, dma, efbase[i]);    -#endif /*CONFIG_ARCH_NETWINDER */ +#endif /* CONFIG_ARCH_NETWINDER */   		w977_write_reg(0x75, 0x04, efbase[i]);  /* Disable Tx DMA */   		/* Set append hardware CRC, enable IR bank selection */	 @@ -563,10 +559,6 @@ static netdev_tx_t w83977af_hard_xmit(struct sk_buff *skb,  static void w83977af_dma_write(struct w83977af_ir *self, int iobase)  {  	__u8 set; -#ifdef CONFIG_NETWINDER_TX_DMA_PROBLEMS -	unsigned long flags; -	__u8 hcr; -#endif          IRDA_DEBUG(4, "%s(), len=%d\n", __func__ , self->tx_buff.len);  	/* Save current set */ @@ -579,30 +571,13 @@ static void w83977af_dma_write(struct w83977af_ir *self, int iobase)  	/* Choose transmit DMA channel  */   	switch_bank(iobase, SET2);  	outb(ADCR1_D_CHSW|/*ADCR1_DMA_F|*/ADCR1_ADV_SL, iobase+ADCR1); -#ifdef CONFIG_NETWINDER_TX_DMA_PROBLEMS -	spin_lock_irqsave(&self->lock, flags); - -	disable_dma(self->io.dma); -	clear_dma_ff(self->io.dma); -	set_dma_mode(self->io.dma, DMA_MODE_READ); -	set_dma_addr(self->io.dma, self->tx_buff_dma); -	set_dma_count(self->io.dma, self->tx_buff.len); -#else  	irda_setup_dma(self->io.dma, self->tx_buff_dma, self->tx_buff.len,  		       DMA_MODE_WRITE);	 -#endif  	self->io.direction = IO_XMIT;  	/* Enable DMA */   	switch_bank(iobase, SET0); -#ifdef CONFIG_NETWINDER_TX_DMA_PROBLEMS -	hcr = inb(iobase+HCR); -	outb(hcr | HCR_EN_DMA, iobase+HCR); -	enable_dma(self->io.dma); -	spin_unlock_irqrestore(&self->lock, flags); -#else	  	outb(inb(iobase+HCR) | HCR_EN_DMA | HCR_TX_WT, iobase+HCR); -#endif  	/* Restore set register */  	outb(set, iobase+SSR); @@ -711,7 +686,7 @@ static int w83977af_dma_receive(struct w83977af_ir *self)  {  	int iobase;  	__u8 set; -#ifdef CONFIG_NETWINDER_RX_DMA_PROBLEMS +#ifdef CONFIG_ARCH_NETWINDER  	unsigned long flags;  	__u8 hcr;  #endif @@ -736,7 +711,7 @@ static int w83977af_dma_receive(struct w83977af_ir *self)  	self->io.direction = IO_RECV;  	self->rx_buff.data = self->rx_buff.head; -#ifdef CONFIG_NETWINDER_RX_DMA_PROBLEMS +#ifdef CONFIG_ARCH_NETWINDER  	spin_lock_irqsave(&self->lock, flags);  	disable_dma(self->io.dma); @@ -759,7 +734,7 @@ static int w83977af_dma_receive(struct w83977af_ir *self)  	/* Enable DMA */  	switch_bank(iobase, SET0); -#ifdef CONFIG_NETWINDER_RX_DMA_PROBLEMS +#ifdef CONFIG_ARCH_NETWINDER  	hcr = inb(iobase+HCR);  	outb(hcr | HCR_EN_DMA, iobase+HCR);  	enable_dma(self->io.dma);  | 
