RE: [PATCH v3] Add "shutdown" to "struct class".

From: Winkler, Tomas
Date: Mon May 15 2017 - 16:49:31 EST




> -----Original Message-----
> From: Jason Gunthorpe [mailto:jgunthorpe@xxxxxxxxxxxxxxxxxxxx]
> Sent: Monday, May 15, 2017 20:46
> To: Josh Zimmerman <joshz@xxxxxxxxxx>
> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>; linux-
> kernel@xxxxxxxxxxxxxxx; Winkler, Tomas <tomas.winkler@xxxxxxxxx>; Jarkko
> Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx>; tpmdd-
> devel@xxxxxxxxxxxxxxxxxxxxx
> Subject: Re: [PATCH v3] Add "shutdown" to "struct class".
>
> On Mon, May 15, 2017 at 10:39:08AM -0700, Josh Zimmerman wrote:
> > (Continuing thread from patch v1)
> > > > On Sat, May 13, 2017 at 12:43:11PM +0000, Winkler, Tomas wrote:
> > > > > > The TPM class has some common shutdown code that must be
> > > > > > executed for all drivers. This adds some needed functionality
> > > > > > for that
> > > > >
> > > > > The issue with this is, that on some platforms the only storage
> > > > > can be eMMC and TPM is using it,. It has to be ensured that the
> > > > > storage device won't go down before TPM2_shutdown is called.
> > > > > And there is no direct device hierarchy to ensure an orderly
> shutdown.
> > > >
> > > > Something will have to use the new device links stuff to define
> > > > that dependency, but that seems unrelated to this patch?
> > >
> > >
> > > Yep, it's not directly related to this specific patch, this is more relevant
> particularly to TPM2_shutdown.
> >
> > Jason, do you want me to do that in my patch on the tpmdd-devel list?
> > If so, mind giving me a documentation pointer or two? I'm not familiar
> > with this area.
>
> No.. Ordering power management events is something someone with
> knowledge of the specific emmc platform is going to have to tackle..
> It isn't really a core problem, platform specific code will have to setup the
> needed device links to order power management properly..

eMMC is just an example, that can be other storage device (ufs, nvme) and some type of abstraction of underlying storage
dependency would be required. I just wanted to put it on the table, not sure it has to be solved in this round.
Tomas




>
> Jason