Re: [PATCH] struct char_device

Alexander Viro (viro@math.psu.edu)
Tue, 22 May 2001 20:03:20 -0400 (EDT)


On Wed, 23 May 2001 Andries.Brouwer@cwi.nl wrote:

> I am not sure whether we agree or differ in opinion. I wouldn't mind
>
> /* pairing for dev_t to bd_op/cd_op */
> struct bc_device {
> struct list_head bd_hash;
> atomic_t bd_count;
> dev_t bd_dev;
> atomic_t bd_openers;
> union {
> struct block_device_operations_and_data *bd_op;
> struct char_device_operations_and_data *cd_op;
> }
> struct semaphore bd_sem;
> };
>
> typedef struct bc_device *kdev_t;

What for? What part of the kernel needs a device and doesn't know apriory
whether it's block or character one?

> and in an inode
>
> kdev_t dev;
Useless. If you hope that block_device will help to solve rmmod races -
sorry, it won't. Wrong layer.

> dev_t rdev;
Reasonable.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/