From nork@FreeBSD.org  Sat Dec  9 22:25:39 2006
Return-Path: <nork@FreeBSD.org>
Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52])
	by hub.freebsd.org (Postfix) with ESMTP id F036B16A4A7;
	Sat,  9 Dec 2006 22:25:38 +0000 (UTC)
	(envelope-from nork@FreeBSD.org)
Received: from sakura.ninth-nine.com (sakura.ninth-nine.com [219.127.74.120])
	by mx1.FreeBSD.org (Postfix) with ESMTP id 7A8D443D5E;
	Sat,  9 Dec 2006 22:24:09 +0000 (GMT)
	(envelope-from nork@FreeBSD.org)
Received: from nadesico.ninth-nine.com (nadesico.ninth-nine.com [219.127.74.122]) by sakura.ninth-nine.com (8.13.8/8.13.8/NinthNine) with SMTP id kB9MPDMu045394; Sun, 10 Dec 2006 07:25:13 +0900 (JST) (envelope-from nork@FreeBSD.org)
Message-Id: <20061210072513.441a55f9.nork@FreeBSD.org>
Date: Sun, 10 Dec 2006 07:25:13 +0900
From: Norikatsu Shigemura <nork@FreeBSD.org>
To: FreeBSD-gnats-submit@FreeBSD.org
Cc: Norikatsu Shigemura <nork@FreeBSD.org>, scsi@FreeBSD.org,
        gibbs@FreeBSD.org, ken@FreeBSD.org, mjacob@FreeBSD.org,
        aradford@amcc.com, re@FreeBSD.org
Subject: kldload CAMs doesn't work.

>Number:         106543
>Category:       kern
>Synopsis:       [modules] [patch] kldload CAMs doesn't work.
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    mjacob
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat Dec 09 22:30:08 GMT 2006
>Closed-Date:    Thu Dec 14 03:12:35 GMT 2006
>Last-Modified:  Thu Dec 14 03:20:05 GMT 2006
>Originator:     Norikatsu Shigemura
>Release:        FreeBSD 6.2-PRERELEASE i386
>Organization:
Ensure Technology LTD.
>Environment:
System: FreeBSD melfina.ninth-nine.com 6.2-PRERELEASE FreeBSD 6.2-PRERELEASE #39: Thu Nov 16 05:36:03 JST 2006 nork@melfina.ninth-nine.com:/usr/obj/usr/src/sys/MELFINA i386

>Description:
	I would try to kldload CAMs(4).  But no works.  Because CAMs.ko
	couldn't resolve cam related symbols.

	CAMs are following kernel modules:	(I confirmed)
		ahb(4), amr(4), arcmsr(4), asr(4), dpt(4), hptmv(4),
		iir(4), mly(4), twa(4)

	I don't confirm following kernel modules, but I think that they
	have same problems.
		ncr(4), adv(4), adw(4), bt(4)

	I can't fix this problem:
		isp(4), ispfw(4)
	They should be depended on cam(4) and firmware(4).  But I didn't
	know how to fix:-(.

>How-To-Repeat:
	# kldload CAMs
	kldload: can't load CAMs: No such file or directory
	# dmesg
	link_elf: symbol xpt_periph undefined
	link_elf: symbol xpt_free_path undefined
	link_elf: symbol xpt_done undefined
	link_elf: symbol firmware_register undefined
	KLD isp.ko: depends on ispfw - not available
	link_elf: symbol cam_simq_alloc undefined
	link_elf: symbol xpt_path_target_id undefined
	link_elf: symbol xpt_bus_deregister undefined

Fix:

	SEE ALSO:
	http://lists.freebsd.org/pipermail/freebsd-current/2004-September/037056.html
	http://lists.freebsd.org/pipermail/freebsd-current/2004-September/037065.html
	http://lists.freebsd.org/pipermail/freebsd-current/2004-September/037067.html
	http://lists.freebsd.org/pipermail/freebsd-current/2004-September/037071.html

	http://lists.freebsd.org/pipermail/freebsd-current/2006-March/061908.html
	http://lists.freebsd.org/pipermail/freebsd-current/2006-March/061908.html
	http://lists.freebsd.org/pipermail/freebsd-current/2006-March/061923.html
	http://lists.freebsd.org/pipermail/freebsd-current/2006-March/061925.html
	http://lists.freebsd.org/pipermail/freebsd-current/2006-March/061926.html
	http://lists.freebsd.org/pipermail/freebsd-current/2006-March/061930.html
	http://lists.freebsd.org/pipermail/freebsd-current/2006-March/061946.html
	http://lists.freebsd.org/pipermail/freebsd-current/2006-March/061965.html
	http://lists.freebsd.org/pipermail/freebsd-current/2006-March/061924.html

	http://www.freebsd.org/cgi/query-pr.cgi?pr=105989
	http://www.freebsd.org/cgi/query-pr.cgi?pr=106536


	cam70.diff:	for HEAD
	cam6x.diff:	for RELENG_6
	cam62.diff:	for RELENG_6_2

--- cam7x.diff begins here ---
Index: sys/dev/ahb/ahb.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/ahb/ahb.c,v
retrieving revision 1.37
diff -u -r1.37 ahb.c
--- sys/dev/ahb/ahb.c	2 Nov 2006 00:54:34 -0000	1.37
+++ sys/dev/ahb/ahb.c	9 Dec 2006 20:52:15 -0000
@@ -1366,3 +1366,5 @@
 static devclass_t ahb_devclass;
 
 DRIVER_MODULE(ahb, eisa, ahb_eisa_driver, ahb_devclass, 0, 0);
+MODULE_DEPEND(mpt, cam, 1, 1, 1);
+MODULE_DEPEND(mpt, eisa, 1, 1, 1);
Index: sys/dev/amr/amr_pci.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/amr/amr_pci.c,v
retrieving revision 1.36
diff -u -r1.36 amr_pci.c
--- sys/dev/amr/amr_pci.c	8 Apr 2006 05:08:17 -0000	1.36
+++ sys/dev/amr/amr_pci.c	9 Dec 2006 20:53:12 -0000
@@ -119,6 +119,8 @@
 
 static devclass_t	amr_devclass;
 DRIVER_MODULE(amr, pci, amr_pci_driver, amr_devclass, 0, 0);
+MODULE_DEPEND(amr, cam, 1, 1, 1);
+MODULE_DEPEND(amr, pci, 1, 1, 1);
 
 static struct amr_ident
 {
Index: sys/dev/arcmsr/arcmsr.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/arcmsr/arcmsr.c,v
retrieving revision 1.13
diff -u -r1.13 arcmsr.c
--- sys/dev/arcmsr/arcmsr.c	2 Nov 2006 00:54:35 -0000	1.13
+++ sys/dev/arcmsr/arcmsr.c	9 Dec 2006 20:53:44 -0000
@@ -198,6 +198,8 @@
 
 static devclass_t arcmsr_devclass;
 DRIVER_MODULE(arcmsr,pci,arcmsr_driver,arcmsr_devclass,0,0);
+MODULE_DEPEND(arcmsr, cam, 1, 1, 1);
+MODULE_DEPEND(arcmsr, pci, 1, 1, 1);
 
 #if __FreeBSD_version >= 502010
 	static struct cdevsw arcmsr_cdevsw={
Index: sys/dev/asr/asr.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/asr/asr.c,v
retrieving revision 1.81
diff -u -r1.81 asr.c
--- sys/dev/asr/asr.c	6 Nov 2006 13:41:51 -0000	1.81
+++ sys/dev/asr/asr.c	9 Dec 2006 20:54:24 -0000
@@ -427,6 +427,8 @@
 
 static devclass_t asr_devclass;
 DRIVER_MODULE(asr, pci, asr_driver, asr_devclass, 0, 0);
+MODULE_DEPEND(asr, cam, 1, 1, 1);
+MODULE_DEPEND(asr, pci, 1, 1, 1);
 
 /*
  * devsw for asr hba driver
Index: sys/dev/dpt/dpt_eisa.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/dpt/dpt_eisa.c,v
retrieving revision 1.20
diff -u -r1.20 dpt_eisa.c
--- sys/dev/dpt/dpt_eisa.c	29 May 2005 04:42:19 -0000	1.20
+++ sys/dev/dpt/dpt_eisa.c	9 Dec 2006 20:54:55 -0000
@@ -212,3 +212,5 @@
 };
 
 DRIVER_MODULE(dpt, eisa, dpt_eisa_driver, dpt_devclass, 0, 0);
+MODULE_DEPEND(dpt, cam, 1, 1, 1);
+MODULE_DEPEND(dpt, eisa, 1, 1, 1);
Index: sys/dev/dpt/dpt_isa.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/dpt/dpt_isa.c,v
retrieving revision 1.9
diff -u -r1.9 dpt_isa.c
--- sys/dev/dpt/dpt_isa.c	29 May 2005 04:42:19 -0000	1.9
+++ sys/dev/dpt/dpt_isa.c	9 Dec 2006 20:55:10 -0000
@@ -268,3 +268,5 @@
 };
 
 DRIVER_MODULE(dpt, isa, dpt_isa_driver, dpt_devclass, 0, 0);
+MODULE_DEPEND(dpt, cam, 1, 1, 1);
+mODULE_DEPEND(dpt, isa, 1, 1, 1);
Index: sys/dev/dpt/dpt_pci.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/dpt/dpt_pci.c,v
retrieving revision 1.34
diff -u -r1.34 dpt_pci.c
--- sys/dev/dpt/dpt_pci.c	29 May 2005 04:42:19 -0000	1.34
+++ sys/dev/dpt/dpt_pci.c	9 Dec 2006 20:55:36 -0000
@@ -195,3 +195,5 @@
 };
 
 DRIVER_MODULE(dpt, pci, dpt_pci_driver, dpt_devclass, 0, 0);
+MODULE_DEPEND(dpt, cam, 1, 1, 1);
+MODULE_DEPEND(dpt, pci, 1, 1, 1);
Index: sys/dev/hptmv/entry.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/hptmv/entry.c,v
retrieving revision 1.12
diff -u -r1.12 entry.c
--- sys/dev/hptmv/entry.c	16 May 2006 14:36:25 -0000	1.12
+++ sys/dev/hptmv/entry.c	9 Dec 2006 21:30:51 -0000
@@ -106,7 +106,10 @@
 static devclass_t	hpt_devclass;
 
 #define __DRIVER_MODULE(p1, p2, p3, p4, p5, p6) DRIVER_MODULE(p1, p2, p3, p4, p5, p6)
+#define __MODULE_DEPEND(p1, p2, p3, p4, p5) MODULE_DEPEND(p1, p2, p3, p4, p5)
 __DRIVER_MODULE(PROC_DIR_NAME, pci, hpt_pci_driver, hpt_devclass, 0, 0);
+__MODULE_DEPEND(PROC_DIR_NAME, cam, 1, 1, 1);
+__MODULE_DEPEND(PROC_DIR_NAME, pci, 1, 1, 1);
 
 #define ccb_ccb_ptr spriv_ptr0
 #define ccb_adapter ccb_h.spriv_ptr1
Index: sys/dev/iir/iir_pci.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/iir/iir_pci.c,v
retrieving revision 1.17
diff -u -r1.17 iir_pci.c
--- sys/dev/iir/iir_pci.c	16 May 2006 14:36:26 -0000	1.17
+++ sys/dev/iir/iir_pci.c	9 Dec 2006 20:59:12 -0000
@@ -158,6 +158,8 @@
 static devclass_t iir_devclass;
 
 DRIVER_MODULE(iir, pci, iir_pci_driver, iir_devclass, 0, 0);
+MODULE_DEPEND(iir, cam, 1, 1, 1);
+MODULE_DEPEND(iir, pci, 1, 1, 1);
 
 static int
 iir_pci_probe(device_t dev)
Index: sys/dev/mly/mly.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/mly/mly.c,v
retrieving revision 1.41
diff -u -r1.41 mly.c
--- sys/dev/mly/mly.c	2 Nov 2006 00:54:37 -0000	1.41
+++ sys/dev/mly/mly.c	9 Dec 2006 21:06:25 -0000
@@ -147,6 +147,8 @@
 
 static devclass_t	mly_devclass;
 DRIVER_MODULE(mly, pci, mly_pci_driver, mly_devclass, 0, 0);
+MODULE_DEPEND(mly, cam, 1, 1, 1);
+MODULE_DEPEND(mly, pci, 1, 1, 1);
 
 static struct cdevsw mly_cdevsw = {
 	.d_version =	D_VERSION,
Index: sys/dev/twa/tw_osl_freebsd.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/twa/tw_osl_freebsd.c,v
retrieving revision 1.4
diff -u -r1.4 tw_osl_freebsd.c
--- sys/dev/twa/tw_osl_freebsd.c	8 Nov 2005 22:51:43 -0000	1.4
+++ sys/dev/twa/tw_osl_freebsd.c	9 Dec 2006 21:06:58 -0000
@@ -207,6 +207,8 @@
 };
 
 DRIVER_MODULE(twa, pci, twa_pci_driver, twa_devclass, 0, 0);
+MODULE_DEPEND(twa, cam, 1, 1, 1);
+MODULE_DEPEND(twa, pci, 1, 1, 1);
 
 
 
--- cam7x.diff ends here ---

--- cam6x.diff begins here ---
Index: sys/dev/ahb/ahb.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/ahb/ahb.c,v
retrieving revision 1.34.2.1
diff -u -r1.34.2.1 ahb.c
--- sys/dev/ahb/ahb.c	29 Jun 2006 18:12:18 -0000	1.34.2.1
+++ sys/dev/ahb/ahb.c	9 Dec 2006 21:15:24 -0000
@@ -1349,3 +1349,5 @@
 static devclass_t ahb_devclass;
 
 DRIVER_MODULE(ahb, eisa, ahb_eisa_driver, ahb_devclass, 0, 0);
+MODULE_DEPEND(ahb, cam, 1, 1, 1);
+MODULE_DEPEND(ahb, eisa, 1, 1, 1);
Index: sys/dev/amr/amr_pci.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/amr/amr_pci.c,v
retrieving revision 1.29.2.3
diff -u -r1.29.2.3 amr_pci.c
--- sys/dev/amr/amr_pci.c	15 Jun 2006 16:44:27 -0000	1.29.2.3
+++ sys/dev/amr/amr_pci.c	9 Dec 2006 21:16:00 -0000
@@ -119,6 +119,8 @@
 
 static devclass_t	amr_devclass;
 DRIVER_MODULE(amr, pci, amr_pci_driver, amr_devclass, 0, 0);
+MODULE_DEPEND(amr, cam, 1, 1, 1);
+MODULE_DEPEND(amr, pci, 1, 1, 1);
 
 static struct amr_ident
 {
Index: sys/dev/arcmsr/arcmsr.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/arcmsr/arcmsr.c,v
retrieving revision 1.8
diff -u -r1.8 arcmsr.c
--- sys/dev/arcmsr/arcmsr.c	5 Jun 2005 23:05:26 -0000	1.8
+++ sys/dev/arcmsr/arcmsr.c	9 Dec 2006 21:16:36 -0000
@@ -199,6 +199,8 @@
 
 static devclass_t arcmsr_devclass;
 DRIVER_MODULE(arcmsr,pci,arcmsr_driver,arcmsr_devclass,0,0);
+MODULE_DEPEND(arcmsr, cam, 1, 1, 1);
+MODULE_DEPEND(arcmsr, pci, 1, 1, 1);
 
 #if __FreeBSD_version >= 502010
 	static struct cdevsw arcmsr_cdevsw={
Index: sys/dev/asr/asr.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/asr/asr.c,v
retrieving revision 1.68
diff -u -r1.68 asr.c
--- sys/dev/asr/asr.c	29 Apr 2005 04:47:11 -0000	1.68
+++ sys/dev/asr/asr.c	9 Dec 2006 21:17:28 -0000
@@ -415,6 +415,8 @@
 
 static devclass_t asr_devclass;
 DRIVER_MODULE(asr, pci, asr_driver, asr_devclass, 0, 0);
+MODULE_DEPEND(asr, cam, 1, 1, 1);
+MODULE_DEPEND(asr, pci, 1, 1, 1);
 
 /*
  * devsw for asr hba driver
Index: sys/dev/dpt/dpt_eisa.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/dpt/dpt_eisa.c,v
retrieving revision 1.20
diff -u -r1.20 dpt_eisa.c
--- sys/dev/dpt/dpt_eisa.c	29 May 2005 04:42:19 -0000	1.20
+++ sys/dev/dpt/dpt_eisa.c	9 Dec 2006 21:18:05 -0000
@@ -212,3 +212,5 @@
 };
 
 DRIVER_MODULE(dpt, eisa, dpt_eisa_driver, dpt_devclass, 0, 0);
+MODULE_DEPEND(dpt, cam, 1, 1, 1);
+MODULE_DEPEND(dpt, eisa, 1, 1, 1);
Index: sys/dev/dpt/dpt_isa.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/dpt/dpt_isa.c,v
retrieving revision 1.9
diff -u -r1.9 dpt_isa.c
--- sys/dev/dpt/dpt_isa.c	29 May 2005 04:42:19 -0000	1.9
+++ sys/dev/dpt/dpt_isa.c	9 Dec 2006 21:18:16 -0000
@@ -268,3 +268,5 @@
 };
 
 DRIVER_MODULE(dpt, isa, dpt_isa_driver, dpt_devclass, 0, 0);
+MODULE_DEPEND(dpt, cam, 1, 1, 1);
+MODULE_DEPEND(dpt, isa, 1, 1, 1);
Index: sys/dev/dpt/dpt_pci.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/dpt/dpt_pci.c,v
retrieving revision 1.34
diff -u -r1.34 dpt_pci.c
--- sys/dev/dpt/dpt_pci.c	29 May 2005 04:42:19 -0000	1.34
+++ sys/dev/dpt/dpt_pci.c	9 Dec 2006 21:18:23 -0000
@@ -195,3 +195,5 @@
 };
 
 DRIVER_MODULE(dpt, pci, dpt_pci_driver, dpt_devclass, 0, 0);
+MODULE_DEPEND(dpt, cam, 1, 1, 1);
+MODULE_DEPEND(dpt, pci, 1, 1, 1);
Index: sys/dev/hptmv/entry.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/hptmv/entry.c,v
retrieving revision 1.8.2.1
diff -u -r1.8.2.1 entry.c
--- sys/dev/hptmv/entry.c	6 Oct 2005 18:47:57 -0000	1.8.2.1
+++ sys/dev/hptmv/entry.c	9 Dec 2006 21:31:00 -0000
@@ -107,7 +107,10 @@
 static devclass_t	hpt_devclass;
 
 #define __DRIVER_MODULE(p1, p2, p3, p4, p5, p6) DRIVER_MODULE(p1, p2, p3, p4, p5, p6)
+#define __MODULE_DEPEND(p1, p2, p3, p4, p5) MODULE_DEPEND(p1, p2, p3, p4, p5)
 __DRIVER_MODULE(PROC_DIR_NAME, pci, hpt_pci_driver, hpt_devclass, 0, 0);
+__MODULE_DEPEND(PROC_DIR_NAME, cam, 1, 1, 1);
+__MODULE_DEPEND(PROC_DIR_NAME, pci, 1, 1, 1);
 
 #define ccb_ccb_ptr spriv_ptr0
 #define ccb_adapter ccb_h.spriv_ptr1
Index: sys/dev/iir/iir_pci.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/iir/iir_pci.c,v
retrieving revision 1.15.2.1
diff -u -r1.15.2.1 iir_pci.c
--- sys/dev/iir/iir_pci.c	12 Mar 2006 16:38:28 -0000	1.15.2.1
+++ sys/dev/iir/iir_pci.c	9 Dec 2006 21:19:13 -0000
@@ -159,6 +159,8 @@
 static devclass_t iir_devclass;
 
 DRIVER_MODULE(iir, pci, iir_pci_driver, iir_devclass, 0, 0);
+MODULE_DEPEND(iir, cam, 1, 1, 1);
+MODULE_DEPEND(iir, pci, 1, 1, 1);
 
 static int
 iir_pci_probe(device_t dev)
Index: sys/dev/mly/mly.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/mly/mly.c,v
retrieving revision 1.38
diff -u -r1.38 mly.c
--- sys/dev/mly/mly.c	29 May 2005 04:42:23 -0000	1.38
+++ sys/dev/mly/mly.c	9 Dec 2006 21:19:42 -0000
@@ -147,6 +147,8 @@
 
 static devclass_t	mly_devclass;
 DRIVER_MODULE(mly, pci, mly_pci_driver, mly_devclass, 0, 0);
+MODULE_DEPEND(mly, cam, 1, 1, 1);
+MODULE_DEPEND(mly, pci, 1, 1, 1);
 
 static struct cdevsw mly_cdevsw = {
 	.d_version =	D_VERSION,
Index: sys/dev/twa/tw_osl_freebsd.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/twa/tw_osl_freebsd.c,v
retrieving revision 1.1.4.1
diff -u -r1.1.4.1 tw_osl_freebsd.c
--- sys/dev/twa/tw_osl_freebsd.c	7 Dec 2005 18:18:05 -0000	1.1.4.1
+++ sys/dev/twa/tw_osl_freebsd.c	9 Dec 2006 21:20:03 -0000
@@ -207,6 +207,8 @@
 };
 
 DRIVER_MODULE(twa, pci, twa_pci_driver, twa_devclass, 0, 0);
+MODULE_DEPEND(twa, cam, 1, 1, 1);
+MODULE_DEPEND(twa, pci, 1, 1, 1);
 
 
 
--- cam6x.diff ends here ---

--- cam62.diff begins here ---
Index: sys/dev/ahb/ahb.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/ahb/ahb.c,v
retrieving revision 1.34.2.1
diff -u -r1.34.2.1 ahb.c
--- sys/dev/ahb/ahb.c	29 Jun 2006 18:12:18 -0000	1.34.2.1
+++ sys/dev/ahb/ahb.c	9 Dec 2006 21:25:03 -0000
@@ -1349,3 +1349,5 @@
 static devclass_t ahb_devclass;
 
 DRIVER_MODULE(ahb, eisa, ahb_eisa_driver, ahb_devclass, 0, 0);
+MODULE_DEPEND(ahb, cam, 1, 1, 1);
+MODULE_DEPEND(ahb, eisa, 1, 1, 1);
Index: sys/dev/amr/amr_pci.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/amr/amr_pci.c,v
retrieving revision 1.29.2.3
diff -u -r1.29.2.3 amr_pci.c
--- sys/dev/amr/amr_pci.c	15 Jun 2006 16:44:27 -0000	1.29.2.3
+++ sys/dev/amr/amr_pci.c	9 Dec 2006 21:25:32 -0000
@@ -119,6 +119,8 @@
 
 static devclass_t	amr_devclass;
 DRIVER_MODULE(amr, pci, amr_pci_driver, amr_devclass, 0, 0);
+MODULE_DEPEND(amr, cam, 1, 1, 1);
+MODULE_DEPEND(amr, pci, 1, 1, 1);
 
 static struct amr_ident
 {
Index: sys/dev/arcmsr/arcmsr.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/arcmsr/arcmsr.c,v
retrieving revision 1.8
diff -u -r1.8 arcmsr.c
--- sys/dev/arcmsr/arcmsr.c	5 Jun 2005 23:05:26 -0000	1.8
+++ sys/dev/arcmsr/arcmsr.c	9 Dec 2006 21:25:53 -0000
@@ -199,6 +199,8 @@
 
 static devclass_t arcmsr_devclass;
 DRIVER_MODULE(arcmsr,pci,arcmsr_driver,arcmsr_devclass,0,0);
+MODULE_DEPEND(arcmsr, cam, 1, 1, 1);
+MODULE_DEPEND(arcmsr, pci, 1, 1, 1);
 
 #if __FreeBSD_version >= 502010
 	static struct cdevsw arcmsr_cdevsw={
Index: sys/dev/asr/asr.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/asr/asr.c,v
retrieving revision 1.68
diff -u -r1.68 asr.c
--- sys/dev/asr/asr.c	29 Apr 2005 04:47:11 -0000	1.68
+++ sys/dev/asr/asr.c	9 Dec 2006 21:26:13 -0000
@@ -415,6 +415,8 @@
 
 static devclass_t asr_devclass;
 DRIVER_MODULE(asr, pci, asr_driver, asr_devclass, 0, 0);
+MODULE_DEPEND(asr, cam, 1, 1, 1);
+MODULE_DEPEND(asr, pci, 1, 1, 1);
 
 /*
  * devsw for asr hba driver
Index: sys/dev/dpt/dpt_eisa.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/dpt/dpt_eisa.c,v
retrieving revision 1.20
diff -u -r1.20 dpt_eisa.c
--- sys/dev/dpt/dpt_eisa.c	29 May 2005 04:42:19 -0000	1.20
+++ sys/dev/dpt/dpt_eisa.c	9 Dec 2006 21:26:43 -0000
@@ -212,3 +212,5 @@
 };
 
 DRIVER_MODULE(dpt, eisa, dpt_eisa_driver, dpt_devclass, 0, 0);
+MODULE_DEPEND(dpt, cam, 1, 1, 1);
+MODULE_DEPEND(dpt, eisa, 1, 1, 1);
Index: sys/dev/dpt/dpt_isa.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/dpt/dpt_isa.c,v
retrieving revision 1.9
diff -u -r1.9 dpt_isa.c
--- sys/dev/dpt/dpt_isa.c	29 May 2005 04:42:19 -0000	1.9
+++ sys/dev/dpt/dpt_isa.c	9 Dec 2006 21:26:49 -0000
@@ -268,3 +268,5 @@
 };
 
 DRIVER_MODULE(dpt, isa, dpt_isa_driver, dpt_devclass, 0, 0);
+MODULE_DEPEND(dpt, cam, 1, 1, 1);
+MODULE_DEPEND(dpt, isa, 1, 1, 1);
Index: sys/dev/dpt/dpt_pci.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/dpt/dpt_pci.c,v
retrieving revision 1.34
diff -u -r1.34 dpt_pci.c
--- sys/dev/dpt/dpt_pci.c	29 May 2005 04:42:19 -0000	1.34
+++ sys/dev/dpt/dpt_pci.c	9 Dec 2006 21:26:54 -0000
@@ -195,3 +195,5 @@
 };
 
 DRIVER_MODULE(dpt, pci, dpt_pci_driver, dpt_devclass, 0, 0);
+MODULE_DEPEND(dpt, cam, 1, 1, 1);
+MODULE_DEPEND(dpt, pci, 1, 1, 1);
Index: sys/dev/hptmv/entry.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/hptmv/entry.c,v
retrieving revision 1.8.2.1
diff -u -r1.8.2.1 entry.c
--- sys/dev/hptmv/entry.c	6 Oct 2005 18:47:57 -0000	1.8.2.1
+++ sys/dev/hptmv/entry.c	9 Dec 2006 21:30:02 -0000
@@ -107,7 +107,10 @@
 static devclass_t	hpt_devclass;
 
 #define __DRIVER_MODULE(p1, p2, p3, p4, p5, p6) DRIVER_MODULE(p1, p2, p3, p4, p5, p6)
+#define __MODULE_DEPEND(p1, p2, p3, p4, p5) MODULE_DEPEND(p1, p2, p3, p4, p5)
 __DRIVER_MODULE(PROC_DIR_NAME, pci, hpt_pci_driver, hpt_devclass, 0, 0);
+__MODULE_DEPEND(PROC_DIR_NAME, cam, 1, 1, 1);
+__MODULE_DEPEND(PROC_DIR_NAME, pci, 1, 1, 1);
 
 #define ccb_ccb_ptr spriv_ptr0
 #define ccb_adapter ccb_h.spriv_ptr1
Index: sys/dev/iir/iir_pci.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/iir/iir_pci.c,v
retrieving revision 1.15.2.1
diff -u -r1.15.2.1 iir_pci.c
--- sys/dev/iir/iir_pci.c	12 Mar 2006 16:38:28 -0000	1.15.2.1
+++ sys/dev/iir/iir_pci.c	9 Dec 2006 21:31:35 -0000
@@ -159,6 +159,8 @@
 static devclass_t iir_devclass;
 
 DRIVER_MODULE(iir, pci, iir_pci_driver, iir_devclass, 0, 0);
+MODULE_DEPEND(iir, cam, 1, 1, 1);
+MODULE_DEPEND(iir, pci, 1, 1, 1);
 
 static int
 iir_pci_probe(device_t dev)
Index: sys/dev/mly/mly.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/mly/mly.c,v
retrieving revision 1.38
diff -u -r1.38 mly.c
--- sys/dev/mly/mly.c	29 May 2005 04:42:23 -0000	1.38
+++ sys/dev/mly/mly.c	9 Dec 2006 21:32:08 -0000
@@ -147,6 +147,8 @@
 
 static devclass_t	mly_devclass;
 DRIVER_MODULE(mly, pci, mly_pci_driver, mly_devclass, 0, 0);
+MODULE_DEPEND(mly, cam, 1, 1, 1);
+MODULE_DEPEND(mly, pci, 1, 1, 1);
 
 static struct cdevsw mly_cdevsw = {
 	.d_version =	D_VERSION,
Index: sys/dev/twa/tw_osl_freebsd.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/twa/tw_osl_freebsd.c,v
retrieving revision 1.1.4.1
diff -u -r1.1.4.1 tw_osl_freebsd.c
--- sys/dev/twa/tw_osl_freebsd.c	7 Dec 2005 18:18:05 -0000	1.1.4.1
+++ sys/dev/twa/tw_osl_freebsd.c	9 Dec 2006 21:32:27 -0000
@@ -207,6 +207,8 @@
 };
 
 DRIVER_MODULE(twa, pci, twa_pci_driver, twa_devclass, 0, 0);
+MODULE_DEPEND(twa, cam, 1, 1, 1);
+MODULE_DEPEND(twa, pci, 1, 1, 1);
 
 
 
--- cam62.diff ends here ---
>Fix:
>Release-Note:
>Audit-Trail:

From: mjacob@freebsd.org
To: Norikatsu Shigemura <nork@freebsd.org>
Cc: FreeBSD-gnats-submit@freebsd.org, scsi@freebsd.org,
        freebsd-bugs@freebsd.org
Subject: Re: kern/106543: kldload CAMs doesn't work.
Date: Sat, 9 Dec 2006 15:14:16 -0800 (PST)

 Talk about overkill mail-to. Trimmed.
 
 Look- thanks for doing all of this, but it won't matter until periph 
 drivers are loadable. That is, you can make CAM a loadable module, but 
 none of the periph drivers (da, ses, and so on) are loadable modules, so 
 you can load the sim, which would load cam, but there you'd be.
 
 Put it another way -was this functionality that used to work and now 
 doesn't, or it's something you (and every one else)
 
From: mjacob@freebsd.org
To: Norikatsu Shigemura <nork@freebsd.org>
Cc: freebsd-bugs@freebsd.org, FreeBSD-gnats-submit@freebsd.org,
        scsi@freebsd.org
Subject: Re: kern/106543: kldload CAMs doesn't work.
Date: Sat, 9 Dec 2006 17:08:06 -0800 (PST)

 Okay- my bad- CAM, if built as a module, includes all the periph 
 drivers. Okay- this has more merit toward getting fixed quickly.
 
Responsible-Changed-From-To: freebsd-bugs->mjacob 
Responsible-Changed-By: mjacob 
Responsible-Changed-When: Sun Dec 10 19:31:51 UTC 2006 
Responsible-Changed-Why:  
I'm doing this now and doing a build universe. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=106543 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: kern/106543: commit references a PR
Date: Mon, 11 Dec 2006 18:51:00 +0000 (UTC)

 mjacob      2006-12-11 18:28:31 UTC
 
   FreeBSD src repository
 
   Modified files:
     sys/dev/aac          aac_pci.c 
     sys/dev/advansys     adv_eisa.c adv_isa.c adv_pci.c advansys.c 
                          adw_pci.c adwcam.c 
     sys/dev/aha          aha.c aha_isa.c aha_mca.c 
     sys/dev/ahb          ahb.c 
     sys/dev/amd          amd.c 
     sys/dev/amr          amr_pci.c 
     sys/dev/arcmsr       arcmsr.c 
     sys/dev/asr          asr.c 
     sys/dev/buslogic     bt.c bt_eisa.c bt_isa.c bt_mca.c bt_pci.c 
     sys/dev/dpt          dpt_eisa.c dpt_isa.c dpt_pci.c 
     sys/dev/esp          esp_sbus.c 
     sys/dev/iir          iir_pci.c 
     sys/dev/mly          mly.c 
     sys/dev/ppbus        vpo.c 
     sys/dev/trm          trm.c 
     sys/dev/wds          wd7000.c 
   Log:
   Add MODULE_DEPENDS for cam, pci, mca, eisa and isa where needed.
   
   PR:             106543
   MFC after:      3 days
   
   Revision  Changes    Path
   1.61      +2 -0      src/sys/dev/aac/aac_pci.c
   1.20      +1 -0      src/sys/dev/advansys/adv_eisa.c
   1.30      +1 -0      src/sys/dev/advansys/adv_isa.c
   1.30      +1 -0      src/sys/dev/advansys/adv_pci.c
   1.33      +2 -0      src/sys/dev/advansys/advansys.c
   1.25      +1 -0      src/sys/dev/advansys/adw_pci.c
   1.25      +3 -0      src/sys/dev/advansys/adwcam.c
   1.62      +2 -0      src/sys/dev/aha/aha.c
   1.38      +1 -1      src/sys/dev/aha/aha_isa.c
   1.15      +1 -1      src/sys/dev/aha/aha_mca.c
   1.38      +2 -0      src/sys/dev/ahb/ahb.c
   1.33      +1 -0      src/sys/dev/amd/amd.c
   1.37      +2 -0      src/sys/dev/amr/amr_pci.c
   1.14      +2 -0      src/sys/dev/arcmsr/arcmsr.c
   1.82      +2 -0      src/sys/dev/asr/asr.c
   1.47      +3 -0      src/sys/dev/buslogic/bt.c
   1.22      +1 -0      src/sys/dev/buslogic/bt_eisa.c
   1.26      +1 -0      src/sys/dev/buslogic/bt_isa.c
   1.11      +1 -0      src/sys/dev/buslogic/bt_mca.c
   1.21      +1 -0      src/sys/dev/buslogic/bt_pci.c
   1.21      +2 -0      src/sys/dev/dpt/dpt_eisa.c
   1.10      +2 -0      src/sys/dev/dpt/dpt_isa.c
   1.35      +2 -0      src/sys/dev/dpt/dpt_pci.c
   1.12      +4 -0      src/sys/dev/esp/esp_sbus.c
   1.18      +2 -0      src/sys/dev/iir/iir_pci.c
   1.42      +2 -0      src/sys/dev/mly/mly.c
   1.34      +2 -0      src/sys/dev/ppbus/vpo.c
   1.30      +1 -0      src/sys/dev/trm/trm.c
   1.11      +2 -0      src/sys/dev/wds/wd7000.c
 _______________________________________________
 cvs-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/cvs-all
 To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: kern/106543: commit references a PR
Date: Tue, 12 Dec 2006 00:03:13 +0000 (UTC)

 mjacob      2006-12-11 23:59:42 UTC
 
   FreeBSD src repository
 
   Modified files:
     sys/dev/twa          tw_osl_freebsd.c 
   Log:
   Add MODULE_DEPENDS for cam, pci, mca, eisa and isa where needed.
   
   PR:             106543
   Reviewed by:    Adam Radford
   MFC after:      3 days
   
   Revision  Changes    Path
   1.5       +2 -0      src/sys/dev/twa/tw_osl_freebsd.c
 _______________________________________________
 cvs-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/cvs-all
 To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
 
State-Changed-From-To: open->closed 
State-Changed-By: mjacob 
State-Changed-When: Thu Dec 14 03:12:15 UTC 2006 
State-Changed-Why:  
Checked in. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=106543 

From: mjacob@freebsd.org
To: Norikatsu Shigemura <nork@freebsd.org>
Cc: FreeBSD-gnats-submit@freebsd.org
Subject: Re: kern/106543: kldload CAMs doesn't work.
Date: Wed, 13 Dec 2006 19:14:37 -0800 (PST)

 checked in and MFC's to RELENG_6.
 
>Unformatted:
