mmc: meson-mx-sdhc: Avoid cast to incompatible function type
Rather than casting mmc_free_host to an incompatible function type, provide a trivial wrapper with the correct signature for the use-case. Reported by clang-16 with W=1: .../meson-mx-sdhc-mmc.c:791:38: error: cast from 'void (*)(struct mmc_host *)' to 'void (*)(void *)' converts to incompatible function type [-Werror,-Wcast-function-type-strict] ret = devm_add_action_or_reset(dev, (void(*)(void *))mmc_free_host, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./include/linux/device.h:265:38: note: expanded from macro 'devm_add_action_or_reset' __devm_add_action_or_reset(release, action, data, #action) ^~~~~~ The same approach is taken in litex_mmc.c with the function litex_mmc_free_host_wrapper(). There may be scope for consolidation. No functional change intended. Compile tested only. Signed-off-by: Simon Horman <horms@kernel.org> Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org> Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> Link: https://lore.kernel.org/r/20230510-mmc-sdhci-msm-function-cast-v1-1-5ae634b24fbd@kernel.org Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
This commit is contained in:
parent
78ce88e758
commit
6151bc77da
@ -776,6 +776,11 @@ static void meson_mx_sdhc_init_hw(struct mmc_host *mmc)
|
||||
regmap_write(host->regmap, MESON_SDHC_ISTA, MESON_SDHC_ISTA_ALL_IRQS);
|
||||
}
|
||||
|
||||
static void meason_mx_mmc_free_host(void *data)
|
||||
{
|
||||
mmc_free_host(data);
|
||||
}
|
||||
|
||||
static int meson_mx_sdhc_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct device *dev = &pdev->dev;
|
||||
@ -788,8 +793,7 @@ static int meson_mx_sdhc_probe(struct platform_device *pdev)
|
||||
if (!mmc)
|
||||
return -ENOMEM;
|
||||
|
||||
ret = devm_add_action_or_reset(dev, (void(*)(void *))mmc_free_host,
|
||||
mmc);
|
||||
ret = devm_add_action_or_reset(dev, meason_mx_mmc_free_host, mmc);
|
||||
if (ret) {
|
||||
dev_err(dev, "Failed to register mmc_free_host action\n");
|
||||
return ret;
|
||||
|
Loading…
Reference in New Issue
Block a user