Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1383366 > unrolled thread
| Started by | Andreas Werner <andreas.werner@men.de> |
|---|---|
| First post | 2016-04-20 15:20 +0200 |
| Last post | 2016-04-20 17:10 +0200 |
| Articles | 5 — 2 participants |
Back to article view | Back to linux.kernel
[PATCH 0/2] make use of devm function in the mcb-pci driver Andreas Werner <andreas.werner@men.de> - 2016-04-20 15:20 +0200
[PATCH 2/2] mcb: Delete num_cells variable which is not required Andreas Werner <andreas.werner@men.de> - 2016-04-20 15:20 +0200
Re: [PATCH 2/2] mcb: Delete num_cells variable which is not required Johannes Thumshirn <jthmshirn@suse.de> - 2016-04-20 17:10 +0200
[PATCH 1/2] mcb: Replace ioremap and request_region with the devm version Andreas Werner <andreas.werner@men.de> - 2016-04-20 15:20 +0200
Re: [PATCH 1/2] mcb: Replace ioremap and request_region with the devm version Johannes Thumshirn <jthmshirn@suse.de> - 2016-04-20 17:10 +0200
| From | Andreas Werner <andreas.werner@men.de> |
|---|---|
| Date | 2016-04-20 15:20 +0200 |
| Subject | [PATCH 0/2] make use of devm function in the mcb-pci driver |
| Message-ID | <rq0cV-8rY-5@gated-at.bofh.it> |
The first patch replace the ioremap an request_mem_region function with the corresponding devm function to have a more cleaner code and a better error handling. The sencoder patch just delete a unused variable. Andreas Werner (2): mcb: Replace ioremap and request_region with the devm version mcb: Delete num_cells variable which is not required drivers/mcb/mcb-pci.c | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) -- 2.6.2
[toc] | [next] | [standalone]
| From | Andreas Werner <andreas.werner@men.de> |
|---|---|
| Date | 2016-04-20 15:20 +0200 |
| Subject | [PATCH 2/2] mcb: Delete num_cells variable which is not required |
| Message-ID | <rq0cW-8rY-21@gated-at.bofh.it> |
| In reply to | #1383366 |
The num_cells variable is only used in the dev_dbg print, but we can directly use the ret variable which also includes the same value. Signed-off-by: Andreas Werner <andreas.werner@men.de> --- drivers/mcb/mcb-pci.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/mcb/mcb-pci.c b/drivers/mcb/mcb-pci.c index 99dd9db..b15a034 100644 --- a/drivers/mcb/mcb-pci.c +++ b/drivers/mcb/mcb-pci.c @@ -35,7 +35,6 @@ static int mcb_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id) struct resource *res; struct priv *priv; int ret; - int num_cells; unsigned long flags; priv = devm_kzalloc(&pdev->dev, sizeof(struct priv), GFP_KERNEL); @@ -92,9 +91,8 @@ static int mcb_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id) ret = chameleon_parse_cells(priv->bus, priv->mapbase, priv->base); if (ret < 0) goto out_mcb_bus; - num_cells = ret; - dev_dbg(&pdev->dev, "Found %d cells\n", num_cells); + dev_dbg(&pdev->dev, "Found %d cells\n", ret); mcb_bus_add_devices(priv->bus); -- 2.6.2
[toc] | [prev] | [next] | [standalone]
| From | Johannes Thumshirn <jthmshirn@suse.de> |
|---|---|
| Date | 2016-04-20 17:10 +0200 |
| Subject | Re: [PATCH 2/2] mcb: Delete num_cells variable which is not required |
| Message-ID | <rq1Vo-1o4-25@gated-at.bofh.it> |
| In reply to | #1383371 |
On Wed, Apr 20, 2016 at 03:18:15PM +0200, Andreas Werner wrote: > The num_cells variable is only used in the dev_dbg print, > but we can directly use the ret variable which also includes the same > value. > > Signed-off-by: Andreas Werner <andreas.werner@men.de> > --- > drivers/mcb/mcb-pci.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/drivers/mcb/mcb-pci.c b/drivers/mcb/mcb-pci.c > index 99dd9db..b15a034 100644 > --- a/drivers/mcb/mcb-pci.c > +++ b/drivers/mcb/mcb-pci.c > @@ -35,7 +35,6 @@ static int mcb_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id) > struct resource *res; > struct priv *priv; > int ret; > - int num_cells; > unsigned long flags; > > priv = devm_kzalloc(&pdev->dev, sizeof(struct priv), GFP_KERNEL); > @@ -92,9 +91,8 @@ static int mcb_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id) > ret = chameleon_parse_cells(priv->bus, priv->mapbase, priv->base); > if (ret < 0) > goto out_mcb_bus; > - num_cells = ret; > > - dev_dbg(&pdev->dev, "Found %d cells\n", num_cells); > + dev_dbg(&pdev->dev, "Found %d cells\n", ret); > > mcb_bus_add_devices(priv->bus); > > -- > 2.6.2 > Applied to mcb-for-v4.7, Thanks -- Johannes Thumshirn Storage jthumshirn@suse.de +49 911 74053 689 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: Felix Imendörffer, Jane Smithard, Graham Norton HRB 21284 (AG Nürnberg) Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850
[toc] | [prev] | [next] | [standalone]
| From | Andreas Werner <andreas.werner@men.de> |
|---|---|
| Date | 2016-04-20 15:20 +0200 |
| Subject | [PATCH 1/2] mcb: Replace ioremap and request_region with the devm version |
| Message-ID | <rq0cX-8rY-47@gated-at.bofh.it> |
| In reply to | #1383366 |
Replaced ioremap with devm_ioremap and request_mem_region with
devm_request_mem_region. This makes the code much more cleaner.
Signed-off-by: Andreas Werner <andreas.werner@men.de>
---
drivers/mcb/mcb-pci.c | 19 +++++++------------
1 file changed, 7 insertions(+), 12 deletions(-)
diff --git a/drivers/mcb/mcb-pci.c b/drivers/mcb/mcb-pci.c
index 67d5e7d..99dd9db 100644
--- a/drivers/mcb/mcb-pci.c
+++ b/drivers/mcb/mcb-pci.c
@@ -55,19 +55,20 @@ static int mcb_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
goto out_disable;
}
- res = request_mem_region(priv->mapbase, CHAM_HEADER_SIZE,
- KBUILD_MODNAME);
+ res = devm_request_mem_region(&pdev->dev, priv->mapbase,
+ CHAM_HEADER_SIZE,
+ KBUILD_MODNAME);
if (!res) {
dev_err(&pdev->dev, "Failed to request PCI memory\n");
ret = -EBUSY;
goto out_disable;
}
- priv->base = ioremap(priv->mapbase, CHAM_HEADER_SIZE);
+ priv->base = devm_ioremap(&pdev->dev, priv->mapbase, CHAM_HEADER_SIZE);
if (!priv->base) {
dev_err(&pdev->dev, "Cannot ioremap\n");
ret = -ENOMEM;
- goto out_release;
+ goto out_disable;
}
flags = pci_resource_flags(pdev, 0);
@@ -75,7 +76,7 @@ static int mcb_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
ret = -ENOTSUPP;
dev_err(&pdev->dev,
"IO mapped PCI devices are not supported\n");
- goto out_iounmap;
+ goto out_disable;
}
pci_set_drvdata(pdev, priv);
@@ -83,7 +84,7 @@ static int mcb_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
priv->bus = mcb_alloc_bus(&pdev->dev);
if (IS_ERR(priv->bus)) {
ret = PTR_ERR(priv->bus);
- goto out_iounmap;
+ goto out_disable;
}
priv->bus->get_irq = mcb_pci_get_irq;
@@ -101,10 +102,6 @@ static int mcb_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
out_mcb_bus:
mcb_release_bus(priv->bus);
-out_iounmap:
- iounmap(priv->base);
-out_release:
- pci_release_region(pdev, 0);
out_disable:
pci_disable_device(pdev);
return ret;
@@ -116,8 +113,6 @@ static void mcb_pci_remove(struct pci_dev *pdev)
mcb_release_bus(priv->bus);
- iounmap(priv->base);
- release_region(priv->mapbase, CHAM_HEADER_SIZE);
pci_disable_device(pdev);
}
--
2.6.2
[toc] | [prev] | [next] | [standalone]
| From | Johannes Thumshirn <jthmshirn@suse.de> |
|---|---|
| Date | 2016-04-20 17:10 +0200 |
| Subject | Re: [PATCH 1/2] mcb: Replace ioremap and request_region with the devm version |
| Message-ID | <rq1Vn-1o4-1@gated-at.bofh.it> |
| In reply to | #1383382 |
On Wed, Apr 20, 2016 at 03:17:55PM +0200, Andreas Werner wrote:
> Replaced ioremap with devm_ioremap and request_mem_region with
> devm_request_mem_region. This makes the code much more cleaner.
>
> Signed-off-by: Andreas Werner <andreas.werner@men.de>
> ---
> drivers/mcb/mcb-pci.c | 19 +++++++------------
> 1 file changed, 7 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/mcb/mcb-pci.c b/drivers/mcb/mcb-pci.c
> index 67d5e7d..99dd9db 100644
> --- a/drivers/mcb/mcb-pci.c
> +++ b/drivers/mcb/mcb-pci.c
> @@ -55,19 +55,20 @@ static int mcb_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
> goto out_disable;
> }
>
> - res = request_mem_region(priv->mapbase, CHAM_HEADER_SIZE,
> - KBUILD_MODNAME);
> + res = devm_request_mem_region(&pdev->dev, priv->mapbase,
> + CHAM_HEADER_SIZE,
> + KBUILD_MODNAME);
> if (!res) {
> dev_err(&pdev->dev, "Failed to request PCI memory\n");
> ret = -EBUSY;
> goto out_disable;
> }
>
> - priv->base = ioremap(priv->mapbase, CHAM_HEADER_SIZE);
> + priv->base = devm_ioremap(&pdev->dev, priv->mapbase, CHAM_HEADER_SIZE);
> if (!priv->base) {
> dev_err(&pdev->dev, "Cannot ioremap\n");
> ret = -ENOMEM;
> - goto out_release;
> + goto out_disable;
> }
>
> flags = pci_resource_flags(pdev, 0);
> @@ -75,7 +76,7 @@ static int mcb_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
> ret = -ENOTSUPP;
> dev_err(&pdev->dev,
> "IO mapped PCI devices are not supported\n");
> - goto out_iounmap;
> + goto out_disable;
> }
>
> pci_set_drvdata(pdev, priv);
> @@ -83,7 +84,7 @@ static int mcb_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
> priv->bus = mcb_alloc_bus(&pdev->dev);
> if (IS_ERR(priv->bus)) {
> ret = PTR_ERR(priv->bus);
> - goto out_iounmap;
> + goto out_disable;
> }
>
> priv->bus->get_irq = mcb_pci_get_irq;
> @@ -101,10 +102,6 @@ static int mcb_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
>
> out_mcb_bus:
> mcb_release_bus(priv->bus);
> -out_iounmap:
> - iounmap(priv->base);
> -out_release:
> - pci_release_region(pdev, 0);
> out_disable:
> pci_disable_device(pdev);
> return ret;
> @@ -116,8 +113,6 @@ static void mcb_pci_remove(struct pci_dev *pdev)
>
> mcb_release_bus(priv->bus);
>
> - iounmap(priv->base);
> - release_region(priv->mapbase, CHAM_HEADER_SIZE);
> pci_disable_device(pdev);
> }
>
> --
> 2.6.2
>
Applied to mcb-for-v4.7,
Thanks
--
Johannes Thumshirn Storage
jthumshirn@suse.de +49 911 74053 689
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)
Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web