All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kylene Jo Hall <kjhall@us.ibm.com>
To: Greg KH <greg@kroah.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [PATCH 10 of 12] Fix Tpm driver -- sysfs owernship changes
Date: Fri, 29 Apr 2005 11:30:12 -0500	[thread overview]
Message-ID: <1114792213.20121.7.camel@localhost.localdomain> (raw)
In-Reply-To: <20050429042806.GB25585@kroah.com>

On Thu, 2005-04-28 at 21:28 -0700, Greg KH wrote:
> On Thu, Apr 28, 2005 at 03:40:16PM -0500, Kylene Hall wrote:
> > On Wed, 27 Apr 2005, Greg KH wrote:
> > > On Wed, Apr 27, 2005 at 05:19:03PM -0500, Kylene Hall wrote:
> > > > -	device_remove_file(&pci_dev->dev, &dev_attr_pubek);
> > > > -	device_remove_file(&pci_dev->dev, &dev_attr_pcrs);
> > > > -	device_remove_file(&pci_dev->dev, &dev_attr_caps);
> > > > +	for (i = 0; i < TPM_NUM_ATTR; i++)
> > > > +		device_remove_file(&pci_dev->dev, &chip->vendor->attr[i]);
> > > 
> > > Use an attribute group, instead of this.  That will allow you to get
> > > rid of the TPM_NUM_ATTR value, and this looney macro:
> > > 
> > > > +#define TPM_DEVICE_ATTRS { \
> > > > +        __ATTR(pubek, S_IRUGO, tpm_show_pubek, NULL), \
> > > > +        __ATTR(pcrs, S_IRUGO, tpm_show_pcrs, NULL), \
> > > > +        __ATTR(caps, S_IRUGO, tpm_show_caps, NULL), \
> > > > +        __ATTR(cancel, S_IWUSR | S_IWGRP, NULL, tpm_store_cancel) }
> > > 
> > > thanks,
> > > 
> > > greg k-h
> > > 
> > > 
> > 
> > Ok, the patch below has the same functionality as the previous patch but 
> > gets rid of the macro and implements an attribute_group.  Is there any way 
> > to avoid the repeated code in every tpm_specific file to setup the 
> > attribute_group and still ensure the files are owned by the tpm_specific 
> > module?  The only thing I can come up with is either not using the 
> > TPM_DEVICE macro at all or creating with TPM_DEVICE macro and then 
> > changing the owner field.
> 
> Why are you trying to split this driver up into such tiny pieces?
> What's wrong with one driver for all devices?

The driver was orginally all one piece and was split at the suggestion
of Ian Campbell on this list.

<snip>

On Fri, 2004-12-10 at 10:56 +0000, Ian Campbell wrote: 
> Hi, 
> 
> On Thu, 2004-12-09 at 09:25 -0600, Kylene Hall wrote:
> > +	/* Determine chip type */
> > +	if (tpm_nsc_init(chip) == 0) {
> > +		chip->recv = tpm_nsc_recv;
> > +		chip->send = tpm_nsc_send;
> > +		chip->cancel = tpm_nsc_cancel;
> > +		chip->req_complete_mask = NSC_STATUS_OBF;
> > +		chip->req_complete_val = NSC_STATUS_OBF;
> > +	} else if (tpm_atml_init(chip) == 0) {
> > +		chip->recv = tpm_atml_recv;
> > +		chip->send = tpm_atml_send;
> > +		chip->cancel = tpm_atml_cancel;
> > +		chip->req_complete_mask =
> > +		    ATML_STATUS_BUSY | ATML_STATUS_DATA_AVAIL;
> > +		chip->req_complete_val = ATML_STATUS_DATA_AVAIL;
> > +	} else {
> > +		rc = -ENODEV;
> > +		goto out_release;
> > +	}
> 
> The atmel part at least also comes as an I2C variant. 
> 
> We could continue to add to the ifelse here but perhaps it might be
> beneficial to split the individual chip specific stuff into separate
> files now and perhaps register them via some sort of
> register_tpm_hardware(struct tpm_chip_ops *) type interface?
> 
> Ian.
> 

<snip>

TPM vendor specific code can better determine whether the chip belongs
to them or not.  Since the pci_probe process takes care of checking the
possible drivers to claim a device it was decided to split the logic up.
Here is a link to the thread:
http://www.ussg.iu.edu/hypermail/linux/kernel/0412.1/0550.html


Kylie


  reply	other threads:[~2005-04-29 16:31 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-04-27 22:19 [PATCH 10 of 12] Fix Tpm driver -- sysfs owernship changes Kylene Hall
2005-04-28  4:19 ` Greg KH
2005-04-28 20:40   ` Kylene Hall
2005-04-29  4:28     ` Greg KH
2005-04-29 16:30       ` Kylene Jo Hall [this message]
2005-04-29 16:38         ` Greg KH
  -- strict thread matches above, loose matches on Subject: below --
2005-05-05 19:11 Kylene Hall

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1114792213.20121.7.camel@localhost.localdomain \
    --to=kjhall@us.ibm.com \
    --cc=greg@kroah.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.