diff options
Diffstat (limited to 'drivers/net/irda/smsc-ircc2.c')
| -rw-r--r-- | drivers/net/irda/smsc-ircc2.c | 55 | 
1 files changed, 21 insertions, 34 deletions
diff --git a/drivers/net/irda/smsc-ircc2.c b/drivers/net/irda/smsc-ircc2.c index 8c57bfb5f09..282120430f1 100644 --- a/drivers/net/irda/smsc-ircc2.c +++ b/drivers/net/irda/smsc-ircc2.c @@ -1,7 +1,6 @@  /*********************************************************************   *   * Description:   Driver for the SMC Infrared Communications Controller - * Status:        Experimental.   * Author:        Daniele Peri (peri@csai.unipa.it)   * Created at:   * Modified at: @@ -35,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/>.   *   ********************************************************************/ @@ -49,6 +46,7 @@  #include <linux/ioport.h>  #include <linux/delay.h>  #include <linux/init.h> +#include <linux/interrupt.h>  #include <linux/rtnetlink.h>  #include <linux/serial_reg.h>  #include <linux/dma-mapping.h> @@ -78,7 +76,7 @@ MODULE_AUTHOR("Daniele Peri <peri@csai.unipa.it>");  MODULE_DESCRIPTION("SMC IrCC SIR/FIR controller driver");  MODULE_LICENSE("GPL"); -static int smsc_nopnp = 1; +static bool smsc_nopnp = true;  module_param_named(nopnp, smsc_nopnp, bool, 0);  MODULE_PARM_DESC(nopnp, "Do not use PNP to detect controller settings, defaults to true"); @@ -376,8 +374,8 @@ MODULE_DEVICE_TABLE(pnp, smsc_ircc_pnp_table);  static int pnp_driver_registered;  #ifdef CONFIG_PNP -static int __init smsc_ircc_pnp_probe(struct pnp_dev *dev, -				      const struct pnp_device_id *dev_id) +static int smsc_ircc_pnp_probe(struct pnp_dev *dev, +			       const struct pnp_device_id *dev_id)  {  	unsigned int firbase, sirbase;  	u8 dma, irq; @@ -515,7 +513,7 @@ static const struct net_device_ops smsc_ircc_netdev_ops = {   *    Try to open driver instance   *   */ -static int __init smsc_ircc_open(unsigned int fir_base, unsigned int sir_base, u8 dma, u8 irq) +static int smsc_ircc_open(unsigned int fir_base, unsigned int sir_base, u8 dma, u8 irq)  {  	struct smsc_ircc_cb *self;  	struct net_device *dev; @@ -562,25 +560,16 @@ static int __init smsc_ircc_open(unsigned int fir_base, unsigned int sir_base, u  	self->tx_buff.truesize = SMSC_IRCC2_TX_BUFF_TRUESIZE;  	self->rx_buff.head = -		dma_alloc_coherent(NULL, self->rx_buff.truesize, -				   &self->rx_buff_dma, GFP_KERNEL); -	if (self->rx_buff.head == NULL) { -		IRDA_ERROR("%s, Can't allocate memory for receive buffer!\n", -			   driver_name); +		dma_zalloc_coherent(NULL, self->rx_buff.truesize, +				    &self->rx_buff_dma, GFP_KERNEL); +	if (self->rx_buff.head == NULL)  		goto err_out2; -	}  	self->tx_buff.head = -		dma_alloc_coherent(NULL, self->tx_buff.truesize, -				   &self->tx_buff_dma, GFP_KERNEL); -	if (self->tx_buff.head == NULL) { -		IRDA_ERROR("%s, Can't allocate memory for transmit buffer!\n", -			   driver_name); +		dma_zalloc_coherent(NULL, self->tx_buff.truesize, +				    &self->tx_buff_dma, GFP_KERNEL); +	if (self->tx_buff.head == NULL)  		goto err_out3; -	} - -	memset(self->rx_buff.head, 0, self->rx_buff.truesize); -	memset(self->tx_buff.head, 0, self->tx_buff.truesize);  	self->rx_buff.in_frame = FALSE;  	self->rx_buff.state = OUTSIDE_FRAME; @@ -1582,7 +1571,7 @@ static irqreturn_t smsc_ircc_interrupt_sir(struct net_device *dev)  	int iobase;  	int iir, lsr; -	/* Already locked comming here in smsc_ircc_interrupt() */ +	/* Already locked coming here in smsc_ircc_interrupt() */  	/*spin_lock(&self->lock);*/  	iobase = self->io.sir_base; @@ -2404,8 +2393,6 @@ static int __init smsc_superio_lpc(unsigned short cfg_base)   * addresses making a subsystem device table necessary.   */  #ifdef CONFIG_PCI -#define PCIID_VENDOR_INTEL 0x8086 -#define PCIID_VENDOR_ALI 0x10b9  static struct smsc_ircc_subsystem_configuration subsystem_configurations[] __initdata = {  	/*  	 * Subsystems needing entries: @@ -2415,7 +2402,7 @@ static struct smsc_ircc_subsystem_configuration subsystem_configurations[] __ini  	 */  	{  		/* Guessed entry */ -		.vendor = PCIID_VENDOR_INTEL, /* Intel 82801DBM LPC bridge */ +		.vendor = PCI_VENDOR_ID_INTEL, /* Intel 82801DBM LPC bridge */  		.device = 0x24cc,  		.subvendor = 0x103c,  		.subdevice = 0x08bc, @@ -2428,7 +2415,7 @@ static struct smsc_ircc_subsystem_configuration subsystem_configurations[] __ini  		.name = "HP nx5000 family",  	},  	{ -		.vendor = PCIID_VENDOR_INTEL, /* Intel 82801DBM LPC bridge */ +		.vendor = PCI_VENDOR_ID_INTEL, /* Intel 82801DBM LPC bridge */  		.device = 0x24cc,  		.subvendor = 0x103c,  		.subdevice = 0x088c, @@ -2442,7 +2429,7 @@ static struct smsc_ircc_subsystem_configuration subsystem_configurations[] __ini  		.name = "HP nc8000 family",  	},  	{ -		.vendor = PCIID_VENDOR_INTEL, /* Intel 82801DBM LPC bridge */ +		.vendor = PCI_VENDOR_ID_INTEL, /* Intel 82801DBM LPC bridge */  		.device = 0x24cc,  		.subvendor = 0x103c,  		.subdevice = 0x0890, @@ -2455,7 +2442,7 @@ static struct smsc_ircc_subsystem_configuration subsystem_configurations[] __ini  		.name = "HP nc6000 family",  	},  	{ -		.vendor = PCIID_VENDOR_INTEL, /* Intel 82801DBM LPC bridge */ +		.vendor = PCI_VENDOR_ID_INTEL, /* Intel 82801DBM LPC bridge */  		.device = 0x24cc,  		.subvendor = 0x0e11,  		.subdevice = 0x0860, @@ -2470,7 +2457,7 @@ static struct smsc_ircc_subsystem_configuration subsystem_configurations[] __ini  	},  	{  		/* Intel 82801DB/DBL (ICH4/ICH4-L) LPC Interface Bridge */ -		.vendor = PCIID_VENDOR_INTEL, +		.vendor = PCI_VENDOR_ID_INTEL,  		.device = 0x24c0,  		.subvendor = 0x1179,  		.subdevice = 0xffff, /* 0xffff is "any" */ @@ -2483,7 +2470,7 @@ static struct smsc_ircc_subsystem_configuration subsystem_configurations[] __ini  		.name = "Toshiba laptop with Intel 82801DB/DBL LPC bridge",  	},  	{ -		.vendor = PCIID_VENDOR_INTEL, /* Intel 82801CAM ISA bridge */ +		.vendor = PCI_VENDOR_ID_INTEL, /* Intel 82801CAM ISA bridge */  		.device = 0x248c,  		.subvendor = 0x1179,  		.subdevice = 0xffff, /* 0xffff is "any" */ @@ -2497,7 +2484,7 @@ static struct smsc_ircc_subsystem_configuration subsystem_configurations[] __ini  	},  	{  		/* 82801DBM (ICH4-M) LPC Interface Bridge */ -		.vendor = PCIID_VENDOR_INTEL, +		.vendor = PCI_VENDOR_ID_INTEL,  		.device = 0x24cc,  		.subvendor = 0x1179,  		.subdevice = 0xffff, /* 0xffff is "any" */ @@ -2511,7 +2498,7 @@ static struct smsc_ircc_subsystem_configuration subsystem_configurations[] __ini  	},  	{  		/* ALi M1533/M1535 PCI to ISA Bridge [Aladdin IV/V/V+] */ -		.vendor = PCIID_VENDOR_ALI, +		.vendor = PCI_VENDOR_ID_AL,  		.device = 0x1533,  		.subvendor = 0x1179,  		.subdevice = 0xffff, /* 0xffff is "any" */  | 
