Re: [PATCH 08/13] tpm: Pull everything related to /dev/tpmX into tpm-dev.c

2013-10-02 Thread Jason Gunthorpe
On Wed, Oct 02, 2013 at 01:14:18AM +0200, Peter H?we wrote:

> > I botched the makefile changes for the new .c files.
> > 
> > I believe it should be like this:
> > 
> > obj-$(CONFIG_TCG_TPM) += tpm-core.o
> > tpm-core-y := tpm.o tpm-dev.o tpm-sysfs.o
> > 
> > > I added a suitable patch with the appropriate EXPORT_SYMBOL_GPL
> > > declarations to my testing branch. (also see next message)
> > 
> > EXPORT_SYMBOL_GPL is not correct, these are in-module references, not
> > cross module references, and I've deliberately not exported them to
> > prevent drivers from trying to use them inappropriately.

> Of course you're right - I just wanted to get it compile as fast as
> possible ;)

It looks like my solution changes the tpm module name to tpm-core.o.
This should be noted in the commit log:

 In doing so we also change the core tpm module name from 'tpm' to 'tpm-core',
 this is because kbuild does not like it if a multi-file module has a .c
 file of the same name.

Is that OK? It follows the pattern other systems have in the kernel.

If this is not OK, then I think we have to rename tpm.c to tpm-XX.c to
make the build system work.

I've consolidated all the remarks and changes thus far on my github:
 https://github.com/jgunthorpe/linux/commits/tpm-devel
 ec94ce9d29298ba75cec83a136fd841f8da9d528

(plus 1 more untested patch to remove the tpm-bios module)

Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 08/13] tpm: Pull everything related to /dev/tpmX into tpm-dev.c

2013-10-02 Thread Jason Gunthorpe
On Wed, Oct 02, 2013 at 01:14:18AM +0200, Peter H?we wrote:

  I botched the makefile changes for the new .c files.
  
  I believe it should be like this:
  
  obj-$(CONFIG_TCG_TPM) += tpm-core.o
  tpm-core-y := tpm.o tpm-dev.o tpm-sysfs.o
  
   I added a suitable patch with the appropriate EXPORT_SYMBOL_GPL
   declarations to my testing branch. (also see next message)
  
  EXPORT_SYMBOL_GPL is not correct, these are in-module references, not
  cross module references, and I've deliberately not exported them to
  prevent drivers from trying to use them inappropriately.

 Of course you're right - I just wanted to get it compile as fast as
 possible ;)

It looks like my solution changes the tpm module name to tpm-core.o.
This should be noted in the commit log:

 In doing so we also change the core tpm module name from 'tpm' to 'tpm-core',
 this is because kbuild does not like it if a multi-file module has a .c
 file of the same name.

Is that OK? It follows the pattern other systems have in the kernel.

If this is not OK, then I think we have to rename tpm.c to tpm-XX.c to
make the build system work.

I've consolidated all the remarks and changes thus far on my github:
 https://github.com/jgunthorpe/linux/commits/tpm-devel
 ec94ce9d29298ba75cec83a136fd841f8da9d528

(plus 1 more untested patch to remove the tpm-bios module)

Jason
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 08/13] tpm: Pull everything related to /dev/tpmX into tpm-dev.c

2013-10-01 Thread Jason Gunthorpe
On Wed, Oct 02, 2013 at 01:14:18AM +0200, Peter H?we wrote:

> The makefile patch did fix it.

Great, feel free squash into the broken commit, or I can respin
things.

> (along with a small fix for the tpm_i2c_atmel driver ;)

Hum, I wonder why my compilers didn't whine, x86-64 should have
complained I think...

Anyhow, the %zd is the error here, expected_len should ideally be a
u32 as it comes from be32_to_cpu(hdr->length)

Regards,
Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 08/13] tpm: Pull everything related to /dev/tpmX into tpm-dev.c

2013-10-01 Thread Peter Hüwe
Am Mittwoch, 2. Oktober 2013, 00:57:33 schrieb Jason Gunthorpe:
> > When compiling the tpm drivers as modules I get
> > ERROR: "tpm_sysfs_del_device" [drivers/char/tpm/tpm.ko] undefined!
> > ERROR: "tpm_dev_add_device" [drivers/char/tpm/tpm.ko] undefined!
> > ERROR: "tpm_dev_del_device" [drivers/char/tpm/tpm.ko] undefined!
> > ERROR: "tpm_sysfs_add_device" [drivers/char/tpm/tpm.ko] undefined!
> > ERROR: "tpm_transmit" [drivers/char/tpm/tpm-sysfs.ko] undefined!
> > ERROR: "tpm_pcr_read_dev" [drivers/char/tpm/tpm-sysfs.ko] undefined!
> > ERROR: "tpm_getcap" [drivers/char/tpm/tpm-sysfs.ko] undefined!
> > ERROR: "tpm_transmit" [drivers/char/tpm/tpm-dev.ko] undefined!
> 
> Oh, I am glad you can test modules..
> 
> I botched the makefile changes for the new .c files.
> 
> I believe it should be like this:
> 
> obj-$(CONFIG_TCG_TPM) += tpm-core.o
> tpm-core-y := tpm.o tpm-dev.o tpm-sysfs.o
> 
> > I added a suitable patch with the appropriate EXPORT_SYMBOL_GPL
> > declarations to my testing branch. (also see next message)
> 
> EXPORT_SYMBOL_GPL is not correct, these are in-module references, not
> cross module references, and I've deliberately not exported them to
> prevent drivers from trying to use them inappropriately.
Of course you're right - I just wanted to get it compile as fast as possible 
;)

The makefile patch did fix it.

Staged here 
https://github.com/PeterHuewe/linux-tpmdd/tree/testing-and-review
(along with a small fix for the tpm_i2c_atmel driver ;)


Thanks,
Peter
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 08/13] tpm: Pull everything related to /dev/tpmX into tpm-dev.c

2013-10-01 Thread Jason Gunthorpe
On Wed, Oct 02, 2013 at 12:52:40AM +0200, Peter H?we wrote:
> Am Montag, 23. September 2013, 20:14:38 schrieb Jason Gunthorpe:
> > CLASS-dev.c is a common idiom for Linux subsystems
> > 
> > This pulls all the code related to the miscdev into tpm-dev.c and makes it
> > static. The identical file_operation structs in the drivers are purged and
> > the tpm common code unconditionally creates the miscdev.
> > 
> > Signed-off-by: Jason Gunthorpe 
> >  drivers/char/tpm/Makefile   |   2 +-
> >  drivers/char/tpm/tpm-dev.c  | 199
> 
> When compiling the tpm drivers as modules I get
> ERROR: "tpm_sysfs_del_device" [drivers/char/tpm/tpm.ko] undefined!
> ERROR: "tpm_dev_add_device" [drivers/char/tpm/tpm.ko] undefined!
> ERROR: "tpm_dev_del_device" [drivers/char/tpm/tpm.ko] undefined!
> ERROR: "tpm_sysfs_add_device" [drivers/char/tpm/tpm.ko] undefined!
> ERROR: "tpm_transmit" [drivers/char/tpm/tpm-sysfs.ko] undefined!
> ERROR: "tpm_pcr_read_dev" [drivers/char/tpm/tpm-sysfs.ko] undefined!
> ERROR: "tpm_getcap" [drivers/char/tpm/tpm-sysfs.ko] undefined!
> ERROR: "tpm_transmit" [drivers/char/tpm/tpm-dev.ko] undefined!

Oh, I am glad you can test modules..

I botched the makefile changes for the new .c files.

I believe it should be like this:

obj-$(CONFIG_TCG_TPM) += tpm-core.o
tpm-core-y := tpm.o tpm-dev.o tpm-sysfs.o

> I added a suitable patch with the appropriate EXPORT_SYMBOL_GPL declarations 
> to my testing branch. (also see next message)

EXPORT_SYMBOL_GPL is not correct, these are in-module references, not
cross module references, and I've deliberately not exported them to
prevent drivers from trying to use them inappropriately.

Let me know if you want me to respin things.

Regards,
Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 08/13] tpm: Pull everything related to /dev/tpmX into tpm-dev.c

2013-10-01 Thread Peter Hüwe
Am Montag, 23. September 2013, 20:14:38 schrieb Jason Gunthorpe:
> CLASS-dev.c is a common idiom for Linux subsystems
> 
> This pulls all the code related to the miscdev into tpm-dev.c and makes it
> static. The identical file_operation structs in the drivers are purged and
> the tpm common code unconditionally creates the miscdev.
> 
> Signed-off-by: Jason Gunthorpe 
> ---
>  drivers/char/tpm/Makefile   |   2 +-
>  drivers/char/tpm/tpm-dev.c  | 199

When compiling the tpm drivers as modules I get
ERROR: "tpm_sysfs_del_device" [drivers/char/tpm/tpm.ko] undefined!
ERROR: "tpm_dev_add_device" [drivers/char/tpm/tpm.ko] undefined!
ERROR: "tpm_dev_del_device" [drivers/char/tpm/tpm.ko] undefined!
ERROR: "tpm_sysfs_add_device" [drivers/char/tpm/tpm.ko] undefined!
ERROR: "tpm_transmit" [drivers/char/tpm/tpm-sysfs.ko] undefined!
ERROR: "tpm_pcr_read_dev" [drivers/char/tpm/tpm-sysfs.ko] undefined!
ERROR: "tpm_getcap" [drivers/char/tpm/tpm-sysfs.ko] undefined!
ERROR: "tpm_transmit" [drivers/char/tpm/tpm-dev.ko] undefined!


I added a suitable patch with the appropriate EXPORT_SYMBOL_GPL declarations 
to my testing branch. (also see next message)


Thanks,
Peter
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 08/13] tpm: Pull everything related to /dev/tpmX into tpm-dev.c

2013-10-01 Thread Peter Hüwe
Am Montag, 23. September 2013, 20:14:38 schrieb Jason Gunthorpe:
 CLASS-dev.c is a common idiom for Linux subsystems
 
 This pulls all the code related to the miscdev into tpm-dev.c and makes it
 static. The identical file_operation structs in the drivers are purged and
 the tpm common code unconditionally creates the miscdev.
 
 Signed-off-by: Jason Gunthorpe jguntho...@obsidianresearch.com
 ---
  drivers/char/tpm/Makefile   |   2 +-
  drivers/char/tpm/tpm-dev.c  | 199

When compiling the tpm drivers as modules I get
ERROR: tpm_sysfs_del_device [drivers/char/tpm/tpm.ko] undefined!
ERROR: tpm_dev_add_device [drivers/char/tpm/tpm.ko] undefined!
ERROR: tpm_dev_del_device [drivers/char/tpm/tpm.ko] undefined!
ERROR: tpm_sysfs_add_device [drivers/char/tpm/tpm.ko] undefined!
ERROR: tpm_transmit [drivers/char/tpm/tpm-sysfs.ko] undefined!
ERROR: tpm_pcr_read_dev [drivers/char/tpm/tpm-sysfs.ko] undefined!
ERROR: tpm_getcap [drivers/char/tpm/tpm-sysfs.ko] undefined!
ERROR: tpm_transmit [drivers/char/tpm/tpm-dev.ko] undefined!


I added a suitable patch with the appropriate EXPORT_SYMBOL_GPL declarations 
to my testing branch. (also see next message)


Thanks,
Peter
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 08/13] tpm: Pull everything related to /dev/tpmX into tpm-dev.c

2013-10-01 Thread Jason Gunthorpe
On Wed, Oct 02, 2013 at 12:52:40AM +0200, Peter H?we wrote:
 Am Montag, 23. September 2013, 20:14:38 schrieb Jason Gunthorpe:
  CLASS-dev.c is a common idiom for Linux subsystems
  
  This pulls all the code related to the miscdev into tpm-dev.c and makes it
  static. The identical file_operation structs in the drivers are purged and
  the tpm common code unconditionally creates the miscdev.
  
  Signed-off-by: Jason Gunthorpe jguntho...@obsidianresearch.com
   drivers/char/tpm/Makefile   |   2 +-
   drivers/char/tpm/tpm-dev.c  | 199
 
 When compiling the tpm drivers as modules I get
 ERROR: tpm_sysfs_del_device [drivers/char/tpm/tpm.ko] undefined!
 ERROR: tpm_dev_add_device [drivers/char/tpm/tpm.ko] undefined!
 ERROR: tpm_dev_del_device [drivers/char/tpm/tpm.ko] undefined!
 ERROR: tpm_sysfs_add_device [drivers/char/tpm/tpm.ko] undefined!
 ERROR: tpm_transmit [drivers/char/tpm/tpm-sysfs.ko] undefined!
 ERROR: tpm_pcr_read_dev [drivers/char/tpm/tpm-sysfs.ko] undefined!
 ERROR: tpm_getcap [drivers/char/tpm/tpm-sysfs.ko] undefined!
 ERROR: tpm_transmit [drivers/char/tpm/tpm-dev.ko] undefined!

Oh, I am glad you can test modules..

I botched the makefile changes for the new .c files.

I believe it should be like this:

obj-$(CONFIG_TCG_TPM) += tpm-core.o
tpm-core-y := tpm.o tpm-dev.o tpm-sysfs.o

 I added a suitable patch with the appropriate EXPORT_SYMBOL_GPL declarations 
 to my testing branch. (also see next message)

EXPORT_SYMBOL_GPL is not correct, these are in-module references, not
cross module references, and I've deliberately not exported them to
prevent drivers from trying to use them inappropriately.

Let me know if you want me to respin things.

Regards,
Jason
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 08/13] tpm: Pull everything related to /dev/tpmX into tpm-dev.c

2013-10-01 Thread Peter Hüwe
Am Mittwoch, 2. Oktober 2013, 00:57:33 schrieb Jason Gunthorpe:
  When compiling the tpm drivers as modules I get
  ERROR: tpm_sysfs_del_device [drivers/char/tpm/tpm.ko] undefined!
  ERROR: tpm_dev_add_device [drivers/char/tpm/tpm.ko] undefined!
  ERROR: tpm_dev_del_device [drivers/char/tpm/tpm.ko] undefined!
  ERROR: tpm_sysfs_add_device [drivers/char/tpm/tpm.ko] undefined!
  ERROR: tpm_transmit [drivers/char/tpm/tpm-sysfs.ko] undefined!
  ERROR: tpm_pcr_read_dev [drivers/char/tpm/tpm-sysfs.ko] undefined!
  ERROR: tpm_getcap [drivers/char/tpm/tpm-sysfs.ko] undefined!
  ERROR: tpm_transmit [drivers/char/tpm/tpm-dev.ko] undefined!
 
 Oh, I am glad you can test modules..
 
 I botched the makefile changes for the new .c files.
 
 I believe it should be like this:
 
 obj-$(CONFIG_TCG_TPM) += tpm-core.o
 tpm-core-y := tpm.o tpm-dev.o tpm-sysfs.o
 
  I added a suitable patch with the appropriate EXPORT_SYMBOL_GPL
  declarations to my testing branch. (also see next message)
 
 EXPORT_SYMBOL_GPL is not correct, these are in-module references, not
 cross module references, and I've deliberately not exported them to
 prevent drivers from trying to use them inappropriately.
Of course you're right - I just wanted to get it compile as fast as possible 
;)

The makefile patch did fix it.

Staged here 
https://github.com/PeterHuewe/linux-tpmdd/tree/testing-and-review
(along with a small fix for the tpm_i2c_atmel driver ;)


Thanks,
Peter
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 08/13] tpm: Pull everything related to /dev/tpmX into tpm-dev.c

2013-10-01 Thread Jason Gunthorpe
On Wed, Oct 02, 2013 at 01:14:18AM +0200, Peter H?we wrote:

 The makefile patch did fix it.

Great, feel free squash into the broken commit, or I can respin
things.

 (along with a small fix for the tpm_i2c_atmel driver ;)

Hum, I wonder why my compilers didn't whine, x86-64 should have
complained I think...

Anyhow, the %zd is the error here, expected_len should ideally be a
u32 as it comes from be32_to_cpu(hdr-length)

Regards,
Jason
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/