Re: [PATCH V5 2/3] PCI: Create device tree node for selected devices

From: Clément Léger
Date: Mon Jan 02 2023 - 08:54:46 EST


Le Thu, 15 Dec 2022 09:30:45 -0800,
Lizhi Hou <lizhi.hou@xxxxxxx> a écrit :

> +};
> +
> +static int of_pci_prop_device_type(struct pci_dev *pdev,
> + struct of_changeset *ocs,
> + struct device_node *np)
> +{
> + return of_changeset_add_prop_string(ocs, np, "device_type", "pci");
> +}
> +
> +static int of_pci_prop_address_cells(struct pci_dev *pdev,
> + struct of_changeset *ocs,
> + struct device_node *np)
> +{
> + return of_changeset_add_prop_u32(ocs, np, "#address_cells",
> + OF_PCI_ADDRESS_CELLS);
> +}
> +
> +static int of_pci_prop_size_cells(struct pci_dev *pdev,
> + struct of_changeset *ocs,
> + struct device_node *np)
> +{
> + return of_changeset_add_prop_u32(ocs, np, "#size_cells",
> + OF_PCI_SIZE_CELLS);
> +}

Hi Lizhi,

For all these functions, the "pdev" parameter is actually unused.

[snip]

> +
> +static int of_pci_prop_compatible(struct pci_dev *pdev,
> + struct of_changeset *ocs,
> + struct device_node *np)
> +{
> + const char *compat_strs[PROP_COMPAT_NUM] = { 0 };
> + int i, ret;
> +
> + compat_strs[PROP_COMPAT_PCI_VVVV_DDDD] =
> + kasprintf(GFP_KERNEL, "pci%x,%x", pdev->vendor, pdev->device);

Maybe it should be better to use "pci%04x,%04x" to keep the existing
naming.

--
Clément Léger,
Embedded Linux and Kernel engineer at Bootlin
https://bootlin.com