Re: [RFC][PATCH] HPET: register additional counter-only char device

Clemens Ladisch
2008-04-11T13:20:29Z

Dimitri Gorokhovik wrote:
> I need to have many processes all reading from userspace the counter register
> of the (same) HPET hardware. Just reading counter values, not handling timers,
> enabling/disabling interrupts etc. `/dev/hpet' doesn't allow for this, as the
> number of times it can be opened is limited by the number of timers available.

Indeed. The driver assumes that userspace wants to program its own
timer (like an RTC device). Allowing mmap() on the hardware counter was
more an afterthought.

> What would be the right way to implement such a support? For now, I simply
> register a new misc device, '/dev/hpetctr', along with '/dev/hpet', for the same
> ACPI device and on the same occasion.

Your patch circumvents CONFIG_HPET_MMAP.

Another possibility would be to allow the device to be opened
infinitely many times but not to allocate a hardware timer until one of
the ioctls is called. This means that opening /dev/hpet does not
guarantee that a timer is available, but this has already been possible
previously because request_irq() might fail.

Regards,
Clemens