[PATCH v2] ARM: tegra: expose chip ID and revision

Arnd Bergmann arnd at arndb.de
Tue Mar 12 08:59:18 EDT 2013


On Tuesday 12 March 2013, Danny Huang wrote:
> 
> +void __init tegra_soc_device_init(void)
> +{
> +       struct soc_device *soc_dev;
> +       struct soc_device_attribute *soc_dev_attr;
> +
> +       soc_dev_attr = kzalloc(sizeof(*soc_dev_attr), GFP_KERNEL);
> +       if (!soc_dev_attr)
> +               return;
> +
> +       soc_dev_attr->soc_id = kasprintf(GFP_KERNEL, "%d", tegra_chip_id);
> +       soc_dev_attr->revision = kasprintf(GFP_KERNEL, "%d", tegra_revision);
> +       soc_dev_attr->family = kasprintf(GFP_KERNEL, "Tegra");
> +
> +       soc_dev = soc_device_register(soc_dev_attr);
> +       if (IS_ERR_OR_NULL(soc_dev))
> +               kfree(soc_dev_attr);
> +
> +       return;

You are dropping the soc_dev on the floor here by just returning.

The idea of the soc node is to have all on-soc components be children
of that node, so you should instead pass it into of_platform_populate
as the parent device.

	Arnd



More information about the linux-arm-kernel mailing list