Possibly because of the "do it in open(2)" rule?
Ignoring the device model entirely, if a driver does a lot of
talking-to-the-hardware in its probe phase, I consider it buggy, in 2.4
or 2.5.
The network driver and chardev ones typically follow this rule quite
well... probe is simple, just registering interfaces with the kernel.
dev->open is where the driver should (and usually does) power-up the
hardware, [re-]initialize it, etc.
So each time you come upon a driver that wants dev->driver->start(),
look closely at the code and wonder why it can't perform the
dev->driver->start() code in its interface's dev->open member.
Jeff
-
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/