Module Name: src Committed By: tsutsui Date: Mon Jan 14 12:17:17 UTC 2013
Modified Files: src/sys/arch/luna68k/stand/boot: autoconf.c device.h Log Message: Remove hp300 specific select code and use proper hw address to match device. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/sys/arch/luna68k/stand/boot/autoconf.c cvs rdiff -u -r1.3 -r1.4 src/sys/arch/luna68k/stand/boot/device.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/luna68k/stand/boot/autoconf.c diff -u src/sys/arch/luna68k/stand/boot/autoconf.c:1.4 src/sys/arch/luna68k/stand/boot/autoconf.c:1.5 --- src/sys/arch/luna68k/stand/boot/autoconf.c:1.4 Mon Jan 14 11:59:18 2013 +++ src/sys/arch/luna68k/stand/boot/autoconf.c Mon Jan 14 12:17:17 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: autoconf.c,v 1.4 2013/01/14 11:59:18 tsutsui Exp $ */ +/* $NetBSD: autoconf.c,v 1.5 2013/01/14 12:17:17 tsutsui Exp $ */ /* * Copyright (c) 1992 OMRON Corporation. @@ -137,14 +137,14 @@ find_controller(struct hp_hw *hw) struct hp_ctlr *hc; struct hp_ctlr *match_c; uint8_t *oaddr; - int sc; + char *addr; #ifdef DEBUG if (acdebug) printf("find_controller: hw: %s at sc%d (%x), type %x...", hw->hw_name, hw->hw_sc, (u_int)hw->hw_addr, hw->hw_type); #endif - sc = hw->hw_sc; + addr = hw->hw_addr; match_c = NULL; for (hc = hp_cinit; hc->hp_driver; hc++) { if (hc->hp_alive) @@ -158,7 +158,7 @@ find_controller(struct hp_hw *hw) /* * Exact match; all done */ - if ((int)hc->hp_addr == sc) { + if (hc->hp_addr == addr) { match_c = hc; break; } @@ -212,7 +212,7 @@ find_device(struct hp_hw *hw) struct hp_device *hd; struct hp_device *match_d; uint8_t *oaddr; - int sc; + char *addr; #ifdef DEBUG if (acdebug) @@ -226,11 +226,11 @@ find_device(struct hp_hw *hw) /* Must not be a slave */ if (hd->hp_cdriver) continue; - sc = (int) hd->hp_addr; + addr = hd->hp_addr; /* * Exact match; all done. */ - if (sc > 0 && sc == hw->hw_sc) { + if (addr != NULL && addr == hw->hw_addr) { match_d = hd; break; } @@ -238,7 +238,7 @@ find_device(struct hp_hw *hw) * Wildcard; possible match so remember first instance * but continue looking for exact match. */ - if (sc == 0 && same_hw_device(hw, hd) && match_d == NULL) + if (addr == NULL && same_hw_device(hw, hd) && match_d == NULL) match_d = hd; } #ifdef DEBUG @@ -479,9 +479,8 @@ same_hw_device(struct hp_hw *hw, struct return(found); } -#define setup_hw(hw, addr, sc, type, name) \ +#define setup_hw(hw, addr, type, name) \ (hw)->hw_addr = addr; \ - (hw)->hw_sc = sc; \ (hw)->hw_type = type; \ (hw)->hw_name = name @@ -490,21 +489,21 @@ find_devs(void) { struct hp_hw *hw = sc_table; - setup_hw(hw, (char *) 0x51000000, 0x5, SIO, "uPD7201A (SIO)"); + setup_hw(hw, (char *) 0x51000000, SIO, "uPD7201A (SIO)"); hw++; - setup_hw(hw, (char *) 0x51000004, 0x5, KEYBOARD, "uPD7201A (KBD)"); + setup_hw(hw, (char *) 0x51000004, KEYBOARD, "uPD7201A (KBD)"); hw++; - setup_hw(hw, (char *) 0xe1000000, 0xe, SCSI, "MB89352 (SPC)"); + setup_hw(hw, (char *) 0xe1000000, SCSI, "MB89352 (SPC)"); hw++; if (machtype == LUNA_II && !badaddr((void *) 0xe1000040)) { - setup_hw(hw, (char *) 0xe1000040, 0xe, SCSI, "MB89352 (SPC)"); + setup_hw(hw, (char *) 0xe1000040, SCSI, "MB89352 (SPC)"); hw++; } if (!badaddr((void *) 0xf1000000)) { - setup_hw(hw, (char *) 0xf1000000, 0xf, NET, "Am7990 (LANCE)"); + setup_hw(hw, (char *) 0xf1000000, NET, "Am7990 (LANCE)"); hw++; } } Index: src/sys/arch/luna68k/stand/boot/device.h diff -u src/sys/arch/luna68k/stand/boot/device.h:1.3 src/sys/arch/luna68k/stand/boot/device.h:1.4 --- src/sys/arch/luna68k/stand/boot/device.h:1.3 Mon Jan 14 11:59:18 2013 +++ src/sys/arch/luna68k/stand/boot/device.h Mon Jan 14 12:17:17 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: device.h,v 1.3 2013/01/14 11:59:18 tsutsui Exp $ */ +/* $NetBSD: device.h,v 1.4 2013/01/14 12:17:17 tsutsui Exp $ */ /* * Copyright (c) 1992 OMRON Corporation. @@ -109,7 +109,6 @@ struct devqueue { struct hp_hw { char *hw_addr; /* physical address of registers */ - short hw_sc; /* select code (if applicable) */ short hw_type; /* type (defined below) */ char *hw_name; /* HP product name */ };