#include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/netdevice.h>
-#include <linux/clk.h>
 #include <linux/pci.h>
 
 #include <linux/can/dev.h>
        enum c_can_dev_id type;
        /* Set the register alignment in the memory */
        enum c_can_pci_reg_align reg_align;
-       /* Set the frequency if clk is not usable */
+       /* Set the frequency */
        unsigned int freq;
 };
 
        struct c_can_priv *priv;
        struct net_device *dev;
        void __iomem *addr;
-       struct clk *clk;
        int ret;
 
        ret = pci_enable_device(pdev);
        priv->base = addr;
 
        if (!c_can_pci_data->freq) {
-               /* get the appropriate clk */
-               clk = clk_get(&pdev->dev, NULL);
-               if (IS_ERR(clk)) {
-                       dev_err(&pdev->dev, "no clock defined\n");
-                       ret = -ENODEV;
-                       goto out_free_c_can;
-               }
-               priv->can.clock.freq = clk_get_rate(clk);
-               priv->priv = clk;
+               dev_err(&pdev->dev, "no clock frequency defined\n");
+               ret = -ENODEV;
+               goto out_free_c_can;
        } else {
                priv->can.clock.freq = c_can_pci_data->freq;
-               priv->priv = NULL;
        }
 
        /* Configure CAN type */
                break;
        default:
                ret = -EINVAL;
-               goto out_free_clock;
+               goto out_free_c_can;
        }
 
        /* Configure access to registers */
                break;
        default:
                ret = -EINVAL;
-               goto out_free_clock;
+               goto out_free_c_can;
        }
 
        ret = register_c_can_dev(dev);
        if (ret) {
                dev_err(&pdev->dev, "registering %s failed (err=%d)\n",
                        KBUILD_MODNAME, ret);
-               goto out_free_clock;
+               goto out_free_c_can;
        }
 
        dev_dbg(&pdev->dev, "%s device registered (regs=%p, irq=%d)\n",
 
        return 0;
 
-out_free_clock:
-       if (priv->priv)
-               clk_put(priv->priv);
 out_free_c_can:
        pci_set_drvdata(pdev, NULL);
        free_c_can_dev(dev);
 
        unregister_c_can_dev(dev);
 
-       if (priv->priv)
-               clk_put(priv->priv);
-
        pci_set_drvdata(pdev, NULL);
        free_c_can_dev(dev);