* ------------------
*
* You can find a subset of the documentation in
- * linux/Documentation/networking/z8530drv.txt.
+ * Documentation/networking/z8530drv.txt.
*/
/*
#include <linux/kernel.h>
#include <linux/proc_fs.h>
#include <linux/seq_file.h>
+#include <linux/bitops.h>
#include <net/ax25.h>
#include <asm/system.h>
#include <asm/io.h>
#include <asm/uaccess.h>
-#include <asm/bitops.h>
#include "z8530.h"
/* These provide interrupt save 2-step access to the Z8530 registers */
-static spinlock_t iolock = SPIN_LOCK_UNLOCKED; /* Guards paired accesses */
+static DEFINE_SPINLOCK(iolock); /* Guards paired accesses */
static inline unsigned char InReg(io_port port, unsigned char reg)
{
struct scc_mem_config memcfg;
struct scc_hw_config hwcfg;
struct scc_calibrate cal;
- struct scc_channel *scc;
+ struct scc_channel *scc = (struct scc_channel *) dev->priv;
int chan;
unsigned char device_name[IFNAMSIZ];
- void *arg;
+ void __user *arg = ifr->ifr_data;
- scc = (struct scc_channel *) dev->priv;
- arg = (void *) ifr->ifr_data;
if (!Driver_Initialized)
{