device model and character devices

Artem B. Bityutskiy
2006-04-04T08:12:36Z

Hello Greg,

at the moment the device model and the character devices subsystem are
distinct and different things. I mean, if I have a device xdev, I do the
following:

struct xdev_device {
struct cdev cdev;
struct device dev;
/* xdev-specific stuff */
...
} xdev;

I use xdev.cdev to register character device:

cdev_add(&xdev.cdev, ...);
...

I use xdev.dev functions to include my device to the device-model:

device_register(&xdev.dev, ...);
...

But why not to merge the character device stuff and the device model?
Roughly speaking, why not to embed 'struct cdev' to 'struct device'? Why
do driver writers have to distinguish between these things?

Thanks.

--
Best Regards,
Artem B. Bityutskiy,
St.-Petersburg, Russia.