PCI: remove unnecessary check of device_type == pci
Subsystems (4)
Rob Herring
reviewerPATCH 1/1 PCI: remove unnecessary check of device_type == pci
PCI host drivers have already matched on compatible strings, so checking device_type is redundant. Also, device_type is considered deprecated for FDT though we've still been requiring it for PCI hosts as it is useful for finding PCI buses.
--- drivers/pci/controller/pci-host-common.c | 8 -------- drivers/pci/controller/pcie-cadence-host.c | 7 ------- drivers/pci/controller/pcie-mobiveil.c | 7 ------- drivers/pci/controller/pcie-xilinx-nwl.c | 9 --------- drivers/pci/controller/pcie-xilinx.c | 7 ------- 5 files changed, 38 deletions(-)
drivers/pci/controller/pci-host-common.c +0 -8
@@ -58,9 +58,7 @@ static struct pci_config_window *gen_pci_init(struct device *dev,int pci_host_common_probe (struct platform_device *pdev,struct pci_ecam_ops *ops) { -const char *type;struct device *dev = &pdev->dev; -struct device_node *np = dev->of_node;struct pci_host_bridge *bridge;struct pci_config_window *cfg;struct list_head resources;
@@ -70,12 +68,6 @@ int pci_host_common_probe(struct platform_device *pdev,if (!bridge)return -ENOMEM ; - type =of_get_property (np,"device_type" ,NULL ); -if (!type ||strcmp (type,"pci" )) { -dev_err (dev,"invalid \"device_type\" %s\n" , type); -return -EINVAL ; - } -of_pci_check_probe_only ();/* Parse and map our Configuration Space windows */
drivers/pci/controller/pcie-cadence-host.c +0 -7
@@ -235,7 +235,6 @@ static int cdns_pcie_host_init(struct device *dev,static int cdns_pcie_host_probe (struct platform_device *pdev) { -const char *type;struct device *dev = &pdev->dev;struct device_node *np = dev->of_node;struct pci_host_bridge *bridge;
@@ -268,12 +267,6 @@ static int cdns_pcie_host_probe(struct platform_device *pdev) rc->device_id =0xffff ;of_property_read_u16 (np,"device-id" , &rc->device_id); - type =of_get_property (np,"device_type" ,NULL ); -if (!type ||strcmp (type,"pci" )) { -dev_err (dev,"invalid \"device_type\" %s\n" , type); -return -EINVAL ; - } - res =platform_get_resource_byname (pdev,IORESOURCE_MEM ,"reg" ); pcie->reg_base =devm_ioremap_resource (dev, res);if (IS_ERR (pcie->reg_base)) {
drivers/pci/controller/pcie-mobiveil.c +0 -7
@@ -301,13 +301,6 @@ static int mobiveil_pcie_parse_dt(struct mobiveil_pcie *pcie)struct platform_device *pdev = pcie->pdev;struct device_node *node = dev->of_node;struct resource *res; -const char *type; - - type =of_get_property (node,"device_type" ,NULL ); -if (!type ||strcmp (type,"pci" )) { -dev_err (dev,"invalid \"device_type\" %s\n" , type); -return -EINVAL ; - }/* map config resource */ res = platform_get_resource_byname(pdev, IORESOURCE_MEM,
drivers/pci/controller/pcie-xilinx-nwl.c +0 -9
@@ -777,16 +777,7 @@ static int nwl_pcie_parse_dt(struct nwl_pcie *pcie, struct platform_device *pdev) {struct device *dev = pcie->dev; -struct device_node *node = dev->of_node;struct resource *res; -const char *type; - -/* Check for device type */ - type =of_get_property (node,"device_type" ,NULL ); -if (!type ||strcmp (type,"pci" )) { -dev_err (dev,"invalid \"device_type\" %s\n" , type); -return -EINVAL ; - } res =platform_get_resource_byname (pdev,IORESOURCE_MEM ,"breg" ); pcie->breg_base =devm_ioremap_resource (dev, res);
drivers/pci/controller/pcie-xilinx.c +0 -7
@@ -574,15 +574,8 @@ static int xilinx_pcie_parse_dt(struct xilinx_pcie_port *port)struct device *dev = port->dev;struct device_node *node = dev->of_node;struct resource regs; -const char *type;int err; - type =of_get_property (node,"device_type" ,NULL ); -if (!type ||strcmp (type,"pci" )) { -dev_err (dev,"invalid \"device_type\" %s\n" , type); -return -EINVAL ; - } - err =of_address_to_resource (node,0 , ®s);if (err) {dev_err (dev,"missing \"reg\" property\n" );
Signature · 1 line
2.17.1
Hi,
Quoted 73 lines · Rob Herring
To: Lorenzo Pieralisi <[email protected]>
Cc: linux-kernel at vger.kernel.org; Will Deacon <[email protected]>; Bjorn Helgaas <[email protected]>; Alan Douglas <[email protected]>; Subrahmanya Lingappa <[email protected]>; Michal Simek <[email protected]>; linux- pci at vger.kernel.org; linux-arm-kernel at lists.infradead.org
Subject: [PATCH] PCI: remove unnecessary check ofdevice_type== pciEXTERNAL MAIL
PCI host drivers have already matched on compatible strings, so checking
device_typeis redundant. Also,device_typeis considered deprecated for FDT though we've still been requiring it for PCI hosts as it is useful for finding PCI buses.Cc Will Deacon <[email protected]>Cc Lorenzo Pieralisi <[email protected]>Cc Bjorn Helgaas <[email protected]>Cc Alan Douglas <[email protected]>Cc Subrahmanya Lingappa <[email protected]>Cc Michal Simek <[email protected]>Cc linux-pci at vger.kernel.orgCc linux-arm-kernel at lists.infradead.orgSigned-off-by Rob Herring <[email protected]>--- drivers/pci/controller/pci-host-common.c | 8 -------- drivers/pci/controller/pcie-cadence-host.c | 7 ------- drivers/pci/controller/pcie-mobiveil.c | 7 ------- drivers/pci/controller/pcie-xilinx-nwl.c | 9 --------- drivers/pci/controller/pcie-xilinx.c | 7 ------- 5 files changed, 38 deletions(-)drivers/pci/controller/pci-host-common.c +0
-8@@ -58,9 +58,7 @@ static struct pci_config_window *gen_pci_init(struct device *dev,int pci_host_common_probe (struct platform_device *pdev,struct pci_ecam_ops *ops) { -const char *type;struct device *dev = &pdev->dev; -struct device_node *np = dev->of_node;struct pci_host_bridge *bridge;struct pci_config_window *cfg;struct list_head resources;@@ -70,12 +68,6 @@ int pci_host_common_probe(struct platform_device *pdev,if (!bridge)return -ENOMEM ; - type =of_get_property (np,"device_type" ,NULL ); -if (!type ||strcmp (type,"pci" )) { -dev_err (dev,"invalid \"device_type\" %s\n" , type); -return -EINVAL ; - } -of_pci_check_probe_only ();/* Parse and map our Configuration Space windows */ drivers/pci/controller/pcie-cadence-host.c +0
-1@@ -235,7 +235,6 @@ static int cdns_pcie_host_init(struct device *dev,static int cdns_pcie_host_probe (struct platform_device *pdev) { -const char *type;struct device *dev = &pdev->dev;struct device_node *np = dev->of_node;struct pci_host_bridge *bridge;@@ -268,12 +267,6 @@ static int cdns_pcie_host_probe(struct platform_device *pdev) rc->device_id =0xffff ;of_property_read_u16 (np,"device-id" , &rc->device_id);
drivers/pci/controller/pcie-cadence-host.c static int cdns_pcie_host_probe(struct platform_device *pdev) · line 272
Quoted 10 lines
drivers/pci/controller/pcie-cadence-host.c +0
-6- type =of_get_property (np,"device_type" ,NULL ); -if (!type ||strcmp (type,"pci" )) { -dev_err (dev,"invalid \"device_type\" %s\n" , type); -return -EINVAL ; - } - res =platform_get_resource_byname (pdev,IORESOURCE_MEM ,"reg" ); pcie->reg_base =devm_ioremap_resource (dev, res);if (IS_ERR (pcie->reg_base)) {
With regards to drivers/pci/controller/pcie-cadence-host.c
Hi,
with regards to : drivers/pci/controller/pcie-mobiveil.c
Thanks.
Quoted 137 lines · Rob Herring
PCI host drivers have already matched on compatible strings, so checking
device_typeis redundant. Also,device_typeis considered deprecated for FDT though we've still been requiring it for PCI hosts as it is useful for finding PCI buses.Cc Will Deacon <[email protected]>Cc Lorenzo Pieralisi <[email protected]>Cc Bjorn Helgaas <[email protected]>Cc Alan Douglas <[email protected]>Cc Subrahmanya Lingappa <[email protected]>Cc Michal Simek <[email protected]>Cc linux-pci at vger.kernel.orgCc linux-arm-kernel at lists.infradead.orgSigned-off-by Rob Herring <[email protected]>--- drivers/pci/controller/pci-host-common.c | 8 -------- drivers/pci/controller/pcie-cadence-host.c | 7 ------- drivers/pci/controller/pcie-mobiveil.c | 7 ------- drivers/pci/controller/pcie-xilinx-nwl.c | 9 --------- drivers/pci/controller/pcie-xilinx.c | 7 ------- 5 files changed, 38 deletions(-)drivers/pci/controller/pci-host-common.c +0
-8@@ -58,9 +58,7 @@ static struct pci_config_window *gen_pci_init(struct device *dev,int pci_host_common_probe (struct platform_device *pdev,struct pci_ecam_ops *ops) { -const char *type;struct device *dev = &pdev->dev; -struct device_node *np = dev->of_node;struct pci_host_bridge *bridge;struct pci_config_window *cfg;struct list_head resources;@@ -70,12 +68,6 @@ int pci_host_common_probe(struct platform_device *pdev,if (!bridge)return -ENOMEM ; - type =of_get_property (np,"device_type" ,NULL ); -if (!type ||strcmp (type,"pci" )) { -dev_err (dev,"invalid \"device_type\" %s\n" , type); -return -EINVAL ; - } -of_pci_check_probe_only ();/* Parse and map our Configuration Space windows */ drivers/pci/controller/pcie-cadence-host.c +0
-7@@ -235,7 +235,6 @@ static int cdns_pcie_host_init(struct device *dev,static int cdns_pcie_host_probe (struct platform_device *pdev) { -const char *type;struct device *dev = &pdev->dev;struct device_node *np = dev->of_node;struct pci_host_bridge *bridge;@@ -268,12 +267,6 @@ static int cdns_pcie_host_probe(struct platform_device *pdev) rc->device_id =0xffff ;of_property_read_u16 (np,"device-id" , &rc->device_id); - type =of_get_property (np,"device_type" ,NULL ); -if (!type ||strcmp (type,"pci" )) { -dev_err (dev,"invalid \"device_type\" %s\n" , type); -return -EINVAL ; - } - res =platform_get_resource_byname (pdev,IORESOURCE_MEM ,"reg" ); pcie->reg_base =devm_ioremap_resource (dev, res);if (IS_ERR (pcie->reg_base)) {drivers/pci/controller/pcie-mobiveil.c +0
-7@@ -301,13 +301,6 @@ static int mobiveil_pcie_parse_dt(struct mobiveil_pcie *pcie)struct platform_device *pdev = pcie->pdev;struct device_node *node = dev->of_node;struct resource *res; -const char *type; - - type =of_get_property (node,"device_type" ,NULL ); -if (!type ||strcmp (type,"pci" )) { -dev_err (dev,"invalid \"device_type\" %s\n" , type); -return -EINVAL ; - }/* map config resource */ res = platform_get_resource_byname(pdev, IORESOURCE_MEM,drivers/pci/controller/pcie-xilinx-nwl.c +0
-9@@ -777,16 +777,7 @@ static int nwl_pcie_parse_dt(struct nwl_pcie *pcie, struct platform_device *pdev) {struct device *dev = pcie->dev; -struct device_node *node = dev->of_node;struct resource *res; -const char *type; - -/* Check for device type */ - type =of_get_property (node,"device_type" ,NULL ); -if (!type ||strcmp (type,"pci" )) { -dev_err (dev,"invalid \"device_type\" %s\n" , type); -return -EINVAL ; - } res =platform_get_resource_byname (pdev,IORESOURCE_MEM ,"breg" ); pcie->breg_base =devm_ioremap_resource (dev, res);drivers/pci/controller/pcie-xilinx.c +0
-8@@ -574,15 +574,8 @@ static int xilinx_pcie_parse_dt(struct xilinx_pcie_port *port)struct device *dev = port->dev;struct device_node *node = dev->of_node;struct resource regs; -const char *type;int err; - type =of_get_property (node,"device_type" ,NULL ); -if (!type ||strcmp (type,"pci" )) { -dev_err (dev,"invalid \"device_type\" %s\n" , type); -return -EINVAL ; - } - err =of_address_to_resource (node,0 , ®s);if (err) {dev_err (dev,"missing \"reg\" property\n" ); --2.17.1
Quoted 4 lines · Rob Herring
PCI host drivers have already matched on compatible strings, so checking
device_typeis redundant. Also,device_typeis considered deprecated for FDT though we've still been requiring it for PCI hosts as it is useful for finding PCI buses.
Hi Rob,
I have no problem with the patch per-se, I can't parse though the second paragraph, in particular what you mean by "useful for finding PCI buses".
What about the corresponding dts files ? I suspect we had better leave them alone lest we can trigger regressions with new dts and older kernels.
Thanks,
Lorenzo
Quoted 131 lines
Cc Will Deacon <[email protected]>Cc Lorenzo Pieralisi <[email protected]>Cc Bjorn Helgaas <[email protected]>Cc Alan Douglas <[email protected]>Cc Subrahmanya Lingappa <[email protected]>Cc Michal Simek <[email protected]>Cc linux-pci at vger.kernel.orgCc linux-arm-kernel at lists.infradead.orgSigned-off-by Rob Herring <[email protected]>--- drivers/pci/controller/pci-host-common.c | 8 -------- drivers/pci/controller/pcie-cadence-host.c | 7 ------- drivers/pci/controller/pcie-mobiveil.c | 7 ------- drivers/pci/controller/pcie-xilinx-nwl.c | 9 --------- drivers/pci/controller/pcie-xilinx.c | 7 ------- 5 files changed, 38 deletions(-)drivers/pci/controller/pci-host-common.c +0
-8@@ -58,9 +58,7 @@ static struct pci_config_window *gen_pci_init(struct device *dev,int pci_host_common_probe (struct platform_device *pdev,struct pci_ecam_ops *ops) { -const char *type;struct device *dev = &pdev->dev; -struct device_node *np = dev->of_node;struct pci_host_bridge *bridge;struct pci_config_window *cfg;struct list_head resources;@@ -70,12 +68,6 @@ int pci_host_common_probe(struct platform_device *pdev,if (!bridge)return -ENOMEM ; - type =of_get_property (np,"device_type" ,NULL ); -if (!type ||strcmp (type,"pci" )) { -dev_err (dev,"invalid \"device_type\" %s\n" , type); -return -EINVAL ; - } -of_pci_check_probe_only ();/* Parse and map our Configuration Space windows */ drivers/pci/controller/pcie-cadence-host.c +0
-7@@ -235,7 +235,6 @@ static int cdns_pcie_host_init(struct device *dev,static int cdns_pcie_host_probe (struct platform_device *pdev) { -const char *type;struct device *dev = &pdev->dev;struct device_node *np = dev->of_node;struct pci_host_bridge *bridge;@@ -268,12 +267,6 @@ static int cdns_pcie_host_probe(struct platform_device *pdev) rc->device_id =0xffff ;of_property_read_u16 (np,"device-id" , &rc->device_id); - type =of_get_property (np,"device_type" ,NULL ); -if (!type ||strcmp (type,"pci" )) { -dev_err (dev,"invalid \"device_type\" %s\n" , type); -return -EINVAL ; - } - res =platform_get_resource_byname (pdev,IORESOURCE_MEM ,"reg" ); pcie->reg_base =devm_ioremap_resource (dev, res);if (IS_ERR (pcie->reg_base)) {drivers/pci/controller/pcie-mobiveil.c +0
-7@@ -301,13 +301,6 @@ static int mobiveil_pcie_parse_dt(struct mobiveil_pcie *pcie)struct platform_device *pdev = pcie->pdev;struct device_node *node = dev->of_node;struct resource *res; -const char *type; - - type =of_get_property (node,"device_type" ,NULL ); -if (!type ||strcmp (type,"pci" )) { -dev_err (dev,"invalid \"device_type\" %s\n" , type); -return -EINVAL ; - }/* map config resource */ res = platform_get_resource_byname(pdev, IORESOURCE_MEM,drivers/pci/controller/pcie-xilinx-nwl.c +0
-9@@ -777,16 +777,7 @@ static int nwl_pcie_parse_dt(struct nwl_pcie *pcie, struct platform_device *pdev) {struct device *dev = pcie->dev; -struct device_node *node = dev->of_node;struct resource *res; -const char *type; - -/* Check for device type */ - type =of_get_property (node,"device_type" ,NULL ); -if (!type ||strcmp (type,"pci" )) { -dev_err (dev,"invalid \"device_type\" %s\n" , type); -return -EINVAL ; - } res =platform_get_resource_byname (pdev,IORESOURCE_MEM ,"breg" ); pcie->breg_base =devm_ioremap_resource (dev, res);drivers/pci/controller/pcie-xilinx.c +0
-7@@ -574,15 +574,8 @@ static int xilinx_pcie_parse_dt(struct xilinx_pcie_port *port)struct device *dev = port->dev;struct device_node *node = dev->of_node;struct resource regs; -const char *type;int err; - type =of_get_property (node,"device_type" ,NULL ); -if (!type ||strcmp (type,"pci" )) { -dev_err (dev,"invalid \"device_type\" %s\n" , type); -return -EINVAL ; - } - err =of_address_to_resource (node,0 , ®s);if (err) {dev_err (dev,"missing \"reg\" property\n" );Signature · 1 line
2.17.1
Rob Herring
reviewerQuoted 7 lines · Lorenzo Pieralisi
Quoted 4 lines · Rob Herring
PCI host drivers have already matched on compatible strings, so checking
device_typeis redundant. Also,device_typeis considered deprecated for FDT though we've still been requiring it for PCI hosts as it is useful for finding PCI buses.
Quoted 5 lines
Hi Rob,
I have no problem with the patch per-se, I can't parse though the second paragraph, in particular what you mean by "useful for finding PCI buses".
Device_type is the only generic way we can identify PCI buses which is useful for dtc for example to do PCI binding checks. Maybe we can use the node name which is what I'm doing for cpu nodes, but we've been less consistent about that for PCI.
Quoted 4 lines
What about the corresponding dts files ? I suspect we had better leave them alone lest we can trigger regressions with new dts and older kernels.
Yes. it will take some time before we can remove from dts files. Or maybe only new ones change.
Rob
Quoted 21 lines · Rob Herring
Quoted 7 lines · Lorenzo Pieralisi
Quoted 4 lines · Rob Herring
PCI host drivers have already matched on compatible strings, so checking
device_typeis redundant. Also,device_typeis considered deprecated for FDT though we've still been requiring it for PCI hosts as it is useful for finding PCI buses.Quoted 5 lines
Hi Rob,
I have no problem with the patch per-se, I can't parse though the second paragraph, in particular what you mean by "useful for finding PCI buses".
Device_typeis the only generic way we can identify PCI buses which is useful for dtc for example to do PCI binding checks. Maybe we can use the node name which is what I'm doing for cpu nodes, but we've been less consistent about that for PCI.Quoted 1 line
Quoted 6 lines
Quoted 3 lines
What about the corresponding dts files ? I suspect we had better leave them alone lest we can trigger regressions with new dts and older kernels.
Yes. it will take some time before we can remove from dts files. Or maybe only new ones change.
OK, thanks. What about PCI host controllers bindings ? I assume we leave the bindings (that enforce device_type) unchanged too.
If Will and Michal have no objections I will queue this patch as-is for v4.20.
Thanks,
Lorenzo
Quoted 26 lines · Lorenzo Pieralisi
Quoted 25 lines · Rob Herring
Quoted 7 lines · Lorenzo Pieralisi
Quoted 4 lines · Rob Herring
PCI host drivers have already matched on compatible strings, so checking
device_typeis redundant. Also,device_typeis considered deprecated for FDT though we've still been requiring it for PCI hosts as it is useful for finding PCI buses.Quoted 5 lines
Hi Rob,
I have no problem with the patch per-se, I can't parse though the second paragraph, in particular what you mean by "useful for finding PCI buses".
Device_typeis the only generic way we can identify PCI buses which is useful for dtc for example to do PCI binding checks. Maybe we can use the node name which is what I'm doing for cpu nodes, but we've been less consistent about that for PCI.Quoted 4 lines
What about the corresponding dts files ? I suspect we had better leave them alone lest we can trigger regressions with new dts and older kernels.
Quoted 8 lines
Quoted 2 lines
Yes. it will take some time before we can remove from dts files. Or maybe only new ones change.
OK, thanks. What about PCI host controllers bindings ? I assume we leave the bindings (that enforce
device_type) unchanged too.If Will and Michal have no objections I will queue this patch as-is for v4.20.
Fine by me!
Will
Quoted 14 lines · Rob Herring
PCI host drivers have already matched on compatible strings, so checking
device_typeis redundant. Also,device_typeis considered deprecated for FDT though we've still been requiring it for PCI hosts as it is useful for finding PCI buses.Cc Will Deacon <[email protected]>Cc Lorenzo Pieralisi <[email protected]>Cc Bjorn Helgaas <[email protected]>Cc Alan Douglas <[email protected]>Cc Subrahmanya Lingappa <[email protected]>Cc Michal Simek <[email protected]>Cc linux-pci at vger.kernel.orgCc linux-arm-kernel at lists.infradead.orgSigned-off-by Rob Herring <[email protected]>
Quoted 7 lines
--- drivers/pci/controller/pci-host-common.c | 8 -------- drivers/pci/controller/pcie-cadence-host.c | 7 ------- drivers/pci/controller/pcie-mobiveil.c | 7 ------- drivers/pci/controller/pcie-xilinx-nwl.c | 9 --------- drivers/pci/controller/pcie-xilinx.c | 7 ------- 5 files changed, 38 deletions(-)
Hi Michal,
are you OK with these changes ?
Thanks,
Lorenzo
Quoted 114 lines
drivers/pci/controller/pci-host-common.c +0
-8@@ -58,9 +58,7 @@ static struct pci_config_window *gen_pci_init(struct device *dev,int pci_host_common_probe (struct platform_device *pdev,struct pci_ecam_ops *ops) { -const char *type;struct device *dev = &pdev->dev; -struct device_node *np = dev->of_node;struct pci_host_bridge *bridge;struct pci_config_window *cfg;struct list_head resources;@@ -70,12 +68,6 @@ int pci_host_common_probe(struct platform_device *pdev,if (!bridge)return -ENOMEM ; - type =of_get_property (np,"device_type" ,NULL ); -if (!type ||strcmp (type,"pci" )) { -dev_err (dev,"invalid \"device_type\" %s\n" , type); -return -EINVAL ; - } -of_pci_check_probe_only ();/* Parse and map our Configuration Space windows */ drivers/pci/controller/pcie-cadence-host.c +0
-7@@ -235,7 +235,6 @@ static int cdns_pcie_host_init(struct device *dev,static int cdns_pcie_host_probe (struct platform_device *pdev) { -const char *type;struct device *dev = &pdev->dev;struct device_node *np = dev->of_node;struct pci_host_bridge *bridge;@@ -268,12 +267,6 @@ static int cdns_pcie_host_probe(struct platform_device *pdev) rc->device_id =0xffff ;of_property_read_u16 (np,"device-id" , &rc->device_id); - type =of_get_property (np,"device_type" ,NULL ); -if (!type ||strcmp (type,"pci" )) { -dev_err (dev,"invalid \"device_type\" %s\n" , type); -return -EINVAL ; - } - res =platform_get_resource_byname (pdev,IORESOURCE_MEM ,"reg" ); pcie->reg_base =devm_ioremap_resource (dev, res);if (IS_ERR (pcie->reg_base)) {drivers/pci/controller/pcie-mobiveil.c +0
-7@@ -301,13 +301,6 @@ static int mobiveil_pcie_parse_dt(struct mobiveil_pcie *pcie)struct platform_device *pdev = pcie->pdev;struct device_node *node = dev->of_node;struct resource *res; -const char *type; - - type =of_get_property (node,"device_type" ,NULL ); -if (!type ||strcmp (type,"pci" )) { -dev_err (dev,"invalid \"device_type\" %s\n" , type); -return -EINVAL ; - }/* map config resource */ res = platform_get_resource_byname(pdev, IORESOURCE_MEM,drivers/pci/controller/pcie-xilinx-nwl.c +0
-9@@ -777,16 +777,7 @@ static int nwl_pcie_parse_dt(struct nwl_pcie *pcie, struct platform_device *pdev) {struct device *dev = pcie->dev; -struct device_node *node = dev->of_node;struct resource *res; -const char *type; - -/* Check for device type */ - type =of_get_property (node,"device_type" ,NULL ); -if (!type ||strcmp (type,"pci" )) { -dev_err (dev,"invalid \"device_type\" %s\n" , type); -return -EINVAL ; - } res =platform_get_resource_byname (pdev,IORESOURCE_MEM ,"breg" ); pcie->breg_base =devm_ioremap_resource (dev, res);drivers/pci/controller/pcie-xilinx.c +0
-7@@ -574,15 +574,8 @@ static int xilinx_pcie_parse_dt(struct xilinx_pcie_port *port)struct device *dev = port->dev;struct device_node *node = dev->of_node;struct resource regs; -const char *type;int err; - type =of_get_property (node,"device_type" ,NULL ); -if (!type ||strcmp (type,"pci" )) { -dev_err (dev,"invalid \"device_type\" %s\n" , type); -return -EINVAL ; - } - err =of_address_to_resource (node,0 , ®s);if (err) {dev_err (dev,"missing \"reg\" property\n" );Signature · 1 line
2.17.1
Michal Simek
Acked-byHi Lorenzo,
Quoted 23 lines · Lorenzo Pieralisi
Quoted 14 lines · Rob Herring
PCI host drivers have already matched on compatible strings, so checking
device_typeis redundant. Also,device_typeis considered deprecated for FDT though we've still been requiring it for PCI hosts as it is useful for finding PCI buses.Cc Will Deacon <[email protected]>Cc Lorenzo Pieralisi <[email protected]>Cc Bjorn Helgaas <[email protected]>Cc Alan Douglas <[email protected]>Cc Subrahmanya Lingappa <[email protected]>Cc Michal Simek <[email protected]>Cc linux-pci at vger.kernel.orgCc linux-arm-kernel at lists.infradead.orgSigned-off-by Rob Herring <[email protected]>Quoted 7 lines
--- drivers/pci/controller/pci-host-common.c | 8 -------- drivers/pci/controller/pcie-cadence-host.c | 7 ------- drivers/pci/controller/pcie-mobiveil.c | 7 ------- drivers/pci/controller/pcie-xilinx-nwl.c | 9 --------- drivers/pci/controller/pcie-xilinx.c | 7 ------- 5 files changed, 38 deletions(-)
Quoted 3 lines
Hi Michal,
are you OK with these changes ?
This change is fine.
Thanks,
Michal
Lorenzo Pieralisi
AppliedQuoted 14 lines · Rob Herring
PCI host drivers have already matched on compatible strings, so checking
device_typeis redundant. Also,device_typeis considered deprecated for FDT though we've still been requiring it for PCI hosts as it is useful for finding PCI buses.Cc Will Deacon <[email protected]>Cc Lorenzo Pieralisi <[email protected]>Cc Bjorn Helgaas <[email protected]>Cc Alan Douglas <[email protected]>Cc Subrahmanya Lingappa <[email protected]>Cc Michal Simek <[email protected]>Signed-off-by Rob Herring <[email protected]>
Quoted 7 lines
--- drivers/pci/controller/pci-host-common.c | 8 -------- drivers/pci/controller/pcie-cadence-host.c | 7 ------- drivers/pci/controller/pcie-mobiveil.c | 7 ------- drivers/pci/controller/pcie-xilinx-nwl.c | 9 --------- drivers/pci/controller/pcie-xilinx.c | 7 ------- 5 files changed, 38 deletions(-)
Applied to pci/controller-misc for v4.20, thanks.
Lorenzo
Quoted 114 lines
drivers/pci/controller/pci-host-common.c +0
-8@@ -58,9 +58,7 @@ static struct pci_config_window *gen_pci_init(struct device *dev,int pci_host_common_probe (struct platform_device *pdev,struct pci_ecam_ops *ops) { -const char *type;struct device *dev = &pdev->dev; -struct device_node *np = dev->of_node;struct pci_host_bridge *bridge;struct pci_config_window *cfg;struct list_head resources;@@ -70,12 +68,6 @@ int pci_host_common_probe(struct platform_device *pdev,if (!bridge)return -ENOMEM ; - type =of_get_property (np,"device_type" ,NULL ); -if (!type ||strcmp (type,"pci" )) { -dev_err (dev,"invalid \"device_type\" %s\n" , type); -return -EINVAL ; - } -of_pci_check_probe_only ();/* Parse and map our Configuration Space windows */ drivers/pci/controller/pcie-cadence-host.c +0
-7@@ -235,7 +235,6 @@ static int cdns_pcie_host_init(struct device *dev,static int cdns_pcie_host_probe (struct platform_device *pdev) { -const char *type;struct device *dev = &pdev->dev;struct device_node *np = dev->of_node;struct pci_host_bridge *bridge;@@ -268,12 +267,6 @@ static int cdns_pcie_host_probe(struct platform_device *pdev) rc->device_id =0xffff ;of_property_read_u16 (np,"device-id" , &rc->device_id); - type =of_get_property (np,"device_type" ,NULL ); -if (!type ||strcmp (type,"pci" )) { -dev_err (dev,"invalid \"device_type\" %s\n" , type); -return -EINVAL ; - } - res =platform_get_resource_byname (pdev,IORESOURCE_MEM ,"reg" ); pcie->reg_base =devm_ioremap_resource (dev, res);if (IS_ERR (pcie->reg_base)) {drivers/pci/controller/pcie-mobiveil.c +0
-7@@ -301,13 +301,6 @@ static int mobiveil_pcie_parse_dt(struct mobiveil_pcie *pcie)struct platform_device *pdev = pcie->pdev;struct device_node *node = dev->of_node;struct resource *res; -const char *type; - - type =of_get_property (node,"device_type" ,NULL ); -if (!type ||strcmp (type,"pci" )) { -dev_err (dev,"invalid \"device_type\" %s\n" , type); -return -EINVAL ; - }/* map config resource */ res = platform_get_resource_byname(pdev, IORESOURCE_MEM,drivers/pci/controller/pcie-xilinx-nwl.c +0
-9@@ -777,16 +777,7 @@ static int nwl_pcie_parse_dt(struct nwl_pcie *pcie, struct platform_device *pdev) {struct device *dev = pcie->dev; -struct device_node *node = dev->of_node;struct resource *res; -const char *type; - -/* Check for device type */ - type =of_get_property (node,"device_type" ,NULL ); -if (!type ||strcmp (type,"pci" )) { -dev_err (dev,"invalid \"device_type\" %s\n" , type); -return -EINVAL ; - } res =platform_get_resource_byname (pdev,IORESOURCE_MEM ,"breg" ); pcie->breg_base =devm_ioremap_resource (dev, res);drivers/pci/controller/pcie-xilinx.c +0
-7@@ -574,15 +574,8 @@ static int xilinx_pcie_parse_dt(struct xilinx_pcie_port *port)struct device *dev = port->dev;struct device_node *node = dev->of_node;struct resource regs; -const char *type;int err; - type =of_get_property (node,"device_type" ,NULL ); -if (!type ||strcmp (type,"pci" )) { -dev_err (dev,"invalid \"device_type\" %s\n" , type); -return -EINVAL ; - } - err =of_address_to_resource (node,0 , ®s);if (err) {dev_err (dev,"missing \"reg\" property\n" );Signature · 1 line
2.17.1