Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/netbsd-1-6]: src/sys Pull up revision 1.9 (requested by chris in ticket ...



details:   https://anonhg.NetBSD.org/src/rev/7441e447b18b
branches:  netbsd-1-6
changeset: 529201:7441e447b18b
user:      tron <tron%NetBSD.org@localhost>
date:      Fri Nov 01 11:12:13 2002 +0000

description:
Pull up revision 1.9 (requested by chris in ticket #120):
Substantial overhaul of podule IDs.  Unlike on PCI or USB, podule IDs are
assigned by RISCOS Ltd (and were assigned by Acorn) to be unique across all
manufacturers.  This means that associating each one with a manufacturer (and
checking the manufacturer when attaching) is bogus.  Thus, we don't do that
any more.
This should have the pleasant side-effect of getting APDL IDE interfaces
working, since they're just ICS ones with a different manufacturer ID.

diffstat:

 sys/arch/acorn32/podulebus/podulebus.c |  32 +++++++++++++++++---------------
 sys/dev/podulebus/oak.c                |   6 +++---
 2 files changed, 20 insertions(+), 18 deletions(-)

diffs (99 lines):

diff -r 8a4e9309271c -r 7441e447b18b sys/arch/acorn32/podulebus/podulebus.c
--- a/sys/arch/acorn32/podulebus/podulebus.c    Fri Nov 01 10:56:17 2002 +0000
+++ b/sys/arch/acorn32/podulebus/podulebus.c    Fri Nov 01 11:12:13 2002 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: podulebus.c,v 1.8 2002/04/05 16:58:02 thorpej Exp $ */
+/* $NetBSD: podulebus.c,v 1.8.4.1 2002/11/01 11:12:13 tron Exp $ */
 
 /*
  * Copyright (c) 1994-1996 Mark Brinicombe.
@@ -43,7 +43,7 @@
 
 #include <sys/param.h>
 
-__KERNEL_RCSID(0, "$NetBSD: podulebus.c,v 1.8 2002/04/05 16:58:02 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: podulebus.c,v 1.8.4.1 2002/11/01 11:12:13 tron Exp $");
 
 #include <sys/systm.h>
 #include <sys/kernel.h>
@@ -239,7 +239,7 @@
        struct device *dev;
        int slottype;
 {
-       struct podule_list *pod_list;
+       struct manufacturer_description *man_desc;
        struct podule_description *pod_desc;
 
        /* Test to see if the podule is present */
@@ -271,30 +271,32 @@
                                        podulechunkdirectory(podule);
 
                                /* Do we know this manufacturer ? */
-                               pod_list = known_podules;
-                               while (pod_list->description) {
-                                       if (pod_list->manufacturer_id == podule->manufacturer)
+                               man_desc = known_manufacturers;
+                               while (man_desc->description) {
+                                       if (man_desc->manufacturer_id ==
+                                           podule->manufacturer)
                                                break;
-                                       ++pod_list;
+                                       ++man_desc;
                                }
-                               if (!pod_list->description)
+                               if (!man_desc->description)
                                        printf("man=%04x   : ", podule->manufacturer);
                                else
-                                       printf("%s : ", pod_list->description);
+                                       printf("%s : ", man_desc->description);
 
                                /* Do we know this product ? */
 
-                               pod_desc = pod_list->products;
+                               pod_desc = known_podules;
                                while (pod_desc->description) {
                                        if (pod_desc->product_id == podule->product)
                                                break;
                                        ++pod_desc;
                                }
-                               if (!pod_desc->description) {
-                                       printf("prod=%04x : ", podule->product);
-                                       printf("%s\n", podule->description);
-                               } else
-                                       printf("%s : %s\n", pod_desc->description, podule->description);
+                               if (!pod_desc->description)
+                                       printf("prod=%04x : ",
+                                           podule->product);
+                               else
+                                       printf("%s : ", pod_desc->description);
+                               printf("%s\n", podule->description);
                        }
                }
        }
diff -r 8a4e9309271c -r 7441e447b18b sys/dev/podulebus/oak.c
--- a/sys/dev/podulebus/oak.c   Fri Nov 01 10:56:17 2002 +0000
+++ b/sys/dev/podulebus/oak.c   Fri Nov 01 11:12:13 2002 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: oak.c,v 1.8 2002/03/24 14:56:01 bjh21 Exp $    */
+/*     $NetBSD: oak.c,v 1.8.4.1 2002/11/01 11:12:14 tron Exp $ */
 
 /*
  * Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -65,7 +65,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: oak.c,v 1.8 2002/03/24 14:56:01 bjh21 Exp $");
+__KERNEL_RCSID(0, "$NetBSD: oak.c,v 1.8.4.1 2002/11/01 11:12:14 tron Exp $");
 
 #include <sys/param.h>
 
@@ -124,7 +124,7 @@
 {
        struct podulebus_attach_args *pa = aux;
 
-       if (matchpodule(pa, MANUFACTURER_OAK, PODULE_OAK_SCSI, -1))
+       if (pa->pa_product == PODULE_OAK_SCSI)
                return 1;
 
        /* PowerROM */



Home | Main Index | Thread Index | Old Index