This is preparation for making the tpm module multi-file. kbuild does
not like having a .c file with the same name as a module. We wish to
keep the tpm module name so that userspace doesn't see this change.
tpm-interface.c is chosen because the next several commits in the series
migrate items into tpm-sysfs.c, tpm-dev.c and tpm-class.c. All that will
be left is tpm command processing and interfacing code.
Signed-off-by: Jason Gunthorpe <[email protected]>
---
drivers/char/tpm/Makefile | 2 ++
drivers/char/tpm/{tpm.c => tpm-interface.c} | 0
2 files changed, 2 insertions(+)
rename drivers/char/tpm/{tpm.c => tpm-interface.c} (100%)
This patch fits into the earlier posted series, see:
https://github.com/jgunthorpe/linux/commits/for-tpm
diff --git a/drivers/char/tpm/Makefile b/drivers/char/tpm/Makefile
index eb41ff9..83b8a9d 100644
--- a/drivers/char/tpm/Makefile
+++ b/drivers/char/tpm/Makefile
@@ -2,6 +2,8 @@
# Makefile for the kernel tpm device drivers.
#
obj-$(CONFIG_TCG_TPM) += tpm.o
+tpm-y := tpm-interface.o
+
ifdef CONFIG_ACPI
obj-$(CONFIG_TCG_TPM) += tpm_bios.o
tpm_bios-objs += tpm_eventlog.o tpm_acpi.o tpm_ppi.o
diff --git a/drivers/char/tpm/tpm.c b/drivers/char/tpm/tpm-interface.c
similarity index 100%
rename from drivers/char/tpm/tpm.c
rename to drivers/char/tpm/tpm-interface.c
--
1.8.1.2
On Sun, 2013-10-06 at 13:38 -0600, Jason Gunthorpe wrote:
> This is preparation for making the tpm module multi-file. kbuild does
> not like having a .c file with the same name as a module. We wish to
> keep the tpm module name so that userspace doesn't see this change.
If that's true, and I don't believe it is,
then Kbuild should be fixed instead.
There are a lot of examples of .c files named
the same as the directory they reside in.
For example:
drivers/net/ethernet/myricom/myri10ge/myri10ge.ko
$ find drivers -type d | while read file ; do if [ -f $file/$(basename $file).c ] ; then echo $file ; fi ; done
On Sun, Oct 06, 2013 at 12:53:22PM -0700, Joe Perches wrote:
> On Sun, 2013-10-06 at 13:38 -0600, Jason Gunthorpe wrote:
> > This is preparation for making the tpm module multi-file. kbuild does
> > not like having a .c file with the same name as a module. We wish to
> > keep the tpm module name so that userspace doesn't see this change.
>
> If that's true, and I don't believe it is,
> then Kbuild should be fixed instead.
>
> There are a lot of examples of .c files named
> the same as the directory they reside in.
That isn't the trouble, it is having a module named tpm, comprised of
tpm.c, tpm-foo.c, and tpm-bar.c
The issue is that assembling the tpm module uses tpm.o as an
intermediate file, and compiling tmp.c uses tpm.o as a intermediate
file - they conflict, things don't work right and make throws a
circular dependency warning.
The Makefile I started with looks like this:
obj-m += tpm.o
tpm-y := tpm.o tpm-foo.o tpm-bar.o
Is there some other solution?
In any event, this patch is part of a series that splits tpm.c up,
renaming it at this point in the series is to make kbuild work, but
at the end of the series it should be renamed anyhow :)
Regards,
Jason