07 Feb, 2008

1 commit

  • The clean up procedure now uses platform device "release" callback to
    handle memory clean up. For this purpose "release" function callback was
    added to struct tpm_vendor_specific, so hw device driver provider can get
    called when it is safe to remove all allocated resources.

    This is supposed to fix a bug in device removal, where device while in
    receive function (waiting on timeout) was prone to segfault, if the
    tpm_chip struct was unallocated before the timeout expired (in
    tpm_remove_hardware).

    Acked-by: Marcel Selhorst
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Richard MUSIL
     

23 Aug, 2007

1 commit

  • Fix up the maintainers info in the tpm drivers. Kylene will be out for
    some time, so copying the sourceforge list is the best way to get some
    attention.

    Cc: Marcel Selhorst
    Cc: Kylene Jo Hall
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kent Yoder
     

09 May, 2007

1 commit


03 May, 2007

1 commit

  • I noticed that many source files include while they do
    not appear to need it. Here is an attempt to clean it all up.

    In order to find all possibly affected files, I searched for all
    files including but without any other occurence of "pci"
    or "PCI". I removed the include statement from all of these, then I
    compiled an allmodconfig kernel on both i386 and x86_64 and fixed the
    false positives manually.

    My tests covered 66% of the affected files, so there could be false
    positives remaining. Untested files are:

    arch/alpha/kernel/err_common.c
    arch/alpha/kernel/err_ev6.c
    arch/alpha/kernel/err_ev7.c
    arch/ia64/sn/kernel/huberror.c
    arch/ia64/sn/kernel/xpnet.c
    arch/m68knommu/kernel/dma.c
    arch/mips/lib/iomap.c
    arch/powerpc/platforms/pseries/ras.c
    arch/ppc/8260_io/enet.c
    arch/ppc/8260_io/fcc_enet.c
    arch/ppc/8xx_io/enet.c
    arch/ppc/syslib/ppc4xx_sgdma.c
    arch/sh64/mach-cayman/iomap.c
    arch/xtensa/kernel/xtensa_ksyms.c
    arch/xtensa/platform-iss/setup.c
    drivers/i2c/busses/i2c-at91.c
    drivers/i2c/busses/i2c-mpc.c
    drivers/media/video/saa711x.c
    drivers/misc/hdpuftrs/hdpu_cpustate.c
    drivers/misc/hdpuftrs/hdpu_nexus.c
    drivers/net/au1000_eth.c
    drivers/net/fec_8xx/fec_main.c
    drivers/net/fec_8xx/fec_mii.c
    drivers/net/fs_enet/fs_enet-main.c
    drivers/net/fs_enet/mac-fcc.c
    drivers/net/fs_enet/mac-fec.c
    drivers/net/fs_enet/mac-scc.c
    drivers/net/fs_enet/mii-bitbang.c
    drivers/net/fs_enet/mii-fec.c
    drivers/net/ibm_emac/ibm_emac_core.c
    drivers/net/lasi_82596.c
    drivers/parisc/hppb.c
    drivers/sbus/sbus.c
    drivers/video/g364fb.c
    drivers/video/platinumfb.c
    drivers/video/stifb.c
    drivers/video/valkyriefb.c
    include/asm-arm/arch-ixp4xx/dma.h
    sound/oss/au1550_ac97.c

    I would welcome test reports for these files. I am fine with removing
    the untested files from the patch if the general opinion is that these
    changes aren't safe. The tested part would still be nice to have.

    Note that this patch depends on another header fixup patch I submitted
    to LKML yesterday:
    [PATCH] scatterlist.h needs types.h
    http://lkml.org/lkml/2007/3/01/141

    Signed-off-by: Jean Delvare
    Cc: Badari Pulavarty
    Signed-off-by: Greg Kroah-Hartman

    Jean Delvare
     

04 Dec, 2006

1 commit


16 May, 2006

1 commit


23 Apr, 2006

6 commits

  • The timeout and duration values used in the tpm driver are not exposed to
    userspace. This patch converts the storage units to jiffies with
    msecs_to_jiffies. They were always being used in jiffies so this
    simplifies things removing the need for calculation all over the place.
    The change necessitated a type change in the tpm_chip struct to hold
    jiffies.

    Signed-off-by: Kylie Hall
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kylene Jo Hall
     
  • The driver for the next generation of TPM chips version 1.2 including support
    for interrupts. The Trusted Computing Group has written the TPM Interface
    Specification (TIS) which defines a common interface for all manufacturer's
    1.2 TPM's thus the name tpm_tis.

    Signed-off-by: Leendert van Doorn
    Signed-off-by: Kylene Hall
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Leendert van Doorn
     
  • Many of the sysfs files were calling the TPM_GetCapability command with array.
    Since for 1.2 more sysfs files of this type are coming I am generalizing the
    array so there can be one array and the unique parts can be filled in just
    before the command is called.

    This updated version of the patch breaks the multi-value sysfs file into
    separate files pointed out by Greg. It also addresses the code redundancy and
    ugliness in the tpm_show_* functions pointed out on another patch by Dave
    Hansen.

    Signed-off-by: Kylene Hall
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kylene Jo Hall
     
  • With the TPM 1.2 Specification, each command is classified as short, medium or
    long and the chip tells you the maximum amount of time for a response to each
    class of command. This patch provides and array of the classifications and a
    function to determine how long the response should be waited for. Also, it
    uses that information in the command processing to determine how long to poll
    for. The function is exported so the 1.2 driver can use the functionality to
    determine how long to wait for a DataAvailable interrupt if interrupts are
    being used.

    Signed-off-by: Kylene Hall
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kylene Jo Hall
     
  • Changes in the 1.2 TPM Specification make it necessary to update some fields
    of the chip structure in the initialization function after it is registered
    with tpm.c thus tpm_register_hardware was modified to return a pointer to the
    structure. This patch makes that change and the associated changes in
    tpm_atmel and tpm_nsc. The changes to tpm_infineon will be coming in a patch
    from Marcel Selhorst.

    Signed-off-by: Kylene Hall
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kylene Jo Hall
     
  • To assist with chip management and better support the possibility of having
    multiple TPMs in the system of the same kind, the struct tpm_vendor_specific
    member of the tpm_chip was changed from a pointer to an instance. This patch
    changes that declaration and fixes up all accesses to the structure member
    except in tpm_infineon which is coming in a patch from Marcel Selhorst.

    Signed-off-by: Kylene Hall
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kylene Jo Hall
     

26 Mar, 2006

1 commit

  • In file included from drivers/char/tpm/tpm_nsc.c:23:
    drivers/char/tpm/tpm.h: In function `tpm_read_index':
    drivers/char/tpm/tpm.h:92: warning: implicit declaration of function `outb'
    drivers/char/tpm/tpm.h:93: warning: implicit declaration of function `inb'

    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     

09 Jan, 2006

1 commit

  • According to the TCG specifications measurements or hashes of the BIOS code
    and data are extended into TPM PCRS and a log is kept in an ACPI table of
    these extensions for later validation if desired. This patch exports the
    values in the ACPI table through a security-fs seq_file.

    Signed-off-by: Seiji Munetoh
    Signed-off-by: Stefan Berger
    Signed-off-by: Reiner Sailer
    Signed-off-by: Kylene Hall
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kylene Jo Hall
     

14 Nov, 2005

2 commits


09 Nov, 2005

1 commit

  • This patch removes almost all inclusions of linux/version.h. The 3
    #defines are unused in most of the touched files.

    A few drivers use the simple KERNEL_VERSION(a,b,c) macro, which is
    unfortunatly in linux/version.h.

    There are also lots of #ifdef for long obsolete kernels, this was not
    touched. In a few places, the linux/version.h include was move to where
    the LINUX_VERSION_CODE was used.

    quilt vi `find * -type f -name "*.[ch]"|xargs grep -El '(UTS_RELEASE|LINUX_VERSION_CODE|KERNEL_VERSION|linux/version.h)'|grep -Ev '(/(boot|coda|drm)/|~$)'`

    search pattern:
    /UTS_RELEASE\|LINUX_VERSION_CODE\|KERNEL_VERSION\|linux\/\(utsname\|version\).h

    Signed-off-by: Olaf Hering
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Olaf Hering
     

02 Nov, 2005

1 commit


31 Oct, 2005

3 commits

  • This patch is in support of moving away from the lpc bus pci_dev. The power
    management prototypes used by platform drivers is different but the
    functionality remains the same.

    Signed-off-by: Kylene Hall
    Signed-off-by: Linus Torvalds

    Kylene Jo Hall
     
  • Since the tpm does not have it's own pci id we have been consuming the lpc
    bus. This is not correct and causes problems to support non lpc bus chips.
    This patch removes the dependency on pci_dev from tpm.c The subsequent patches
    will stop the supported chips from registering as pci drivers.

    Signed-off-by: Kylene Hall
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kylene Jo Hall
     
  • This patch is in preparation of supporting chips that are not necessarily on
    the lpc bus and thus are not accessed with inb's and outb's. The patch
    replaces the call to get the chip's status in the tpm.c file with a vendor
    specific status function. The patch also defines the function for each of the
    current supported devices.

    Signed-off-by: Kylene Hall
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kylene Jo Hall
     

26 Jun, 2005

1 commit

  • This patch is work to support new National TPMs that problems were reported
    with on Thinkpad T43 and Thinkcentre S51. Thanks to Jens and Gang for
    their debugging work on these issues.

    Signed-off-by: Kylene Hall
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kylene Jo Hall
     

24 Jun, 2005

6 commits

  • Realized the tpm_lpc_init function isn't really necessary. Replaced it
    with vendor specific logic to find out the address the BIOS mapped the TPM
    to. This patch removes the tpm_lpc_init function, enums associated with it
    and calls to it. The patch also implements the replacement functionality.

    Signed-off-by: Kylene Hall
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kylene Hall
     
  • This patch provides the logic to check if an operation has been canceled while
    waiting for the response to arrive.

    Signed-off-by: Kylene Hall
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kylene Hall
     
  • In the current driver all sysfs files end up owned by the base driver module
    rather than the module that actually owns the device this is a problem if the
    module is unloaded and the file is open. This patch fixes all that and lumps
    the files into an attribute_group.

    Signed-off-by: Kylene Hall
    Signed-off-by: Yani Ioannou
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kylene Hall
     
  • Fix the timer to be inited and modified properly. This work depends on the
    fixing of the msleep stuff which in patch 1 of this set.

    Signed-of-by: Kylene Hall

    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kylene Hall
     
  • Convert #defines to named enums where that preference has been indicated by
    other kernel developers.

    Signed-off-by: Kylene Hall
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kylene Hall
     
  • The TPM driver unnecessarily uses timers when it simply needs to maintain a
    maximum delay via time_before(). msleep() is used instead of
    schedule_timeout() to guarantee the task delays as expected. While
    compile-testing, I found a typo in the driver, using tpm_chp instead of
    tpm_chip. Remove the now unused timer callback function and change
    TPM_TIMEOUT's units to milliseconds. Patch is compile-tested.

    Signed-off-by: Nishanth Aravamudan
    Acked-by: Kylene Hall
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nishanth Aravamudan
     

17 Apr, 2005

2 commits

  • Here are fixes for drivers/char.

    Signed-off-by: Pavel Machek
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pavel Machek
     
  • Initial git repository build. I'm not bothering with the full history,
    even though we have it. We can create a separate "historical" git
    archive of that later if we want to, and in the meantime it's about
    3.2GB when imported into git - space that would just make the early
    git days unnecessarily complicated, when we don't have a lot of good
    infrastructure for it.

    Let it rip!

    Linus Torvalds