Commit 863f9cde authored by Laurent Pinchart's avatar Laurent Pinchart Committed by Tomi Valkeinen
Browse files

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: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
parent 37ea27b9
Loading
Loading
Loading
Loading
+4 −28
Original line number Diff line number Diff line
@@ -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);