]> git.proxmox.com Git - mirror_ubuntu-disco-kernel.git/commitdiff
usb: chipidea: usbmisc: rename file, struct and functions to usbmisc_imx
authorMichael Grzeschik <m.grzeschik@pengutronix.de>
Sat, 30 Mar 2013 10:53:56 +0000 (12:53 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 30 Mar 2013 15:13:57 +0000 (08:13 -0700)
This driver will be used for every Freescale SoC which has this misc
memory layout to control the basic usb handling. So better name this
driver, function and struct names in a more generic way.

Reported-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/chipidea/Makefile
drivers/usb/chipidea/usbmisc_imx.c [new file with mode: 0644]
drivers/usb/chipidea/usbmisc_imx6q.c [deleted file]

index d92ca325b104f9ccd6b7a27cf2b7177b443190c4..4ab83e98219b7b9c15ebcc78ca2716b650653574 100644 (file)
@@ -17,5 +17,5 @@ ifneq ($(CONFIG_PCI),)
 endif
 
 ifneq ($(CONFIG_OF_DEVICE),)
-       obj-$(CONFIG_USB_CHIPIDEA)      += ci13xxx_imx.o usbmisc_imx6q.o
+       obj-$(CONFIG_USB_CHIPIDEA)      += ci13xxx_imx.o usbmisc_imx.o
 endif
diff --git a/drivers/usb/chipidea/usbmisc_imx.c b/drivers/usb/chipidea/usbmisc_imx.c
new file mode 100644 (file)
index 0000000..3c42446
--- /dev/null
@@ -0,0 +1,162 @@
+/*
+ * Copyright 2012 Freescale Semiconductor, Inc.
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+#include <linux/module.h>
+#include <linux/of_platform.h>
+#include <linux/clk.h>
+#include <linux/err.h>
+#include <linux/io.h>
+
+#include "ci13xxx_imx.h"
+
+#define USB_DEV_MAX 4
+
+#define BM_OVER_CUR_DIS                BIT(7)
+
+struct imx_usbmisc {
+       void __iomem *base;
+       spinlock_t lock;
+       struct clk *clk;
+       struct usbmisc_usb_device usbdev[USB_DEV_MAX];
+};
+
+static struct imx_usbmisc *usbmisc;
+
+static struct usbmisc_usb_device *get_usbdev(struct device *dev)
+{
+       int i, ret;
+
+       for (i = 0; i < USB_DEV_MAX; i++) {
+               if (usbmisc->usbdev[i].dev == dev)
+                       return &usbmisc->usbdev[i];
+               else if (!usbmisc->usbdev[i].dev)
+                       break;
+       }
+
+       if (i >= USB_DEV_MAX)
+               return ERR_PTR(-EBUSY);
+
+       ret = usbmisc_get_init_data(dev, &usbmisc->usbdev[i]);
+       if (ret)
+               return ERR_PTR(ret);
+
+       return &usbmisc->usbdev[i];
+}
+
+static int usbmisc_imx6q_init(struct device *dev)
+{
+
+       struct usbmisc_usb_device *usbdev;
+       unsigned long flags;
+       u32 reg;
+
+       usbdev = get_usbdev(dev);
+       if (IS_ERR(usbdev))
+               return PTR_ERR(usbdev);
+
+       if (usbdev->disable_oc) {
+               spin_lock_irqsave(&usbmisc->lock, flags);
+               reg = readl(usbmisc->base + usbdev->index * 4);
+               writel(reg | BM_OVER_CUR_DIS,
+                       usbmisc->base + usbdev->index * 4);
+               spin_unlock_irqrestore(&usbmisc->lock, flags);
+       }
+
+       return 0;
+}
+
+static const struct usbmisc_ops imx6q_usbmisc_ops = {
+       .init = usbmisc_imx6q_init,
+};
+
+static const struct of_device_id usbmisc_imx_dt_ids[] = {
+       { .compatible = "fsl,imx6q-usbmisc"},
+       { /* sentinel */ }
+};
+
+static int usbmisc_imx_probe(struct platform_device *pdev)
+{
+       struct resource *res;
+       struct imx_usbmisc *data;
+       int ret;
+
+       if (usbmisc)
+               return -EBUSY;
+
+       data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL);
+       if (!data)
+               return -ENOMEM;
+
+       spin_lock_init(&data->lock);
+
+       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+       data->base = devm_ioremap_resource(&pdev->dev, res);
+       if (IS_ERR(data->base))
+               return PTR_ERR(data->base);
+
+       data->clk = devm_clk_get(&pdev->dev, NULL);
+       if (IS_ERR(data->clk)) {
+               dev_err(&pdev->dev,
+                       "failed to get clock, err=%ld\n", PTR_ERR(data->clk));
+               return PTR_ERR(data->clk);
+       }
+
+       ret = clk_prepare_enable(data->clk);
+       if (ret) {
+               dev_err(&pdev->dev,
+                       "clk_prepare_enable failed, err=%d\n", ret);
+               return ret;
+       }
+
+       ret = usbmisc_set_ops(&imx6q_usbmisc_ops);
+       if (ret) {
+               clk_disable_unprepare(data->clk);
+               return ret;
+       }
+
+       usbmisc = data;
+
+       return 0;
+}
+
+static int usbmisc_imx_remove(struct platform_device *pdev)
+{
+       usbmisc_unset_ops(&imx6q_usbmisc_ops);
+       clk_disable_unprepare(usbmisc->clk);
+       return 0;
+}
+
+static struct platform_driver usbmisc_imx_driver = {
+       .probe = usbmisc_imx_probe,
+       .remove = usbmisc_imx_remove,
+       .driver = {
+               .name = "usbmisc_imx",
+               .owner = THIS_MODULE,
+               .of_match_table = usbmisc_imx_dt_ids,
+        },
+};
+
+int usbmisc_imx_drv_init(void)
+{
+       return platform_driver_register(&usbmisc_imx_driver);
+}
+subsys_initcall(usbmisc_imx_drv_init);
+
+void usbmisc_imx_drv_exit(void)
+{
+       platform_driver_unregister(&usbmisc_imx_driver);
+}
+module_exit(usbmisc_imx_drv_exit);
+
+MODULE_ALIAS("platform:usbmisc-imx");
+MODULE_LICENSE("GPL v2");
+MODULE_DESCRIPTION("driver for imx usb non-core registers");
+MODULE_AUTHOR("Richard Zhao <richard.zhao@freescale.com>");
diff --git a/drivers/usb/chipidea/usbmisc_imx6q.c b/drivers/usb/chipidea/usbmisc_imx6q.c
deleted file mode 100644 (file)
index 113fcea..0000000
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
- * Copyright 2012 Freescale Semiconductor, Inc.
- *
- * The code contained herein is licensed under the GNU General Public
- * License. You may obtain a copy of the GNU General Public License
- * Version 2 or later at the following locations:
- *
- * http://www.opensource.org/licenses/gpl-license.html
- * http://www.gnu.org/copyleft/gpl.html
- */
-
-#include <linux/module.h>
-#include <linux/of_platform.h>
-#include <linux/clk.h>
-#include <linux/err.h>
-#include <linux/io.h>
-
-#include "ci13xxx_imx.h"
-
-#define USB_DEV_MAX 4
-
-#define BM_OVER_CUR_DIS                BIT(7)
-
-struct imx6q_usbmisc {
-       void __iomem *base;
-       spinlock_t lock;
-       struct clk *clk;
-       struct usbmisc_usb_device usbdev[USB_DEV_MAX];
-};
-
-static struct imx6q_usbmisc *usbmisc;
-
-static struct usbmisc_usb_device *get_usbdev(struct device *dev)
-{
-       int i, ret;
-
-       for (i = 0; i < USB_DEV_MAX; i++) {
-               if (usbmisc->usbdev[i].dev == dev)
-                       return &usbmisc->usbdev[i];
-               else if (!usbmisc->usbdev[i].dev)
-                       break;
-       }
-
-       if (i >= USB_DEV_MAX)
-               return ERR_PTR(-EBUSY);
-
-       ret = usbmisc_get_init_data(dev, &usbmisc->usbdev[i]);
-       if (ret)
-               return ERR_PTR(ret);
-
-       return &usbmisc->usbdev[i];
-}
-
-static int usbmisc_imx6q_init(struct device *dev)
-{
-
-       struct usbmisc_usb_device *usbdev;
-       unsigned long flags;
-       u32 reg;
-
-       usbdev = get_usbdev(dev);
-       if (IS_ERR(usbdev))
-               return PTR_ERR(usbdev);
-
-       if (usbdev->disable_oc) {
-               spin_lock_irqsave(&usbmisc->lock, flags);
-               reg = readl(usbmisc->base + usbdev->index * 4);
-               writel(reg | BM_OVER_CUR_DIS,
-                       usbmisc->base + usbdev->index * 4);
-               spin_unlock_irqrestore(&usbmisc->lock, flags);
-       }
-
-       return 0;
-}
-
-static const struct usbmisc_ops imx6q_usbmisc_ops = {
-       .init = usbmisc_imx6q_init,
-};
-
-static const struct of_device_id usbmisc_imx6q_dt_ids[] = {
-       { .compatible = "fsl,imx6q-usbmisc"},
-       { /* sentinel */ }
-};
-
-static int usbmisc_imx6q_probe(struct platform_device *pdev)
-{
-       struct resource *res;
-       struct imx6q_usbmisc *data;
-       int ret;
-
-       if (usbmisc)
-               return -EBUSY;
-
-       data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL);
-       if (!data)
-               return -ENOMEM;
-
-       spin_lock_init(&data->lock);
-
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       data->base = devm_ioremap_resource(&pdev->dev, res);
-       if (IS_ERR(data->base))
-               return PTR_ERR(data->base);
-
-       data->clk = devm_clk_get(&pdev->dev, NULL);
-       if (IS_ERR(data->clk)) {
-               dev_err(&pdev->dev,
-                       "failed to get clock, err=%ld\n", PTR_ERR(data->clk));
-               return PTR_ERR(data->clk);
-       }
-
-       ret = clk_prepare_enable(data->clk);
-       if (ret) {
-               dev_err(&pdev->dev,
-                       "clk_prepare_enable failed, err=%d\n", ret);
-               return ret;
-       }
-
-       ret = usbmisc_set_ops(&imx6q_usbmisc_ops);
-       if (ret) {
-               clk_disable_unprepare(data->clk);
-               return ret;
-       }
-
-       usbmisc = data;
-
-       return 0;
-}
-
-static int usbmisc_imx6q_remove(struct platform_device *pdev)
-{
-       usbmisc_unset_ops(&imx6q_usbmisc_ops);
-       clk_disable_unprepare(usbmisc->clk);
-       return 0;
-}
-
-static struct platform_driver usbmisc_imx6q_driver = {
-       .probe = usbmisc_imx6q_probe,
-       .remove = usbmisc_imx6q_remove,
-       .driver = {
-               .name = "usbmisc_imx6q",
-               .owner = THIS_MODULE,
-               .of_match_table = usbmisc_imx6q_dt_ids,
-        },
-};
-
-static int __init usbmisc_imx6q_drv_init(void)
-{
-       return platform_driver_register(&usbmisc_imx6q_driver);
-}
-subsys_initcall(usbmisc_imx6q_drv_init);
-
-static void __exit usbmisc_imx6q_drv_exit(void)
-{
-       platform_driver_unregister(&usbmisc_imx6q_driver);
-}
-module_exit(usbmisc_imx6q_drv_exit);
-
-MODULE_ALIAS("platform:usbmisc-imx6q");
-MODULE_LICENSE("GPL v2");
-MODULE_DESCRIPTION("driver for imx6q usb non-core registers");
-MODULE_AUTHOR("Richard Zhao <richard.zhao@freescale.com>");