#include <linux/gpio/driver.h>
#include <linux/io.h>
#include <linux/module.h>
- #include <linux/of_device.h>
+#include <linux/mutex.h>
+ #include <linux/of.h>
#include <linux/pinctrl/pinmux.h>
+ #include <linux/platform_device.h>
#include "../core.h"
#include "../pinmux.h"
#include <linux/interrupt.h>
#include <linux/io.h>
#include <linux/module.h>
- #include <linux/of_device.h>
+#include <linux/mutex.h>
+ #include <linux/of.h>
#include <linux/of_irq.h>
+ #include <linux/platform_device.h>
#include <linux/seq_file.h>
#include <linux/spinlock.h>
#include <linux/gpio/driver.h>
#include <linux/io.h>
#include <linux/module.h>
- #include <linux/of_device.h>
+#include <linux/mutex.h>
+ #include <linux/of.h>
+ #include <linux/platform_device.h>
#include <linux/spinlock.h>
#include <linux/pinctrl/consumer.h>
if (IS_ERR(pctrl->base))
return PTR_ERR(pctrl->base);
- pctrl->clk = devm_clk_get(pctrl->dev, NULL);
- if (IS_ERR(pctrl->clk)) {
- ret = PTR_ERR(pctrl->clk);
- dev_err(pctrl->dev, "failed to get GPIO clk : %i\n", ret);
- return ret;
- }
+ clk = devm_clk_get_enabled(pctrl->dev, NULL);
+ if (IS_ERR(clk))
+ return dev_err_probe(pctrl->dev, PTR_ERR(clk),
+ "failed to enable GPIO clk\n");
spin_lock_init(&pctrl->lock);
+ mutex_init(&pctrl->mutex);
platform_set_drvdata(pdev, pctrl);