Skip to content

Commit

Permalink
[PATCH] hpet: allow HPET FIXED_MEM32 resource type
Browse files Browse the repository at this point in the history
Allow the ACPI HPET description table to use a resource type of FIXED_MEM32
for the HPET reource.  Use the fixed resoure size of 1 KB for the HPET
resource as per the HPET spec.

Signed-off-by: Randy Dunlap <randy_d_dunlap@linux.intel.com>
Acked-by: Bob Picco <bob.picco@hp.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
  • Loading branch information
Randy Dunlap authored and Linus Torvalds committed Oct 31, 2005
1 parent 318db8f commit 757c472
Showing 1 changed file with 17 additions and 0 deletions.
17 changes: 17 additions & 0 deletions drivers/char/hpet.c
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,8 @@
#define HPET_USER_FREQ (64)
#define HPET_DRIFT (500)

#define HPET_RANGE_SIZE 1024 /* from HPET spec */

static u32 hpet_nhpet, hpet_max_freq = HPET_USER_FREQ;

/* A lock for concurrent access by app and isr hpet activity. */
Expand Down Expand Up @@ -922,6 +924,21 @@ static acpi_status hpet_resources(struct acpi_resource *res, void *data)
for (hpetp = hpets; hpetp; hpetp = hpetp->hp_next)
if (hpetp->hp_hpet == hdp->hd_address)
return -EBUSY;
} else if (res->id == ACPI_RSTYPE_FIXED_MEM32) {
struct acpi_resource_fixed_mem32 *fixmem32;

fixmem32 = &res->data.fixed_memory32;
if (!fixmem32)
return -EINVAL;

hdp->hd_phys_address = fixmem32->range_base_address;
hdp->hd_address = ioremap(fixmem32->range_base_address,
HPET_RANGE_SIZE);

for (hpetp = hpets; hpetp; hpetp = hpetp->hp_next)
if (hpetp->hp_hpet == hdp->hd_address) {
return -EBUSY;
}
} else if (res->id == ACPI_RSTYPE_EXT_IRQ) {
struct acpi_resource_ext_irq *irqp;
int i;
Expand Down

0 comments on commit 757c472

Please sign in to comment.