Module Name: src Committed By: pgoyette Date: Fri Apr 1 15:49:12 UTC 2022
Modified Files: src/distrib/sets/lists/debug: module.mi src/distrib/sets/lists/modules: mi src/sys/dev/i2c: i2c.c i2c_subr.c src/sys/modules: Makefile src/sys/modules/iic: Makefile Added Files: src/sys/modules/i2c_subr: Makefile Log Message: Split i2c_subr.c into a separate module rather than including it in the iic module. There are valid configurations where i2c_subr code can be both built-in and part of a loaded module (eg, piixpm is in the kernel, but the iic module is loaded later). This causes the in-kernel linker to detect a duplicate symbol. To generate a diff of this commit: cvs rdiff -u -r1.16 -r1.17 src/distrib/sets/lists/debug/module.mi cvs rdiff -u -r1.150 -r1.151 src/distrib/sets/lists/modules/mi cvs rdiff -u -r1.85 -r1.86 src/sys/dev/i2c/i2c.c cvs rdiff -u -r1.1 -r1.2 src/sys/dev/i2c/i2c_subr.c cvs rdiff -u -r1.262 -r1.263 src/sys/modules/Makefile cvs rdiff -u -r0 -r1.1 src/sys/modules/i2c_subr/Makefile cvs rdiff -u -r1.6 -r1.7 src/sys/modules/iic/Makefile Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/distrib/sets/lists/debug/module.mi diff -u src/distrib/sets/lists/debug/module.mi:1.16 src/distrib/sets/lists/debug/module.mi:1.17 --- src/distrib/sets/lists/debug/module.mi:1.16 Tue Dec 7 17:39:53 2021 +++ src/distrib/sets/lists/debug/module.mi Fri Apr 1 15:49:11 2022 @@ -1,4 +1,4 @@ -# $NetBSD: module.mi,v 1.16 2021/12/07 17:39:53 brad Exp $ +# $NetBSD: module.mi,v 1.17 2022/04/01 15:49:11 pgoyette Exp $ ./usr/libdata/debug/@MODULEDIR@ modules-base-kernel kmod,debug ./usr/libdata/debug/@MODULEDIR@/accf_dataready modules-base-kernel kmod,debug ./usr/libdata/debug/@MODULEDIR@/accf_dataready/accf_dataready.kmod.debug modules-base-kernel kmod,debug @@ -166,6 +166,8 @@ ./usr/libdata/debug/@MODULEDIR@/i2c_bitbang/i2c_bitbang.kmod.debug modules-base-kernel kmod,debug ./usr/libdata/debug/@MODULEDIR@/i2cexec modules-base-kernel kmod,debug ./usr/libdata/debug/@MODULEDIR@/i2cexec/i2cexec.kmod.debug modules-base-kernel kmod,debug +./usr/libdata/debug/@MODULEDIR@/i2c_subr modules-base-kernel kmod,debug +./usr/libdata/debug/@MODULEDIR@/i2c_subr/i2c_subr.kmod.debug modules-base-kernel kmod,debug ./usr/libdata/debug/@MODULEDIR@/if_agr modules-base-kernel kmod,debug ./usr/libdata/debug/@MODULEDIR@/if_agr/if_agr.kmod.debug modules-base-kernel kmod,debug ./usr/libdata/debug/@MODULEDIR@/if_aue modules-base-kernel kmod,debug Index: src/distrib/sets/lists/modules/mi diff -u src/distrib/sets/lists/modules/mi:1.150 src/distrib/sets/lists/modules/mi:1.151 --- src/distrib/sets/lists/modules/mi:1.150 Tue Dec 7 17:39:53 2021 +++ src/distrib/sets/lists/modules/mi Fri Apr 1 15:49:11 2022 @@ -1,4 +1,4 @@ -# $NetBSD: mi,v 1.150 2021/12/07 17:39:53 brad Exp $ +# $NetBSD: mi,v 1.151 2022/04/01 15:49:11 pgoyette Exp $ # # Note: don't delete entries from here - mark them as "obsolete" instead. # @@ -189,6 +189,8 @@ ./@MODULEDIR@/i2c_bitbang/i2c_bitbang.kmod modules-base-kernel kmod ./@MODULEDIR@/i2cexec modules-base-kernel kmod ./@MODULEDIR@/i2cexec/i2cexec.kmod modules-base-kernel kmod +./@MODULEDIR@/i2c_subr modules-base-kernel kmod +./@MODULEDIR@/i2c_subr/i2c_subr.kmod modules-base-kernel kmod ./@MODULEDIR@/if_agr modules-base-kernel kmod ./@MODULEDIR@/if_agr/if_agr.kmod modules-base-kernel kmod ./@MODULEDIR@/if_aue modules-base-kernel kmod Index: src/sys/dev/i2c/i2c.c diff -u src/sys/dev/i2c/i2c.c:1.85 src/sys/dev/i2c/i2c.c:1.86 --- src/sys/dev/i2c/i2c.c:1.85 Mon Mar 28 12:33:21 2022 +++ src/sys/dev/i2c/i2c.c Fri Apr 1 15:49:12 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: i2c.c,v 1.85 2022/03/28 12:33:21 riastradh Exp $ */ +/* $NetBSD: i2c.c,v 1.86 2022/04/01 15:49:12 pgoyette Exp $ */ /* * Copyright (c) 2003 Wasabi Systems, Inc. @@ -53,7 +53,7 @@ #endif /* _KERNEL_OPT */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: i2c.c,v 1.85 2022/03/28 12:33:21 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: i2c.c,v 1.86 2022/04/01 15:49:12 pgoyette Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -900,7 +900,7 @@ CFATTACH_DECL3_NEW(iic, sizeof(struct ii iic_match, iic_attach, iic_detach, NULL, iic_rescan, iic_child_detach, DVF_DETACH_SHUTDOWN); -MODULE(MODULE_CLASS_DRIVER, iic, "i2cexec,i2c_bitbang"); +MODULE(MODULE_CLASS_DRIVER, iic, "i2cexec,i2c_bitbang,i2c_subr"); #ifdef _MODULE #include "ioconf.c" Index: src/sys/dev/i2c/i2c_subr.c diff -u src/sys/dev/i2c/i2c_subr.c:1.1 src/sys/dev/i2c/i2c_subr.c:1.2 --- src/sys/dev/i2c/i2c_subr.c:1.1 Mon Oct 3 22:27:23 2011 +++ src/sys/dev/i2c/i2c_subr.c Fri Apr 1 15:49:12 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: i2c_subr.c,v 1.1 2011/10/03 22:27:23 jmcneill Exp $ */ +/* $NetBSD: i2c_subr.c,v 1.2 2022/04/01 15:49:12 pgoyette Exp $ */ /* * Copyright (c) 2003 Wasabi Systems, Inc. @@ -36,13 +36,29 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: i2c_subr.c,v 1.1 2011/10/03 22:27:23 jmcneill Exp $"); +__KERNEL_RCSID(0, "$NetBSD: i2c_subr.c,v 1.2 2022/04/01 15:49:12 pgoyette Exp $"); #include <sys/param.h> #include <sys/device.h> +#include <sys/module.h> #include <dev/i2c/i2cvar.h> +MODULE(MODULE_CLASS_EXEC, i2c_subr, NULL); + +static int +i2c_subr_modcmd(modcmd_t cmd, void *opaque) +{ + + switch (cmd) { + case MODULE_CMD_INIT: + case MODULE_CMD_FINI: + return 0; + default: + return ENOTTY; + } +} + int iicbus_print(void *aux, const char *pnp) { Index: src/sys/modules/Makefile diff -u src/sys/modules/Makefile:1.262 src/sys/modules/Makefile:1.263 --- src/sys/modules/Makefile:1.262 Tue Dec 7 17:39:54 2021 +++ src/sys/modules/Makefile Fri Apr 1 15:49:11 2022 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.262 2021/12/07 17:39:54 brad Exp $ +# $NetBSD: Makefile,v 1.263 2022/04/01 15:49:11 pgoyette Exp $ .include <bsd.own.mk> @@ -70,6 +70,7 @@ SUBDIR+= hythygtemp SUBDIR+= am2315temp SUBDIR+= i2cexec SUBDIR+= i2c_bitbang +SUBDIR+= i2c_subr SUBDIR+= if_agr SUBDIR+= if_aue SUBDIR+= if_axe Index: src/sys/modules/iic/Makefile diff -u src/sys/modules/iic/Makefile:1.6 src/sys/modules/iic/Makefile:1.7 --- src/sys/modules/iic/Makefile:1.6 Sun Feb 17 04:05:53 2019 +++ src/sys/modules/iic/Makefile Fri Apr 1 15:49:11 2022 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.6 2019/02/17 04:05:53 rin Exp $ +# $NetBSD: Makefile,v 1.7 2022/04/01 15:49:11 pgoyette Exp $ .include "../Makefile.inc" @@ -6,7 +6,7 @@ KMOD= iic IOCONF= iic.ioconf -SRCS= i2c.c i2c_subr.c +SRCS= i2c.c WARNS= 3 Added files: Index: src/sys/modules/i2c_subr/Makefile diff -u /dev/null src/sys/modules/i2c_subr/Makefile:1.1 --- /dev/null Fri Apr 1 15:49:12 2022 +++ src/sys/modules/i2c_subr/Makefile Fri Apr 1 15:49:11 2022 @@ -0,0 +1,10 @@ +# $NetBSD: Makefile,v 1.1 2022/04/01 15:49:11 pgoyette Exp $ + +.include "../Makefile.inc" + +.PATH: ${S}/dev/i2c + +KMOD= i2c_subr +SRCS= i2c_subr.c + +.include <bsd.kmodule.mk>