summaryrefslogtreecommitdiffstats
path: root/meta-agl-profile-demo/recipes-kernel/most/files/0008-dim2-read-clock-speed-from-the-device-tree.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-agl-profile-demo/recipes-kernel/most/files/0008-dim2-read-clock-speed-from-the-device-tree.patch')
-rw-r--r--meta-agl-profile-demo/recipes-kernel/most/files/0008-dim2-read-clock-speed-from-the-device-tree.patch92
1 files changed, 0 insertions, 92 deletions
diff --git a/meta-agl-profile-demo/recipes-kernel/most/files/0008-dim2-read-clock-speed-from-the-device-tree.patch b/meta-agl-profile-demo/recipes-kernel/most/files/0008-dim2-read-clock-speed-from-the-device-tree.patch
deleted file mode 100644
index 1b01fb156..000000000
--- a/meta-agl-profile-demo/recipes-kernel/most/files/0008-dim2-read-clock-speed-from-the-device-tree.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-From 839ad403a2d8081a6c15f6fc2836b01919338f3c Mon Sep 17 00:00:00 2001
-From: Andrey Shvetsov <andrey.shvetsov@k2l.de>
-Date: Mon, 12 Feb 2018 12:24:37 +0100
-Subject: [PATCH] staging: most: dim2: read clock speed from the device tree
-
-This implements reading of the clock speed parameter from the device
-tree.
-
-Signed-off-by: Andrey Shvetsov <andrey.shvetsov@k2l.de>
----
- Documentation/devicetree/bindings/inic/microchip,inic-dim2.txt | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- hdm-dim2/dim2_hdm.c | 50 +++++++++++++++++++++++++++++++++++++++++++++++++-
- 2 files changed, 113 insertions(+), 1 deletion(-)
- create mode 100644 Documentation/devicetree/bindings/inic/microchip,inic-dim2.txt
-
-diff --git a/hdm-dim2/dim2_hdm.c b/hdm-dim2/dim2_hdm.c
-index 2dba917..05e1896 100644
---- a/hdm-dim2/dim2_hdm.c
-+++ b/hdm-dim2/dim2_hdm.c
-@@ -698,6 +698,42 @@ static void dma_free(struct mbo *mbo, u32 size)
-
- static const struct of_device_id dim2_of_match[];
-
-+static struct {
-+ const char *clock_speed;
-+ u8 clk_speed;
-+} clk_mt[] = {
-+ { "256fs", CLK_256FS },
-+ { "512fs", CLK_512FS },
-+ { "1024fs", CLK_1024FS },
-+ { "2048fs", CLK_2048FS },
-+ { "3072fs", CLK_3072FS },
-+ { "4096fs", CLK_4096FS },
-+ { "6144fs", CLK_6144FS },
-+ { "8192fs", CLK_8192FS },
-+};
-+
-+/**
-+ * get_dim2_clk_speed - converts string to DIM2 clock speed value
-+ *
-+ * @clock_speed: string in the format "{NUMBER}fs"
-+ * @val: pointer to get one of the CLK_{NUMBER}FS values
-+ *
-+ * By success stores one of the CLK_{NUMBER}FS in the *val and returns 0,
-+ * otherwise returns -EINVAL.
-+ */
-+static int get_dim2_clk_speed(const char *clock_speed, u8 *val)
-+{
-+ int i;
-+
-+ for (i = 0; i < ARRAY_SIZE(clk_mt); i++) {
-+ if (!strcmp(clock_speed, clk_mt[i].clock_speed)) {
-+ *val = clk_mt[i].clk_speed;
-+ return 0;
-+ }
-+ }
-+ return -EINVAL;
-+}
-+
- /*
- * dim2_probe - dim2 probe handler
- * @pdev: platform device structure
-@@ -708,6 +744,7 @@ static const struct of_device_id dim2_of_match[];
- static int dim2_probe(struct platform_device *pdev)
- {
- const struct dim2_platform_data *pdata;
-+ const char *clock_speed;
- struct dim2_hdm *dev;
- struct resource *res;
- int ret, i;
-@@ -725,7 +762,18 @@ static int dim2_probe(struct platform_device *pdev)
-
- platform_set_drvdata(pdev, dev);
-
-- dev->clk_speed = CLK_4096FS;
-+ ret = of_property_read_string(pdev->dev.of_node,
-+ "microchip,clock-speed", &clock_speed);
-+ if (ret) {
-+ dev_err(&pdev->dev, "missing dt property clock-speed\n");
-+ return ret;
-+ }
-+
-+ ret = get_dim2_clk_speed(clock_speed, &dev->clk_speed);
-+ if (ret) {
-+ dev_err(&pdev->dev, "bad dt property clock-speed\n");
-+ return ret;
-+ }
-
- res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
- dev->io_base = devm_ioremap_resource(&pdev->dev, res);
---
-libgit2 0.26.0