diff options
Diffstat (limited to 'target/linux/bcm27xx/patches-5.4/950-0510-clk-bcm-rpi-Allow-the-driver-to-be-probed-by-DT.patch')
-rw-r--r-- | target/linux/bcm27xx/patches-5.4/950-0510-clk-bcm-rpi-Allow-the-driver-to-be-probed-by-DT.patch | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/target/linux/bcm27xx/patches-5.4/950-0510-clk-bcm-rpi-Allow-the-driver-to-be-probed-by-DT.patch b/target/linux/bcm27xx/patches-5.4/950-0510-clk-bcm-rpi-Allow-the-driver-to-be-probed-by-DT.patch deleted file mode 100644 index d622d9ded5..0000000000 --- a/target/linux/bcm27xx/patches-5.4/950-0510-clk-bcm-rpi-Allow-the-driver-to-be-probed-by-DT.patch +++ /dev/null @@ -1,60 +0,0 @@ -From faeea753ba262e2a781570f9db23c5773c5d20e7 Mon Sep 17 00:00:00 2001 -From: Maxime Ripard <maxime@cerno.tech> -Date: Mon, 23 Dec 2019 19:58:08 +0100 -Subject: [PATCH] clk: bcm: rpi: Allow the driver to be probed by DT - -The current firmware clock driver for the RaspberryPi can only be probed by -manually registering an associated platform_device. - -While this works fine for cpufreq where the device gets attached a clkdev -lookup, it would be tedious to maintain a table of all the devices using -one of the clocks exposed by the firmware. - -Since the DT on the other hand is the perfect place to store those -associations, make the firmware clocks driver probe-able through the device -tree so that we can represent it as a node. - -Cc: Michael Turquette <mturquette@baylibre.com> -Cc: Stephen Boyd <sboyd@kernel.org> -Cc: linux-clk@vger.kernel.org -Signed-off-by: Maxime Ripard <maxime@cerno.tech> ---- - drivers/clk/bcm/clk-raspberrypi.c | 11 ++++++++--- - 1 file changed, 8 insertions(+), 3 deletions(-) - ---- a/drivers/clk/bcm/clk-raspberrypi.c -+++ b/drivers/clk/bcm/clk-raspberrypi.c -@@ -255,15 +255,13 @@ static int raspberrypi_clk_probe(struct - struct raspberrypi_clk *rpi; - int ret; - -- firmware_node = of_find_compatible_node(NULL, NULL, -- "raspberrypi,bcm2835-firmware"); -+ firmware_node = of_parse_phandle(dev->of_node, "raspberrypi,firmware", 0); - if (!firmware_node) { - dev_err(dev, "Missing firmware node\n"); - return -ENOENT; - } - - firmware = rpi_firmware_get(firmware_node); -- of_node_put(firmware_node); - if (!firmware) - return -EPROBE_DEFER; - -@@ -300,9 +298,16 @@ static int raspberrypi_clk_remove(struct - return 0; - } - -+static const struct of_device_id raspberrypi_clk_match[] = { -+ { .compatible = "raspberrypi,firmware-clocks" }, -+ { }, -+}; -+MODULE_DEVICE_TABLE(of, raspberrypi_clk_match); -+ - static struct platform_driver raspberrypi_clk_driver = { - .driver = { - .name = "raspberrypi-clk", -+ .of_match_table = raspberrypi_clk_match, - }, - .probe = raspberrypi_clk_probe, - .remove = raspberrypi_clk_remove, |