Commit 2fec1dfc authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Jens Axboe
Browse files

nvme-apple: stop casting function pointer signatures



Casting function pointers breaks control flow enforcement and is
generally a horrible coding style.

Add two wrappers to get rid of these casts.

Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarChaitanya Kulkarni <kch@nvidia.com>
Reviewed-by: default avatarSven Peter <sven@svenpeter.dev>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 2f7a7e5d
Loading
Loading
Loading
Loading
+15 −6
Original line number Diff line number Diff line
@@ -1219,6 +1219,11 @@ static void apple_nvme_async_probe(void *data, async_cookie_t cookie)
	nvme_put_ctrl(&anv->ctrl);
}

static void devm_apple_nvme_put_tag_set(void *data)
{
	blk_mq_free_tag_set(data);
}

static int apple_nvme_alloc_tagsets(struct apple_nvme *anv)
{
	int ret;
@@ -1235,8 +1240,7 @@ static int apple_nvme_alloc_tagsets(struct apple_nvme *anv)
	ret = blk_mq_alloc_tag_set(&anv->admin_tagset);
	if (ret)
		return ret;
	ret = devm_add_action_or_reset(anv->dev,
				       (void (*)(void *))blk_mq_free_tag_set,
	ret = devm_add_action_or_reset(anv->dev, devm_apple_nvme_put_tag_set,
				       &anv->admin_tagset);
	if (ret)
		return ret;
@@ -1260,8 +1264,8 @@ static int apple_nvme_alloc_tagsets(struct apple_nvme *anv)
	ret = blk_mq_alloc_tag_set(&anv->tagset);
	if (ret)
		return ret;
	ret = devm_add_action_or_reset(
		anv->dev, (void (*)(void *))blk_mq_free_tag_set, &anv->tagset);
	ret = devm_add_action_or_reset(anv->dev, devm_apple_nvme_put_tag_set,
					&anv->tagset);
	if (ret)
		return ret;

@@ -1362,6 +1366,11 @@ static int apple_nvme_attach_genpd(struct apple_nvme *anv)
	return 0;
}

static void devm_apple_nvme_mempool_destroy(void *data)
{
	mempool_destroy(data);
}

static int apple_nvme_probe(struct platform_device *pdev)
{
	struct device *dev = &pdev->dev;
@@ -1459,8 +1468,8 @@ static int apple_nvme_probe(struct platform_device *pdev)
		ret = -ENOMEM;
		goto put_dev;
	}
	ret = devm_add_action_or_reset(
		anv->dev, (void (*)(void *))mempool_destroy, anv->iod_mempool);
	ret = devm_add_action_or_reset(anv->dev,
			devm_apple_nvme_mempool_destroy, anv->iod_mempool);
	if (ret)
		goto put_dev;