From: Matthew Wilcox <willy@fc.hp.com>
To: linux-ia64@vger.kernel.org
Subject: [Linux-ia64] ia64 patch for ACPI 20020503 release
Date: Mon, 20 May 2002 17:38:26 +0000 [thread overview]
Message-ID: <marc-linux-ia64-105590701905585@msgid-missing> (raw)
I need to apply this patch in order to get the 20020503 drop working on
ia64. Should still be required for the 20020517 drop. Note that this
is versus David's 2.4.18-020508 release which includes ACPI CA 20020329.
Index: arch/ia64/kernel/acpi.c
=================================RCS file: /var/cvs/linux/arch/ia64/kernel/acpi.c,v
retrieving revision 1.14
diff -u -p -r1.14 acpi.c
--- arch/ia64/kernel/acpi.c 15 May 2002 16:14:35 -0000 1.14
+++ arch/ia64/kernel/acpi.c 20 May 2002 16:05:14 -0000
@@ -59,6 +59,8 @@
#define PREFIX "ACPI: "
+enum acpi_irq_model_id acpi_irq_model;
+
asm (".weak iosapic_register_irq");
asm (".weak iosapic_register_legacy_irq");
asm (".weak iosapic_register_platform_irq");
@@ -72,12 +74,13 @@ const char *
acpi_get_sysname (void)
{
#ifdef CONFIG_IA64_GENERIC
- unsigned long rsdp_phys = 0;
+ unsigned long rsdp_phys;
struct acpi20_table_rsdp *rsdp;
struct acpi_table_xsdt *xsdt;
struct acpi_table_header *hdr;
- if ((0 != acpi_find_rsdp(&rsdp_phys)) || !rsdp_phys) {
+ rsdp_phys = acpi_find_rsdp();
+ if (!rsdp_phys) {
printk("ACPI 2.0 RSDP not found, default to \"dig\"\n");
return "dig";
}
@@ -207,6 +210,13 @@ acpi_request_vector (u32 int_type)
return vector;
}
+char *
+__acpi_map_table (
+ unsigned long phys_addr,
+ unsigned long size)
+{
+ return __va(phys_addr);
+}
/* --------------------------------------------------------------------------
Boot-time Table Parsing
@@ -558,21 +568,19 @@ acpi_irq_probe(acpi_handle obj, u32 dept
}
#endif
-int __init
-acpi_find_rsdp (unsigned long *rsdp_phys)
+unsigned long __init
+acpi_find_rsdp (void)
{
- if (!rsdp_phys)
- return -EINVAL;
+ unsigned long rsdp_phys = 0;
if (efi.acpi20) {
- (*rsdp_phys) = __pa(efi.acpi20);
- return 0;
+ rsdp_phys = __pa(efi.acpi20);
}
else if (efi.acpi) {
printk(KERN_WARNING PREFIX "v1.0/r0.71 tables no longer supported\n");
}
- return -ENODEV;
+ return rsdp_phys;
}
@@ -752,14 +760,14 @@ acpi_get_prt (struct pci_vector_struct *
*vectors = NULL;
*count = 0;
- if (acpi_prts.count < 0) {
+ if (acpi_prt.count < 0) {
printk(KERN_ERR PREFIX "No PCI IRQ routing entries\n");
return -ENODEV;
}
/* Allocate vectors */
- *vectors = kmalloc(sizeof(struct pci_vector_struct) * acpi_prts.count, GFP_KERNEL);
+ *vectors = kmalloc(sizeof(struct pci_vector_struct) * acpi_prt.count, GFP_KERNEL);
if (!(*vectors))
return -ENOMEM;
@@ -767,15 +775,15 @@ acpi_get_prt (struct pci_vector_struct *
vector = *vectors;
- list_for_each(node, &acpi_prts.entries) {
+ list_for_each(node, &acpi_prt.entries) {
entry = (struct acpi_prt_entry *)node;
vector[i].bus = entry->id.bus;
- vector[i].pci_id = ((u32) entry->id.dev << 16) | 0xffff;
+ vector[i].pci_id = ((u32) entry->id.device << 16) | 0xffff;
vector[i].pin = entry->id.pin;
- vector[i].irq = entry->source.index;
+ vector[i].irq = entry->link.index;
i++;
}
- *count = acpi_prts.count;
+ *count = acpi_prt.count;
return 0;
}
@@ -787,7 +795,7 @@ acpi_get_interrupt_model (int *type)
if (!type)
return -EINVAL;
- *type = ACPI_INT_MODEL_IOSAPIC;
+ *type = ACPI_IRQ_MODEL_IOSAPIC;
return 0;
}
Index: include/asm-ia64/acpi.h
=================================RCS file: /var/cvs/linux/include/asm-ia64/acpi.h,v
retrieving revision 1.2
diff -u -p -r1.2 acpi.h
--- include/asm-ia64/acpi.h 15 May 2002 16:15:17 -0000 1.2
+++ include/asm-ia64/acpi.h 20 May 2002 16:05:16 -0000
@@ -30,11 +30,8 @@
#ifdef __KERNEL__
-#define __acpi_map_table(phys_addr, size) __va(phys_addr)
-
const char *acpi_get_sysname (void);
int acpi_boot_init (char *cdline);
-int acpi_find_rsdp (unsigned long *phys_addr);
int acpi_request_vector (u32 int_type);
int acpi_get_prt (struct pci_vector_struct **vectors, int *count);
int acpi_get_interrupt_model(int *type);
--
It's always legal to use Linux (TM) systems
http://www.gnu.org/philosophy/why-free.html
reply other threads:[~2002-05-20 17:38 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=marc-linux-ia64-105590701905585@msgid-missing \
--to=willy@fc.hp.com \
--cc=linux-ia64@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.