[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <5007FE73.9050804@mev.co.uk>
Date: Thu, 19 Jul 2012 13:32:51 +0100
From: Ian Abbott <abbotti@....co.uk>
To: H Hartley Sweeten <hartleys@...ionengravers.com>
CC: Linux Kernel <linux-kernel@...r.kernel.org>,
"devel@...verdev.osuosl.org" <devel@...verdev.osuosl.org>,
Ian Abbott <ian.abbott@....co.uk>,
"gregkh@...uxfoundation.org" <gregkh@...uxfoundation.org>
Subject: Re: [PATCH 86/90] staging: comedi: rtd520: remove 'got_regions' from
private data
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@...ionengravers.com>
> Cc: Ian Abbott <abbotti@....co.uk>
> Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.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@....co.uk> )=-
-=( Tel: +44 (0)161 477 1898 FAX: +44 (0)161 718 3587 )=-
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists