mirror of https://gitee.com/openkylin/linux.git
drm: omapdrm: Drop support for non-DT devices
All OMAP platforms use DT nowadays, drop support for non-DT devices. 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
b22622f0cb
commit
1dff212ce6
|
@ -87,26 +87,17 @@ int omapdss_register_display(struct omap_dss_device *dssdev)
|
|||
int id;
|
||||
|
||||
/*
|
||||
* Note: this presumes all the displays are either using DT or non-DT,
|
||||
* which normally should be the case. This also presumes that all
|
||||
* displays either have an DT alias, or none has.
|
||||
* Note: this presumes that all displays either have an DT alias, or
|
||||
* none has.
|
||||
*/
|
||||
|
||||
if (dssdev->dev->of_node) {
|
||||
id = of_alias_get_id(dssdev->dev->of_node, "display");
|
||||
|
||||
if (id < 0)
|
||||
id = disp_num_counter++;
|
||||
} else {
|
||||
id = of_alias_get_id(dssdev->dev->of_node, "display");
|
||||
if (id < 0)
|
||||
id = disp_num_counter++;
|
||||
}
|
||||
|
||||
snprintf(dssdev->alias, sizeof(dssdev->alias), "display%d", id);
|
||||
|
||||
/* Use 'label' property for name, if it exists */
|
||||
if (dssdev->dev->of_node)
|
||||
of_property_read_string(dssdev->dev->of_node, "label",
|
||||
&dssdev->name);
|
||||
of_property_read_string(dssdev->dev->of_node, "label", &dssdev->name);
|
||||
|
||||
if (dssdev->name == NULL)
|
||||
dssdev->name = dssdev->alias;
|
||||
|
|
|
@ -5276,12 +5276,12 @@ static int dsi_init_pll_data(struct platform_device *dsidev)
|
|||
static int dsi_bind(struct device *dev, struct device *master, void *data)
|
||||
{
|
||||
struct platform_device *dsidev = to_platform_device(dev);
|
||||
const struct dsi_module_id_data *d;
|
||||
u32 rev;
|
||||
int r, i;
|
||||
struct dsi_data *dsi;
|
||||
struct resource *dsi_mem;
|
||||
struct resource *res;
|
||||
struct resource temp_res;
|
||||
|
||||
dsi = devm_kzalloc(&dsidev->dev, sizeof(*dsi), GFP_KERNEL);
|
||||
if (!dsi)
|
||||
|
@ -5311,55 +5311,17 @@ static int dsi_bind(struct device *dev, struct device *master, void *data)
|
|||
dsi->te_timer.data = 0;
|
||||
#endif
|
||||
|
||||
res = platform_get_resource_byname(dsidev, IORESOURCE_MEM, "proto");
|
||||
if (!res) {
|
||||
res = platform_get_resource(dsidev, IORESOURCE_MEM, 0);
|
||||
if (!res) {
|
||||
DSSERR("can't get IORESOURCE_MEM DSI\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
temp_res.start = res->start;
|
||||
temp_res.end = temp_res.start + DSI_PROTO_SZ - 1;
|
||||
res = &temp_res;
|
||||
}
|
||||
|
||||
dsi_mem = res;
|
||||
|
||||
dsi->proto_base = devm_ioremap_resource(&dsidev->dev, res);
|
||||
dsi_mem = platform_get_resource_byname(dsidev, IORESOURCE_MEM, "proto");
|
||||
dsi->proto_base = devm_ioremap_resource(&dsidev->dev, dsi_mem);
|
||||
if (IS_ERR(dsi->proto_base))
|
||||
return PTR_ERR(dsi->proto_base);
|
||||
|
||||
res = platform_get_resource_byname(dsidev, IORESOURCE_MEM, "phy");
|
||||
if (!res) {
|
||||
res = platform_get_resource(dsidev, IORESOURCE_MEM, 0);
|
||||
if (!res) {
|
||||
DSSERR("can't get IORESOURCE_MEM DSI\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
temp_res.start = res->start + DSI_PHY_OFFSET;
|
||||
temp_res.end = temp_res.start + DSI_PHY_SZ - 1;
|
||||
res = &temp_res;
|
||||
}
|
||||
|
||||
dsi->phy_base = devm_ioremap_resource(&dsidev->dev, res);
|
||||
if (IS_ERR(dsi->phy_base))
|
||||
return PTR_ERR(dsi->phy_base);
|
||||
|
||||
res = platform_get_resource_byname(dsidev, IORESOURCE_MEM, "pll");
|
||||
if (!res) {
|
||||
res = platform_get_resource(dsidev, IORESOURCE_MEM, 0);
|
||||
if (!res) {
|
||||
DSSERR("can't get IORESOURCE_MEM DSI\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
temp_res.start = res->start + DSI_PLL_OFFSET;
|
||||
temp_res.end = temp_res.start + DSI_PLL_SZ - 1;
|
||||
res = &temp_res;
|
||||
}
|
||||
|
||||
dsi->pll_base = devm_ioremap_resource(&dsidev->dev, res);
|
||||
if (IS_ERR(dsi->pll_base))
|
||||
return PTR_ERR(dsi->pll_base);
|
||||
|
@ -5377,31 +5339,17 @@ static int dsi_bind(struct device *dev, struct device *master, void *data)
|
|||
return r;
|
||||
}
|
||||
|
||||
if (dsidev->dev.of_node) {
|
||||
const struct of_device_id *match;
|
||||
const struct dsi_module_id_data *d;
|
||||
d = of_match_node(dsi_of_match, dsidev->dev.of_node)->data;
|
||||
while (d->address != 0 && d->address != dsi_mem->start)
|
||||
d++;
|
||||
|
||||
match = of_match_node(dsi_of_match, dsidev->dev.of_node);
|
||||
if (!match) {
|
||||
DSSERR("unsupported DSI module\n");
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
d = match->data;
|
||||
|
||||
while (d->address != 0 && d->address != dsi_mem->start)
|
||||
d++;
|
||||
|
||||
if (d->address == 0) {
|
||||
DSSERR("unsupported DSI module\n");
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
dsi->module_id = d->id;
|
||||
} else {
|
||||
dsi->module_id = dsidev->id;
|
||||
if (d->address == 0) {
|
||||
DSSERR("unsupported DSI module\n");
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
dsi->module_id = d->id;
|
||||
|
||||
/* DSI VCs initialization */
|
||||
for (i = 0; i < ARRAY_SIZE(dsi->vc); i++) {
|
||||
dsi->vc[i].source = DSI_VC_SOURCE_L4;
|
||||
|
@ -5437,19 +5385,16 @@ static int dsi_bind(struct device *dev, struct device *master, void *data)
|
|||
|
||||
dsi_init_output(dsidev);
|
||||
|
||||
if (dsidev->dev.of_node) {
|
||||
r = dsi_probe_of(dsidev);
|
||||
if (r) {
|
||||
DSSERR("Invalid DSI DT data\n");
|
||||
goto err_probe_of;
|
||||
}
|
||||
|
||||
r = of_platform_populate(dsidev->dev.of_node, NULL, NULL,
|
||||
&dsidev->dev);
|
||||
if (r)
|
||||
DSSERR("Failed to populate DSI child devices: %d\n", r);
|
||||
r = dsi_probe_of(dsidev);
|
||||
if (r) {
|
||||
DSSERR("Invalid DSI DT data\n");
|
||||
goto err_probe_of;
|
||||
}
|
||||
|
||||
r = of_platform_populate(dsidev->dev.of_node, NULL, NULL, &dsidev->dev);
|
||||
if (r)
|
||||
DSSERR("Failed to populate DSI child devices: %d\n", r);
|
||||
|
||||
dsi_runtime_put(dsidev);
|
||||
|
||||
if (dsi->module_id == 0)
|
||||
|
|
|
@ -696,11 +696,9 @@ static int hdmi4_bind(struct device *dev, struct device *master, void *data)
|
|||
mutex_init(&hdmi.lock);
|
||||
spin_lock_init(&hdmi.audio_playing_lock);
|
||||
|
||||
if (pdev->dev.of_node) {
|
||||
r = hdmi_probe_of(pdev);
|
||||
if (r)
|
||||
return r;
|
||||
}
|
||||
r = hdmi_probe_of(pdev);
|
||||
if (r)
|
||||
return r;
|
||||
|
||||
r = hdmi_wp_init(pdev, &hdmi.wp);
|
||||
if (r)
|
||||
|
|
|
@ -728,11 +728,9 @@ static int hdmi5_bind(struct device *dev, struct device *master, void *data)
|
|||
mutex_init(&hdmi.lock);
|
||||
spin_lock_init(&hdmi.audio_playing_lock);
|
||||
|
||||
if (pdev->dev.of_node) {
|
||||
r = hdmi_probe_of(pdev);
|
||||
if (r)
|
||||
return r;
|
||||
}
|
||||
r = hdmi_probe_of(pdev);
|
||||
if (r)
|
||||
return r;
|
||||
|
||||
r = hdmi_wp_init(pdev, &hdmi.wp);
|
||||
if (r)
|
||||
|
|
|
@ -643,11 +643,7 @@ static int venc_init_regulator(void)
|
|||
if (venc.vdda_dac_reg != NULL)
|
||||
return 0;
|
||||
|
||||
if (venc.pdev->dev.of_node)
|
||||
vdda_dac = devm_regulator_get(&venc.pdev->dev, "vdda");
|
||||
else
|
||||
vdda_dac = devm_regulator_get(&venc.pdev->dev, "vdda_dac");
|
||||
|
||||
vdda_dac = devm_regulator_get(&venc.pdev->dev, "vdda");
|
||||
if (IS_ERR(vdda_dac)) {
|
||||
if (PTR_ERR(vdda_dac) != -EPROBE_DEFER)
|
||||
DSSERR("can't get VDDA_DAC regulator\n");
|
||||
|
@ -888,12 +884,10 @@ static int venc_bind(struct device *dev, struct device *master, void *data)
|
|||
|
||||
venc_runtime_put();
|
||||
|
||||
if (pdev->dev.of_node) {
|
||||
r = venc_probe_of(pdev);
|
||||
if (r) {
|
||||
DSSERR("Invalid DT data\n");
|
||||
goto err_probe_of;
|
||||
}
|
||||
r = venc_probe_of(pdev);
|
||||
if (r) {
|
||||
DSSERR("Invalid DT data\n");
|
||||
goto err_probe_of;
|
||||
}
|
||||
|
||||
dss_debugfs_create_file("venc", venc_dump_regs);
|
||||
|
|
Loading…
Reference in New Issue