All of lore.kernel.org
 help / color / mirror / Atom feed
* acpi_find_bmc() and acpi_get_table()
@ 2007-02-11  4:27 Len Brown
  2007-02-11  4:53 ` Corey Minyard
  2007-02-16  4:03 ` Bjorn Helgaas
  0 siblings, 2 replies; 26+ messages in thread
From: Len Brown @ 2007-02-11  4:27 UTC (permalink / raw)
  To: minyard, Corey Minyard; +Cc: linux-acpi

Cory,
acpi_find_bmc() appears to be searching for 
multiple SPMI tables in the RSDT and running
try_init_acpi() on each of them
until it doesn't find any more.

Is that the intent?

Are here systems with multiple SPMI tables?

static __devinit void acpi_find_bmc(void)
{
        acpi_status      status;
        struct SPMITable *spmi;
        int              i;

        if (acpi_disabled)
                return;

        if (acpi_failure)
                return;

        for (i = 0; ; i++) {
                status = acpi_get_table(ACPI_SIG_SPMI, i+1,
                                        (struct acpi_table_header **)&spmi);
                if (status != AE_OK)
                        return;

                try_init_acpi(spmi);
        }
}

I speculated recently that the only table signature
that is (supposed to be) repeated in the RSDT is an SSDT.
Maybe that speculation is wrong if there can be multiple SPMI tables...

Bob, Alexey,
Also, one thing I'm not excited about is that acpi_get_table()
treats instance number 0 and 1 as synonyms -- which is
presumably why "i+1" is used above.  I think it would make sense
if instance 0 and instance 1 were different instances.

ie.

--- a/drivers/acpi/tables/tbxface.c
+++ b/drivers/acpi/tables/tbxface.c
@@ -397,7 +397,7 @@ acpi_get_table(char *signature,
                        continue;
                }

-               if (++j < instance) {
+               if (++j <= instance) {
                        continue;
                }

thanks,
-Len

^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2008-07-17 18:33 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-02-11  4:27 acpi_find_bmc() and acpi_get_table() Len Brown
2007-02-11  4:53 ` Corey Minyard
2007-02-11  5:28   ` Len Brown
2007-02-16  4:03 ` Bjorn Helgaas
2007-02-16  5:15   ` Corey Minyard
2007-02-20  4:31     ` Bjorn Helgaas
2007-02-20  6:46       ` Alexey Starikovskiy
2007-02-20 13:55         ` Corey Minyard
2007-02-25 21:59           ` Matt Domsch
2007-02-26 18:30             ` Jordan_Hargrave
2007-02-26 19:32               ` [Openipmi-developer] " Bjorn Helgaas
2007-02-26 20:06                 ` Jordan_Hargrave
2007-02-26 22:39                   ` Bjorn Helgaas
2007-02-28 21:42               ` Corey Minyard
2007-02-28 22:05                 ` Jordan_Hargrave
2007-02-28 22:35                   ` Bjorn Helgaas
2007-02-28 22:44                     ` Corey Minyard
2007-04-13 17:44               ` Bjorn Helgaas
2007-04-17 22:50                 ` Corey Minyard
2007-04-18 15:32                   ` [Openipmi-developer] " Bjorn Helgaas
2007-07-18 16:49               ` Jordan_Hargrave
2007-07-18 19:19                 ` Bjorn Helgaas
2007-07-19 16:32                   ` [Openipmi-developer] " Jordan_Hargrave
2007-07-19 18:50                     ` Bjorn Helgaas
2008-07-17 18:32                     ` [Openipmi-developer] " Bjorn Helgaas
2007-07-20 14:11                   ` Corey Minyard

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.