git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git]
/
drivers
/
char
/
tipar.c
diff --git
a/drivers/char/tipar.c
b/drivers/char/tipar.c
index
079db5a
..
47fb20f
100644
(file)
--- a/
drivers/char/tipar.c
+++ b/
drivers/char/tipar.c
@@
-42,7
+42,6
@@
*/
#undef DEBUG /* change to #define to get debugging
* output - for pr_debug() */
*/
#undef DEBUG /* change to #define to get debugging
* output - for pr_debug() */
-#include <linux/config.h>
#include <linux/module.h>
#include <linux/types.h>
#include <linux/errno.h>
#include <linux/module.h>
#include <linux/types.h>
#include <linux/errno.h>
@@
-56,7
+55,6
@@
#include <linux/ioport.h>
#include <asm/io.h>
#include <linux/bitops.h>
#include <linux/ioport.h>
#include <asm/io.h>
#include <linux/bitops.h>
-#include <linux/devfs_fs_kernel.h> /* DevFs support */
#include <linux/parport.h> /* Our code depend on parport */
#include <linux/device.h>
#include <linux/parport.h> /* Our code depend on parport */
#include <linux/device.h>
@@
-226,14
+224,16
@@
probe_ti_parallel(int minor)
{
int i;
int seq[] = { 0x00, 0x20, 0x10, 0x30 };
{
int i;
int seq[] = { 0x00, 0x20, 0x10, 0x30 };
+ int data;
for (i = 3; i >= 0; i--) {
outbyte(3, minor);
outbyte(i, minor);
udelay(delay);
for (i = 3; i >= 0; i--) {
outbyte(3, minor);
outbyte(i, minor);
udelay(delay);
+ data = inbyte(minor) & 0x30;
pr_debug("tipar: Probing -> %i: 0x%02x 0x%02x\n", i,
pr_debug("tipar: Probing -> %i: 0x%02x 0x%02x\n", i,
- data
& 0x30
, seq[i]);
- if (
(inbyte(minor) & 0x30)
!= seq[i]) {
+ data, seq[i]);
+ if (
data
!= seq[i]) {
outbyte(3, minor);
return -1;
}
outbyte(3, minor);
return -1;
}
@@
-285,7
+285,7
@@
static ssize_t
tipar_write (struct file *file, const char __user *buf, size_t count,
loff_t * ppos)
{
tipar_write (struct file *file, const char __user *buf, size_t count,
loff_t * ppos)
{
- unsigned int minor = iminor(file->f_dentry->d_inode) - TIPAR_MINOR;
+ unsigned int minor = iminor(file->f_
path.
dentry->d_inode) - TIPAR_MINOR;
ssize_t n;
parport_claim_or_block(table[minor].dev);
ssize_t n;
parport_claim_or_block(table[minor].dev);
@@
-313,7
+313,7
@@
static ssize_t
tipar_read(struct file *file, char __user *buf, size_t count, loff_t * ppos)
{
int b = 0;
tipar_read(struct file *file, char __user *buf, size_t count, loff_t * ppos)
{
int b = 0;
- unsigned int minor = iminor(file->f_dentry->d_inode) - TIPAR_MINOR;
+ unsigned int minor = iminor(file->f_
path.
dentry->d_inode) - TIPAR_MINOR;
ssize_t retval = 0;
ssize_t n = 0;
ssize_t retval = 0;
ssize_t n = 0;
@@
-383,7
+383,7
@@
tipar_ioctl(struct inode *inode, struct file *file,
/* ----- kernel module registering ------------------------------------ */
/* ----- kernel module registering ------------------------------------ */
-static struct file_operations tipar_fops = {
+static
const
struct file_operations tipar_fops = {
.owner = THIS_MODULE,
.llseek = no_llseek,
.read = tipar_read,
.owner = THIS_MODULE,
.llseek = no_llseek,
.read = tipar_read,
@@
-443,12
+443,6
@@
tipar_register(int nr, struct parport *port)
class_device_create(tipar_class, NULL, MKDEV(TIPAR_MAJOR,
TIPAR_MINOR + nr), NULL, "par%d", nr);
class_device_create(tipar_class, NULL, MKDEV(TIPAR_MAJOR,
TIPAR_MINOR + nr), NULL, "par%d", nr);
- /* Use devfs, tree: /dev/ticables/par/[0..2] */
- err = devfs_mk_cdev(MKDEV(TIPAR_MAJOR, TIPAR_MINOR + nr),
- S_IFCHR | S_IRUGO | S_IWUGO,
- "ticables/par/%d", nr);
- if (err)
- goto out_class;
/* Display informations */
pr_info("tipar%d: using %s (%s)\n", nr, port->name, (port->irq ==
/* Display informations */
pr_info("tipar%d: using %s (%s)\n", nr, port->name, (port->irq ==
@@
-460,11
+454,7
@@
tipar_register(int nr, struct parport *port)
pr_info("tipar%d: link cable not found\n", nr);
err = 0;
pr_info("tipar%d: link cable not found\n", nr);
err = 0;
- goto out;
-out_class:
- class_device_destroy(tipar_class, MKDEV(TIPAR_MAJOR, TIPAR_MINOR + nr));
- class_destroy(tipar_class);
out:
return err;
}
out:
return err;
}
@@
-507,9
+497,6
@@
tipar_init_module(void)
goto out;
}
goto out;
}
- /* Use devfs with tree: /dev/ticables/par/[0..2] */
- devfs_mk_dir("ticables/par");
-
tipar_class = class_create(THIS_MODULE, "ticables");
if (IS_ERR(tipar_class)) {
err = PTR_ERR(tipar_class);
tipar_class = class_create(THIS_MODULE, "ticables");
if (IS_ERR(tipar_class)) {
err = PTR_ERR(tipar_class);
@@
-528,7
+515,6
@@
out_class:
class_destroy(tipar_class);
out_chrdev:
class_destroy(tipar_class);
out_chrdev:
- devfs_remove("ticables/par");
unregister_chrdev(TIPAR_MAJOR, "tipar");
out:
return err;
unregister_chrdev(TIPAR_MAJOR, "tipar");
out:
return err;
@@
-549,10
+535,8
@@
tipar_cleanup_module(void)
continue;
parport_unregister_device(table[i].dev);
class_device_destroy(tipar_class, MKDEV(TIPAR_MAJOR, i));
continue;
parport_unregister_device(table[i].dev);
class_device_destroy(tipar_class, MKDEV(TIPAR_MAJOR, i));
- devfs_remove("ticables/par/%d", i);
}
class_destroy(tipar_class);
}
class_destroy(tipar_class);
- devfs_remove("ticables/par");
pr_info("tipar: module unloaded\n");
}
pr_info("tipar: module unloaded\n");
}