All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ian Abbott <abbotti@mev.co.uk>
To: H Hartley Sweeten <hartleys@visionengravers.com>
Cc: Linux Kernel <linux-kernel@vger.kernel.org>,
	"devel@driverdev.osuosl.org" <devel@driverdev.osuosl.org>,
	Ian Abbott <ian.abbott@mev.co.uk>,
	"gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>
Subject: Re: [PATCH 86/90] staging: comedi: rtd520: remove 'got_regions' from private data
Date: Thu, 19 Jul 2012 13:32:51 +0100	[thread overview]
Message-ID: <5007FE73.9050804@mev.co.uk> (raw)
In-Reply-To: <201207181904.37725.hartleys@visionengravers.com>

On 2012-07-19 03:04, H Hartley Sweeten wrote:
> The 'got_regions' variable in the private data is used as a flag
> for the detach to know if the pci device has been enabled.
>
> Typically the dev->iobase variable is used to indicate this in
> all the other comedi drivers. Do the same here for consistancy.

As I mentioned for dt3000, dev->iobase isn't ideal for holding PCI 
memory addresses and is even less ideal to hold a PCI memory address 
that is passed to ioremap().

>
> Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
> Cc: Ian Abbott <abbotti@mev.co.uk>
> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> ---
>   drivers/staging/comedi/drivers/rtd520.c | 9 +++------
>   1 file changed, 3 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/staging/comedi/drivers/rtd520.c b/drivers/staging/comedi/drivers/rtd520.c
> index 02be4dd..aeccae9 100644
> --- a/drivers/staging/comedi/drivers/rtd520.c
> +++ b/drivers/staging/comedi/drivers/rtd520.c
> @@ -312,7 +312,6 @@ struct rtdPrivate {
>
>   	/* PCI device info */
>   	struct pci_dev *pci_dev;
> -	int got_regions;	/* non-zero if PCI regions owned */
>
>   	/* channel list info */
>   	/* chanBipolar tracks whether a channel is bipolar (and needs +2048) */
> @@ -1623,7 +1622,6 @@ static int rtd_attach(struct comedi_device *dev, struct comedi_devconfig *it)
>   	struct rtdPrivate *devpriv;
>   	struct comedi_subdevice *s;
>   	int ret;
> -	resource_size_t physLas0;	/* configuration */
>   	resource_size_t physLas1;	/* data area */
>   	resource_size_t physLcfg;	/* PLX9080 */
>   #ifdef USE_DMA
> @@ -1658,18 +1656,17 @@ static int rtd_attach(struct comedi_device *dev, struct comedi_devconfig *it)
>   		printk(KERN_INFO "Failed to enable PCI device and request regions.\n");
>   		return ret;
>   	}
> -	devpriv->got_regions = 1;
>
>   	/*
>   	 * Initialize base addresses
>   	 */
>   	/* Get the physical address from PCI config */
> -	physLas0 = pci_resource_start(devpriv->pci_dev, LAS0_PCIINDEX);
> +	dev->iobase = pci_resource_start(devpriv->pci_dev, LAS0_PCIINDEX);
>   	physLas1 = pci_resource_start(devpriv->pci_dev, LAS1_PCIINDEX);
>   	physLcfg = pci_resource_start(devpriv->pci_dev, LCFG_PCIINDEX);
>   	/* Now have the kernel map this into memory */
>   	/* ASSUME page aligned */
> -	devpriv->las0 = ioremap_nocache(physLas0, LAS0_PCISIZE);
> +	devpriv->las0 = ioremap_nocache(dev->iobase, LAS0_PCISIZE);

I suggest keeping the physLas0 variable for passing to ioremap_nocache() 
and just putting some dummy non-zero value in dev->iobase.

>   	devpriv->las1 = ioremap_nocache(physLas1, LAS1_PCISIZE);
>   	devpriv->lcfg = ioremap_nocache(physLcfg, LCFG_PCISIZE);
>
> @@ -2000,7 +1997,7 @@ static void rtd_detach(struct comedi_device *dev)
>   		if (devpriv->lcfg)
>   			iounmap(devpriv->lcfg);
>   		if (devpriv->pci_dev) {
> -			if (devpriv->got_regions)
> +			if (dev->iobase)
>   				comedi_pci_disable(devpriv->pci_dev);
>   			pci_dev_put(devpriv->pci_dev);
>   		}
>

-- 
-=( Ian Abbott @ MEV Ltd.    E-mail: <abbotti@mev.co.uk>        )=-
-=( Tel: +44 (0)161 477 1898   FAX: +44 (0)161 718 3587         )=-



      reply	other threads:[~2012-07-19 12:33 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-19  2:04 [PATCH 86/90] staging: comedi: rtd520: remove 'got_regions' from private data H Hartley Sweeten
2012-07-19 12:32 ` Ian Abbott [this message]

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=5007FE73.9050804@mev.co.uk \
    --to=abbotti@mev.co.uk \
    --cc=devel@driverdev.osuosl.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=hartleys@visionengravers.com \
    --cc=ian.abbott@mev.co.uk \
    --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.