struct clk *clk;
        struct clk_hw hw;
        struct palmas *palmas;
-       struct palmas_clk32k_desc *clk_desc;
+       const struct palmas_clk32k_desc *clk_desc;
        int ext_control_pin;
 };
 
 
 struct palmas_clks_of_match_data {
        struct clk_init_data init;
-       struct palmas_clk32k_desc desc;
+       const struct palmas_clk32k_desc desc;
 };
 
-static struct palmas_clks_of_match_data palmas_of_clk32kg = {
+static const struct palmas_clks_of_match_data palmas_of_clk32kg = {
        .init = {
                .name = "clk32kg",
                .ops = &palmas_clks_ops,
        },
 };
 
-static struct palmas_clks_of_match_data palmas_of_clk32kgaudio = {
+static const struct palmas_clks_of_match_data palmas_of_clk32kgaudio = {
        .init = {
                .name = "clk32kgaudio",
                .ops = &palmas_clks_ops,
 {
        struct palmas *palmas = dev_get_drvdata(pdev->dev.parent);
        struct device_node *node = pdev->dev.of_node;
-       struct palmas_clks_of_match_data *match_data;
+       const struct palmas_clks_of_match_data *match_data;
        const struct of_device_id *match;
        struct palmas_clock_info *cinfo;
        struct clk *clk;
        int ret;
 
        match = of_match_device(palmas_clks_of_match, &pdev->dev);
-       match_data = (struct palmas_clks_of_match_data *)match->data;
+       match_data = match->data;
 
        cinfo = devm_kzalloc(&pdev->dev, sizeof(*cinfo), GFP_KERNEL);
        if (!cinfo)