Commit 79a38a8c authored by Jacek Anaszewski's avatar Jacek Anaszewski Committed by Mauro Carvalho Chehab
Browse files

[media] s5p-jpeg: Fix build break when CONFIG_OF is undefined



This patch fixes build break occurring when there is no support
for Device Tree turned on in the kernel configuration. In such
case only the driver variant for S5PC210 SoC will be available.

Signed-off-by: default avatarJacek Anaszewski <j.anaszewski@samsung.com>
Signed-off-by: default avatarKyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: default avatarSylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
parent 2caeeb0c
Loading
Loading
Loading
Loading
+8 −10
Original line number Diff line number Diff line
@@ -1896,7 +1896,7 @@ static irqreturn_t exynos4_jpeg_irq(int irq, void *priv)
	return IRQ_HANDLED;
}

static void *jpeg_get_drv_data(struct platform_device *pdev);
static void *jpeg_get_drv_data(struct device *dev);

/*
 * ============================================================================
@@ -1910,15 +1910,12 @@ static int s5p_jpeg_probe(struct platform_device *pdev)
	struct resource *res;
	int ret;

	if (!pdev->dev.of_node)
		return -ENODEV;

	/* JPEG IP abstraction struct */
	jpeg = devm_kzalloc(&pdev->dev, sizeof(struct s5p_jpeg), GFP_KERNEL);
	if (!jpeg)
		return -ENOMEM;

	jpeg->variant = jpeg_get_drv_data(pdev);
	jpeg->variant = jpeg_get_drv_data(&pdev->dev);

	mutex_init(&jpeg->lock);
	spin_lock_init(&jpeg->slock);
@@ -2147,7 +2144,6 @@ static const struct dev_pm_ops s5p_jpeg_pm_ops = {
	SET_RUNTIME_PM_OPS(s5p_jpeg_runtime_suspend, s5p_jpeg_runtime_resume, NULL)
};

#ifdef CONFIG_OF
static struct s5p_jpeg_variant s5p_jpeg_drvdata = {
	.version	= SJPEG_S5P,
	.jpeg_irq	= s5p_jpeg_irq,
@@ -2178,19 +2174,21 @@ static const struct of_device_id samsung_jpeg_match[] = {

MODULE_DEVICE_TABLE(of, samsung_jpeg_match);

static void *jpeg_get_drv_data(struct platform_device *pdev)
static void *jpeg_get_drv_data(struct device *dev)
{
	struct s5p_jpeg_variant *driver_data = NULL;
	const struct of_device_id *match;

	match = of_match_node(of_match_ptr(samsung_jpeg_match),
					 pdev->dev.of_node);
	if (!IS_ENABLED(CONFIG_OF) || !dev->of_node)
		return &s5p_jpeg_drvdata;

	match = of_match_node(samsung_jpeg_match, dev->of_node);

	if (match)
		driver_data = (struct s5p_jpeg_variant *)match->data;

	return driver_data;
}
#endif

static struct platform_driver s5p_jpeg_driver = {
	.probe = s5p_jpeg_probe,