* with this program; if not, write to the Free Software Foundation, Inc.,
* 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-
#include <linux/module.h>
-#include <linux/config.h>
#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/miscdevice.h>
static int ite_gpio_open(struct inode *inode, struct file *file)
{
- unsigned int minor = iminor(inode);
- if (minor != GPIO_MINOR)
- return -ENODEV;
-
return 0;
}
static int ite_gpio_ioctl(struct inode *inode, struct file *file,
unsigned int cmd, unsigned long arg)
{
-
static struct ite_gpio_ioctl_data ioctl_data;
if (copy_from_user(&ioctl_data, (struct ite_gpio_ioctl_data *)arg,
return -ENOIOCTLCMD;
}
+
return 0;
}
-static void ite_gpio_irq_handler(int this_irq, void *dev_id, struct pt_regs *regs)
+static void ite_gpio_irq_handler(int this_irq, void *dev_id,
+ struct pt_regs *regs)
{
int i,line;
}
}
-static struct file_operations ite_gpio_fops =
-{
+static struct file_operations ite_gpio_fops = {
.owner = THIS_MODULE,
.ioctl = ite_gpio_ioctl,
.open = ite_gpio_open,
.release = ite_gpio_release,
};
-/* GPIO_MINOR in include/linux/miscdevice.h */
-static struct miscdevice ite_gpio_miscdev =
-{
- GPIO_MINOR,
+static struct miscdevice ite_gpio_miscdev = {
+ MISC_DYNAMIC_MINOR,
"ite_gpio",
&ite_gpio_fops
};
return 0;
}
-void __exit ite_gpio_exit(void)
+static void __exit ite_gpio_exit(void)
{
misc_deregister(&ite_gpio_miscdev);
}