diff mbox series

[pci-next] pci: remap: keep both device name and resource name for config space

Message ID JvyOzv8K8n5CCdP1xfLOdOWh4AbFrXdMMOEExr6em8@cp4-web-036.plabs.ch
State New
Headers show
Series [pci-next] pci: remap: keep both device name and resource name for config space | expand

Commit Message

Alexander Lobakin Nov. 19, 2020, 7:04 p.m. UTC
Follow the rule taken in commit 35bd8c07db2c
("devres: keep both device name and resource name in pretty name")
and keep both device and resource names while requesting memory
regions for PCI config space to prettify e.g. /proc/iomem output:

Before (DWC Host Controller):

18b00000-18b01fff : dbi
18b10000-18b11fff : config
18b20000-18b21fff : dbi
18b30000-18b31fff : config
19000000-19ffffff : pci@18b00000
  19000000-190fffff : PCI Bus 0000:01
    19000000-1900ffff : 0000:01:00.0
  19100000-191fffff : PCI Bus 0000:01
1a000000-1affffff : pci@18b20000
  1a000000-1a0fffff : PCI Bus 0001:01
    1a000000-1a00ffff : 0001:01:00.0
  1a100000-1a1fffff : PCI Bus 0001:01

After:

18b00000-18b01fff : 18b00000.pci dbi
18b10000-18b11fff : 18b00000.pci config
18b20000-18b21fff : 18b20000.pci dbi
18b30000-18b31fff : 18b20000.pci config
19000000-19ffffff : pci@18b00000
  19000000-190fffff : PCI Bus 0000:01
    19000000-1900ffff : 0000:01:00.0
  19100000-191fffff : PCI Bus 0000:01
1a000000-1affffff : pci@18b20000
  1a000000-1a0fffff : PCI Bus 0001:01
    1a000000-1a00ffff : 0001:01:00.0
  1a100000-1a1fffff : PCI Bus 0001:01

Signed-off-by: Alexander Lobakin <alobakin@pm.me>
---
 drivers/pci/pci.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

Comments

Bjorn Helgaas Nov. 19, 2020, 7:35 p.m. UTC | #1
Please look at the git history and follow the subject line convention.

On Thu, Nov 19, 2020 at 07:04:42PM +0000, Alexander Lobakin wrote:
> Follow the rule taken in commit 35bd8c07db2c
> ("devres: keep both device name and resource name in pretty name")
> and keep both device and resource names while requesting memory
> regions for PCI config space to prettify e.g. /proc/iomem output:
> 
> Before (DWC Host Controller):
> 
> 18b00000-18b01fff : dbi
> 18b10000-18b11fff : config
> 18b20000-18b21fff : dbi
> 18b30000-18b31fff : config
> 19000000-19ffffff : pci@18b00000
>   19000000-190fffff : PCI Bus 0000:01
>     19000000-1900ffff : 0000:01:00.0
>   19100000-191fffff : PCI Bus 0000:01
> 1a000000-1affffff : pci@18b20000
>   1a000000-1a0fffff : PCI Bus 0001:01
>     1a000000-1a00ffff : 0001:01:00.0
>   1a100000-1a1fffff : PCI Bus 0001:01
> 
> After:
> 
> 18b00000-18b01fff : 18b00000.pci dbi
> 18b10000-18b11fff : 18b00000.pci config
> 18b20000-18b21fff : 18b20000.pci dbi
> 18b30000-18b31fff : 18b20000.pci config

Makes sense.  I would remove the rest of this output from the commit
log since it isn't relevant and doesn't change.

> 19000000-19ffffff : pci@18b00000
>   19000000-190fffff : PCI Bus 0000:01
>     19000000-1900ffff : 0000:01:00.0
>   19100000-191fffff : PCI Bus 0000:01
> 1a000000-1affffff : pci@18b20000
>   1a000000-1a0fffff : PCI Bus 0001:01
>     1a000000-1a00ffff : 0001:01:00.0
>   1a100000-1a1fffff : PCI Bus 0001:01
> 
> Signed-off-by: Alexander Lobakin <alobakin@pm.me>
> ---
>  drivers/pci/pci.c | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
> index e578d34095e9..0716691f7d14 100644
> --- a/drivers/pci/pci.c
> +++ b/drivers/pci/pci.c
> @@ -4188,7 +4188,14 @@ void __iomem *devm_pci_remap_cfg_resource(struct device *dev,
>  	}
>  
>  	size = resource_size(res);
> -	name = res->name ?: dev_name(dev);
> +
> +	if (res->name)
> +		name = devm_kasprintf(dev, GFP_KERNEL, "%s %s", dev_name(dev),
> +				      res->name);
> +	else
> +		name = devm_kstrdup(dev, dev_name(dev), GFP_KERNEL);
> +	if (!name)
> +		return IOMEM_ERR_PTR(-ENOMEM);
>  
>  	if (!devm_request_mem_region(dev, res->start, size, name)) {
>  		dev_err(dev, "can't request region for resource %pR\n", res);
> -- 
> 2.29.2
> 
>
diff mbox series

Patch

diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index e578d34095e9..0716691f7d14 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -4188,7 +4188,14 @@  void __iomem *devm_pci_remap_cfg_resource(struct device *dev,
 	}
 
 	size = resource_size(res);
-	name = res->name ?: dev_name(dev);
+
+	if (res->name)
+		name = devm_kasprintf(dev, GFP_KERNEL, "%s %s", dev_name(dev),
+				      res->name);
+	else
+		name = devm_kstrdup(dev, dev_name(dev), GFP_KERNEL);
+	if (!name)
+		return IOMEM_ERR_PTR(-ENOMEM);
 
 	if (!devm_request_mem_region(dev, res->start, size, name)) {
 		dev_err(dev, "can't request region for resource %pR\n", res);