On Thu, Jul 14, 2016 at 09:23:27PM -0600, Jason Gunthorpe wrote: > On Thu, Jul 14, 2016 at 06:51:36PM -0700, Andrey Pronin wrote: > > - WARN_ON(chip->groups_cnt != 0); > > Nope. > > > - const struct attribute_group *groups[3]; > > + /* up to 4 attribute groups: > > + * - driver-specific > > + * - common TPM1.2 and TPM2.0 > > + * - TPM1.2/2.0-specific > > + * - ppi > > + */ > > + const struct attribute_group *groups[5]; > > The prior patch needed to have groups[4], every patch much work. > > > + if (priv->phy_ops->attr_group) > > + chip->groups[chip->groups_cnt++] = priv->phy_ops->attr_group; > > I am really not excited about having driver specific sysfs > files. > > What is the justification for this? > > Jason
Justification: give access to vendor-specific properties that are specific to a particular chip and its registers. Andrey