* [PATCH 86/90] staging: comedi: rtd520: remove 'got_regions' from private data
@ 2012-07-19 2:04 H Hartley Sweeten
2012-07-19 12:32 ` Ian Abbott
0 siblings, 1 reply; 2+ messages in thread
From: H Hartley Sweeten @ 2012-07-19 2:04 UTC (permalink / raw)
To: Linux Kernel; +Cc: devel, abbotti, gregkh
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.
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);
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);
}
--
1.7.11
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH 86/90] staging: comedi: rtd520: remove 'got_regions' from private data
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
0 siblings, 0 replies; 2+ messages in thread
From: Ian Abbott @ 2012-07-19 12:32 UTC (permalink / raw)
To: H Hartley Sweeten; +Cc: Linux Kernel, devel, Ian Abbott, gregkh
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 )=-
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2012-07-19 12:33 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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 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.