gpio: merrifield: Fix build err without CONFIG_ACPI

When building CONFIG_ACPI is not set
gcc warn this:

drivers/gpio/gpio-merrifield.c: In function mrfld_gpio_get_pinctrl_dev_name:
drivers/gpio/gpio-merrifield.c:388:19: error: dereferencing pointer to incomplete type struct acpi_device
   put_device(&adev->dev);
                   ^~

Reported-by: Hulk Robot <hulkci@huawei.com>
Fixes: d00d2109c3 ("gpio: merrifield: Convert to use acpi_dev_get_first_match_dev()")
Suggested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: YueHaibing <yuehaibing@huawei.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
YueHaibing 2019-04-12 23:19:11 +08:00 committed by Rafael J. Wysocki
parent 257f9053c0
commit fe066621c7
3 changed files with 7 additions and 1 deletions

View File

@ -385,7 +385,7 @@ static const char *mrfld_gpio_get_pinctrl_dev_name(struct mrfld_gpio *priv)
adev = acpi_dev_get_first_match_dev("INTC1002", NULL, -1); adev = acpi_dev_get_first_match_dev("INTC1002", NULL, -1);
if (adev) { if (adev) {
name = devm_kstrdup(priv->dev, acpi_dev_name(adev), GFP_KERNEL); name = devm_kstrdup(priv->dev, acpi_dev_name(adev), GFP_KERNEL);
put_device(&adev->dev); acpi_dev_put(adev);
} else { } else {
name = "pinctrl-merrifield"; name = "pinctrl-merrifield";
} }

View File

@ -687,6 +687,10 @@ static inline bool acpi_device_can_poweroff(struct acpi_device *adev)
adev->power.states[ACPI_STATE_D3_HOT].flags.explicit_set); adev->power.states[ACPI_STATE_D3_HOT].flags.explicit_set);
} }
static inline void acpi_dev_put(struct acpi_device *adev)
{
put_device(&adev->dev);
}
#else /* CONFIG_ACPI */ #else /* CONFIG_ACPI */
static inline int register_acpi_bus_type(void *bus) { return 0; } static inline int register_acpi_bus_type(void *bus) { return 0; }

View File

@ -675,6 +675,8 @@ acpi_dev_get_first_match_dev(const char *hid, const char *uid, s64 hrv)
return NULL; return NULL;
} }
static inline void acpi_dev_put(struct acpi_device *adev) {}
static inline bool is_acpi_node(struct fwnode_handle *fwnode) static inline bool is_acpi_node(struct fwnode_handle *fwnode)
{ {
return false; return false;