const struct intel_pinctrl_soc_data *intel_pinctrl_get_soc_data(struct platform_device *pdev)
 {
+       const struct intel_pinctrl_soc_data * const *table;
        const struct intel_pinctrl_soc_data *data = NULL;
-       const struct intel_pinctrl_soc_data **table;
-       struct acpi_device *adev;
-       unsigned int i;
 
-       adev = ACPI_COMPANION(&pdev->dev);
-       if (adev) {
-               const void *match = device_get_match_data(&pdev->dev);
+       table = device_get_match_data(&pdev->dev);
+       if (table) {
+               struct acpi_device *adev = ACPI_COMPANION(&pdev->dev);
+               unsigned int i;
 
-               table = (const struct intel_pinctrl_soc_data **)match;
                for (i = 0; table[i]; i++) {
                        if (!strcmp(adev->pnp.unique_id, table[i]->uid)) {
                                data = table[i];
                if (!id)
                        return ERR_PTR(-ENODEV);
 
-               table = (const struct intel_pinctrl_soc_data **)id->driver_data;
+               table = (const struct intel_pinctrl_soc_data * const *)id->driver_data;
                data = table[pdev->id];
        }