[PATCH 3/4] clk: bcm2835: register Raspberry Pi's firmware clk device

From: Nicolas Saenz Julienne
Date: Tue Jun 04 2019 - 13:40:54 EST


Registers clk-raspberrypi as a platform device as part of the driver's
probe sequence.

Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@xxxxxxx>
---
drivers/clk/bcm/clk-bcm2835.c | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c
index ccb0319fc2e9..6f370e6bafed 100644
--- a/drivers/clk/bcm/clk-bcm2835.c
+++ b/drivers/clk/bcm/clk-bcm2835.c
@@ -2098,6 +2098,7 @@ static int bcm2835_mark_sdc_parent_critical(struct clk *sdc)

static int bcm2835_clk_probe(struct platform_device *pdev)
{
+ struct platform_device *rpi_fw_clk;
struct device *dev = &pdev->dev;
struct clk_hw **hws;
struct bcm2835_cprman *cprman;
@@ -2150,8 +2151,18 @@ static int bcm2835_clk_probe(struct platform_device *pdev)
if (ret)
return ret;

- return of_clk_add_hw_provider(dev->of_node, of_clk_hw_onecell_get,
- &cprman->onecell);
+ ret = of_clk_add_hw_provider(dev->of_node, of_clk_hw_onecell_get,
+ &cprman->onecell);
+ if (ret)
+ return ret;
+
+ rpi_fw_clk = platform_device_register_data(NULL, "raspberrypi-clk", -1,
+ NULL, 0);
+ ret = PTR_ERR_OR_ZERO(rpi_fw_clk);
+ if (ret)
+ dev_err(dev, "Failed to create platform device, %d\n", ret);
+
+ return ret;
}

static const struct of_device_id bcm2835_clk_of_match[] = {
--
2.21.0