[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4697e3af-86f7-83e0-1737-3f5000fc8d30@collabora.com>
Date: Mon, 28 Mar 2022 10:20:27 +0200
From: AngeloGioacchino Del Regno
<angelogioacchino.delregno@...labora.com>
To: Guillaume Ranquet <granquet@...libre.com>, airlied@...ux.ie,
chunfeng.yun@...iatek.com, chunkuang.hu@...nel.org,
ck.hu@...iatek.com, daniel@...ll.ch, deller@....de,
jitao.shi@...iatek.com, kishon@...com, krzk+dt@...nel.org,
maarten.lankhorst@...ux.intel.com, matthias.bgg@...il.com,
mripard@...nel.org, p.zabel@...gutronix.de, robh+dt@...nel.org,
tzimmermann@...e.de, vkoul@...nel.org
Cc: devicetree@...r.kernel.org, dri-devel@...ts.freedesktop.org,
linux-arm-kernel@...ts.infradead.org, linux-fbdev@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-mediatek@...ts.infradead.org,
linux-phy@...ts.infradead.org, markyacoub@...gle.com,
Markus Schneider-Pargmann <msp@...libre.com>
Subject: Re: [PATCH v9 17/22] phy: phy-mtk-dp: Add driver for DP phy
Il 28/03/22 00:39, Guillaume Ranquet ha scritto:
> From: Markus Schneider-Pargmann <msp@...libre.com>
>
> This is a new driver that supports the integrated DisplayPort phy for
> mediatek SoCs, especially the mt8195. The phy is integrated into the
> DisplayPort controller and will be created by the mtk-dp driver. This
> driver expects a struct regmap to be able to work on the same registers
> as the DisplayPort controller. It sets the device data to be the struct
> phy so that the DisplayPort controller can easily work with it.
>
> The driver does not have any devicetree bindings because the datasheet
> does not list the controller and the phy as distinct units.
>
> The interaction with the controller can be covered by the configure
> callback of the phy framework and its displayport parameters.
>
> Signed-off-by: Markus Schneider-Pargmann <msp@...libre.com>
> Signed-off-by: Guillaume Ranquet <granquet@...libre.com>
> ---
> MAINTAINERS | 1 +
> drivers/phy/mediatek/Kconfig | 8 ++
> drivers/phy/mediatek/Makefile | 1 +
> drivers/phy/mediatek/phy-mtk-dp.c | 201 ++++++++++++++++++++++++++++++
> 4 files changed, 211 insertions(+)
> create mode 100644 drivers/phy/mediatek/phy-mtk-dp.c
>
..snip..
> diff --git a/drivers/phy/mediatek/phy-mtk-dp.c b/drivers/phy/mediatek/phy-mtk-dp.c
> new file mode 100644
> index 000000000000..e5c5494f3636
> --- /dev/null
> +++ b/drivers/phy/mediatek/phy-mtk-dp.c
..snip..
> +
> +static int mtk_dp_phy_probe(struct platform_device *pdev)
> +{
> + struct device *dev = &pdev->dev;
> + struct mtk_dp_phy *dp_phy;
> + struct phy *phy;
> + struct regmap *regs;
> +
> + regs = syscon_regmap_lookup_by_phandle(dev->of_node, "mediatek,dp-syscon");
> +
Please drop this blank line
> + if (IS_ERR(regs))
> + return PTR_ERR(regs);
> +
> + dp_phy = devm_kzalloc(dev, sizeof(*dp_phy), GFP_KERNEL);
> + if (!dp_phy)
> + return -ENOMEM;
> +
> + dp_phy->regs = regs;
> +
> + phy = devm_phy_create(dev, NULL, &mtk_dp_phy_dev_ops);
> +
Same here
> + if (IS_ERR(phy))
> + return dev_err_probe(dev, PTR_ERR(phy), "Failed to create DP PHY: %ld\n", PTR_ERR(phy));
> +
Using dev_err_probe automates printing the error, so the correct usage is:
return dev_err_probe(dev, PTR_ERR(phy), "Failed to create DP PHY\n");
> + phy_set_drvdata(phy, dp_phy);
> +
> + return 0;
> +}
> +
> +struct platform_driver mtk_dp_phy_driver = {
> + .probe = mtk_dp_phy_probe,
> + .driver = {
> + .name = "mediatek-dp-phy",
> + },
> +};
> +module_platform_driver(mtk_dp_phy_driver);
Also, in your dt-binding, you mention a compatible for this driver, but I don't see
any, here. This means that you do know what to do, so please do it.
Regards,
Angelo
> +
> +MODULE_AUTHOR("Markus Schneider-Pargmann <msp@...libre.com>");
> +MODULE_DESCRIPTION("MediaTek DP PHY Driver");
> +MODULE_LICENSE("GPL");
Powered by blists - more mailing lists