Hi Bjorn,
On Tue, Jan 31, 2017 at 4:10 PM, Bjorn Helgaas <[email protected]> wrote:
> A match in the rcar_pcie_of_match[] table is required, so check that first,
> before we start setting up things that need to be undone if it fails. No
> functional change intended.
>
> Signed-off-by: Bjorn Helgaas <[email protected]>
> ---
> drivers/pci/host/pcie-rcar.c | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/pci/host/pcie-rcar.c b/drivers/pci/host/pcie-rcar.c
> index 0d9b96c3c49d..c91ff0b91be8 100644
> --- a/drivers/pci/host/pcie-rcar.c
> +++ b/drivers/pci/host/pcie-rcar.c
> @@ -1129,6 +1129,10 @@ static int rcar_pcie_probe(struct platform_device
> *pdev)
> int err;
> int (*hw_init_fn)(struct rcar_pcie *);
>
> + of_id = of_match_device(rcar_pcie_of_match, dev);
> + if (!of_id || !of_id->data)
> + return -EINVAL;
> +
As this driver is DT-only, none of the above can fail, and you could just do
hw_init_fn = of_device_get_match_data(dev);
instead, getting rid of of_id completely.
> pcie = devm_kzalloc(dev, sizeof(*pcie), GFP_KERNEL);
> if (!pcie)
> return -ENOMEM;
> @@ -1149,11 +1153,6 @@ static int rcar_pcie_probe(struct platform_device
> *pdev)
> if (err)
> return err;
>
> - of_id = of_match_device(rcar_pcie_of_match, dev);
> - if (!of_id || !of_id->data)
> - return -EINVAL;
> - hw_init_fn = of_id->data;
> -
> pm_runtime_enable(dev);
> err = pm_runtime_get_sync(dev);
> if (err < 0) {
> @@ -1162,6 +1161,7 @@ static int rcar_pcie_probe(struct platform_device *pdev)
> }
>
> /* Failure to get a link might just be that no cards are inserted */
> + hw_init_fn = of_id->data;
> err = hw_init_fn(pcie);
> if (err) {
> dev_info(dev, "PCIe link down\n");
>
--
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds