diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2017-08-11 16:49:07 +0300 |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2017-08-16 12:52:42 +0300 |
commit | 863f9cde269f533f363ab2d0e241f503e1c87552 (patch) | |
tree | 2d612c2cb920c832fab7d6ffa5f06c94f3d6b4af /drivers | |
parent | 37ea27b97b6a5ef073e71169dbc95d89f4daa288 (diff) |
drm: omapdrm: hdmi: Don't allocate PHY features dynamically
There's no need to allocate memory dynamically to duplicate the contents
of a const structure, only to store the memory pointer in a const
pointer field. Just use the original structures directly.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/gpu/drm/omapdrm/dss/hdmi_phy.c | 32 |
1 files changed, 4 insertions, 28 deletions
diff --git a/drivers/gpu/drm/omapdrm/dss/hdmi_phy.c b/drivers/gpu/drm/omapdrm/dss/hdmi_phy.c index 95770c3203a1..a156292b1820 100644 --- a/drivers/gpu/drm/omapdrm/dss/hdmi_phy.c +++ b/drivers/gpu/drm/omapdrm/dss/hdmi_phy.c @@ -182,39 +182,15 @@ static const struct hdmi_phy_features omap54xx_phy_feats = { .max_phy = 186000000, }; -static int hdmi_phy_init_features(struct platform_device *pdev, - struct hdmi_phy_data *phy, - unsigned int version) -{ - struct hdmi_phy_features *dst; - const struct hdmi_phy_features *src; - - dst = devm_kzalloc(&pdev->dev, sizeof(*dst), GFP_KERNEL); - if (!dst) { - dev_err(&pdev->dev, "Failed to allocate HDMI PHY Features\n"); - return -ENOMEM; - } - - if (version == 4) - src = &omap44xx_phy_feats; - else - src = &omap54xx_phy_feats; - - memcpy(dst, src, sizeof(*dst)); - phy->features = dst; - - return 0; -} - int hdmi_phy_init(struct platform_device *pdev, struct hdmi_phy_data *phy, unsigned int version) { - int r; struct resource *res; - r = hdmi_phy_init_features(pdev, phy, version); - if (r) - return r; + if (version == 4) + phy->features = &omap44xx_phy_feats; + else + phy->features = &omap54xx_phy_feats; res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "phy"); phy->base = devm_ioremap_resource(&pdev->dev, res); |