Re: [tpmdd-devel] [PATCH v2] tpm: enable PPI for TPM 2.0

From: Jarkko Sakkinen
Date: Wed Apr 22 2015 - 12:39:27 EST


On Wed, Apr 22, 2015 at 08:57:55AM +0300, Jarkko Sakkinen wrote:
> On Tue, Apr 21, 2015 at 01:33:38PM -0600, Jason Gunthorpe wrote:
> > On Tue, Apr 21, 2015 at 09:30:55PM +0300, Jarkko Sakkinen wrote:
> > > Enabled PPI interface to the character device sysfs directory accessible
> > > both for 1.x and 2.0 devices.
> > >
> > > The ppi group is moved from the platform device directory to the
> > > character device directory. In order to retain backwards compatibility
> > > with the 1.x devices, a symlink is created to the platform device
> > > directory.
> > >
> > > Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx>
> >
> > > Reviewed-by: Jason Gunthorpe <jason.gunthorpe@xxxxxxxxxxxxxxxxxxxx>
> >
> > Jumping the gun a bit, there :)
> > But yes, the TPM bits still look OK to me.
> > Ah, don't forget to update Documentation/ABI/testing/sysfs-driver-ppi
>
> Right. Is there a rigid naming convention for these files? I don't see
> any obvious pattern and there's no documentation for file names in here:
>
> https://www.kernel.org/doc/Documentation/ABI/README
>
> The legacy TPM 1.x sysfs attributes are in a file named as sysfs-class-tpm.
>
> Maybe we could:
>
> * Rename existing sysfs-class-tpm as sysfs-class-tpm1
> * Rename sysfs-driver-ppi as sysfs-class-tpm
>
> What do you think? I don't know exactly what to do here. That is the
> reason I haven't updated the documentation yet.
>
> > > diff --git a/fs/kernfs/dir.c b/fs/kernfs/dir.c
> > > index 6acc964..749cea3 100644
> > > +++ b/fs/kernfs/dir.c
> > > @@ -1225,6 +1225,7 @@ int kernfs_remove_by_name_ns(struct kernfs_node *parent, const char *name,
> > > else
> > > return -ENOENT;
> > > }
> > > +EXPORT_SYMBOL_GPL(kernfs_remove_by_name_ns);
> >
> > ??
> > I don't see this being called
>
> My bad, it is clutter in the patch file. I'll remove it.

In fact this is needed because the driver uses kernfs_remove_by_name,
which is an inline function that uses kernfs_remove_by_name_ns
internally.

> > > +/**
> > > + * sysfs_link_group_to_kobj - add a symlink to a kobject pointing to a group
> > > + * @kobj: The kobject containing the group.
> > > + * @target_kobj: The target kobject.
> > > + * @target_name: Name of the target group.
> > > + */
> > > +int sysfs_link_group_to_kobj(struct kobject *kobj, struct kobject *target_kobj,
> > > + const char *target_name)
> >
> > Agree with Guenter, separate patch.
> >
> > I liked the signature I suggested earlier:
> >
> > sysfs_link_group_to_kobj(struct kobject *from_kobj,
> > const char *from_name,
> > struct kobject *target_kobj,
> > const char *target_name)
> >
> > 'link_group' may be too specific a name, I think this would work to
> > establish a link to any file in a sysfs directory? Which is good,
> > we'll need that for future TPM patches that relocate the other sysfs
> > files..
>
> I think it should.
>
> > Jason.
>
> /Jarkko

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