drm: omapdrm: dpi: Remove platform driver
The DPI platform driver was used for non-DT platforms only. On DT platforms the DPI port is handled manually. As OMAP display devices are now instantiated from DT only, remove the DPI platform driver. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
This commit is contained in:
parent
6e471faba3
commit
5115bba18c
|
@ -208,9 +208,6 @@ static int (*dss_output_drv_reg_funcs[])(void) __initdata = {
|
|||
#ifdef CONFIG_OMAP2_DSS_DSI
|
||||
dsi_init_platform_driver,
|
||||
#endif
|
||||
#ifdef CONFIG_OMAP2_DSS_DPI
|
||||
dpi_init_platform_driver,
|
||||
#endif
|
||||
#ifdef CONFIG_OMAP2_DSS_SDI
|
||||
sdi_init_platform_driver,
|
||||
#endif
|
||||
|
@ -244,9 +241,6 @@ static void (*dss_output_drv_unreg_funcs[])(void) = {
|
|||
#ifdef CONFIG_OMAP2_DSS_SDI
|
||||
sdi_uninit_platform_driver,
|
||||
#endif
|
||||
#ifdef CONFIG_OMAP2_DSS_DPI
|
||||
dpi_uninit_platform_driver,
|
||||
#endif
|
||||
#ifdef CONFIG_OMAP2_DSS_DSI
|
||||
dsi_uninit_platform_driver,
|
||||
#endif
|
||||
|
|
|
@ -32,7 +32,6 @@
|
|||
#include <linux/string.h>
|
||||
#include <linux/of.h>
|
||||
#include <linux/clk.h>
|
||||
#include <linux/component.h>
|
||||
|
||||
#include "omapdss.h"
|
||||
#include "dss.h"
|
||||
|
@ -61,12 +60,6 @@ static struct dpi_data *dpi_get_data_from_dssdev(struct omap_dss_device *dssdev)
|
|||
return container_of(dssdev, struct dpi_data, output);
|
||||
}
|
||||
|
||||
/* only used in non-DT mode */
|
||||
static struct dpi_data *dpi_get_data_from_pdev(struct platform_device *pdev)
|
||||
{
|
||||
return dev_get_drvdata(&pdev->dev);
|
||||
}
|
||||
|
||||
static enum dss_clk_source dpi_get_clk_src_dra7xx(enum omap_channel channel)
|
||||
{
|
||||
/*
|
||||
|
@ -736,30 +729,6 @@ static const struct omapdss_dpi_ops dpi_ops = {
|
|||
.set_data_lines = dpi_set_data_lines,
|
||||
};
|
||||
|
||||
static void dpi_init_output(struct platform_device *pdev)
|
||||
{
|
||||
struct dpi_data *dpi = dpi_get_data_from_pdev(pdev);
|
||||
struct omap_dss_device *out = &dpi->output;
|
||||
|
||||
out->dev = &pdev->dev;
|
||||
out->id = OMAP_DSS_OUTPUT_DPI;
|
||||
out->output_type = OMAP_DISPLAY_TYPE_DPI;
|
||||
out->name = "dpi.0";
|
||||
out->dispc_channel = dpi_get_channel(0);
|
||||
out->ops.dpi = &dpi_ops;
|
||||
out->owner = THIS_MODULE;
|
||||
|
||||
omapdss_register_output(out);
|
||||
}
|
||||
|
||||
static void dpi_uninit_output(struct platform_device *pdev)
|
||||
{
|
||||
struct dpi_data *dpi = dpi_get_data_from_pdev(pdev);
|
||||
struct omap_dss_device *out = &dpi->output;
|
||||
|
||||
omapdss_unregister_output(out);
|
||||
}
|
||||
|
||||
static void dpi_init_output_port(struct platform_device *pdev,
|
||||
struct device_node *port)
|
||||
{
|
||||
|
@ -804,68 +773,6 @@ static void dpi_uninit_output_port(struct device_node *port)
|
|||
omapdss_unregister_output(out);
|
||||
}
|
||||
|
||||
static int dpi_bind(struct device *dev, struct device *master, void *data)
|
||||
{
|
||||
struct platform_device *pdev = to_platform_device(dev);
|
||||
struct dpi_data *dpi;
|
||||
|
||||
dpi = devm_kzalloc(&pdev->dev, sizeof(*dpi), GFP_KERNEL);
|
||||
if (!dpi)
|
||||
return -ENOMEM;
|
||||
|
||||
dpi->pdev = pdev;
|
||||
|
||||
dev_set_drvdata(&pdev->dev, dpi);
|
||||
|
||||
mutex_init(&dpi->lock);
|
||||
|
||||
dpi_init_output(pdev);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void dpi_unbind(struct device *dev, struct device *master, void *data)
|
||||
{
|
||||
struct platform_device *pdev = to_platform_device(dev);
|
||||
|
||||
dpi_uninit_output(pdev);
|
||||
}
|
||||
|
||||
static const struct component_ops dpi_component_ops = {
|
||||
.bind = dpi_bind,
|
||||
.unbind = dpi_unbind,
|
||||
};
|
||||
|
||||
static int dpi_probe(struct platform_device *pdev)
|
||||
{
|
||||
return component_add(&pdev->dev, &dpi_component_ops);
|
||||
}
|
||||
|
||||
static int dpi_remove(struct platform_device *pdev)
|
||||
{
|
||||
component_del(&pdev->dev, &dpi_component_ops);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct platform_driver omap_dpi_driver = {
|
||||
.probe = dpi_probe,
|
||||
.remove = dpi_remove,
|
||||
.driver = {
|
||||
.name = "omapdss_dpi",
|
||||
.suppress_bind_attrs = true,
|
||||
},
|
||||
};
|
||||
|
||||
int __init dpi_init_platform_driver(void)
|
||||
{
|
||||
return platform_driver_register(&omap_dpi_driver);
|
||||
}
|
||||
|
||||
void dpi_uninit_platform_driver(void)
|
||||
{
|
||||
platform_driver_unregister(&omap_dpi_driver);
|
||||
}
|
||||
|
||||
int dpi_init_port(struct platform_device *pdev, struct device_node *port)
|
||||
{
|
||||
struct dpi_data *dpi;
|
||||
|
|
|
@ -314,9 +314,6 @@ void dsi_irq_handler(void);
|
|||
#endif
|
||||
|
||||
/* DPI */
|
||||
int dpi_init_platform_driver(void) __init;
|
||||
void dpi_uninit_platform_driver(void);
|
||||
|
||||
#ifdef CONFIG_OMAP2_DSS_DPI
|
||||
int dpi_init_port(struct platform_device *pdev, struct device_node *port);
|
||||
void dpi_uninit_port(struct device_node *port);
|
||||
|
|
Loading…
Reference in New Issue