sh-pfc: Move private definitions and declarations to private header
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Sat, 15 Dec 2012 22:50:44 +0000 (23:50 +0100)
committerSimon Horman <horms+renesas@verge.net.au>
Fri, 25 Jan 2013 00:24:20 +0000 (09:24 +0900)
Move all private structure definitions and function declarations from
include/linux/sh_pfc.h to drivers/sh/pfc/core.h.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Acked-by: Paul Mundt <lethal@linux-sh.org>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
drivers/sh/pfc/core.c
drivers/sh/pfc/core.h [new file with mode: 0644]
drivers/sh/pfc/gpio.c
drivers/sh/pfc/pinctrl.c
include/linux/sh_pfc.h

index ecbe51d9f563f82b35eb94e1a02fc196fa578695..72421a4a883d06420e17ffff215a33feec106bfc 100644 (file)
@@ -21,6 +21,8 @@
 #include <linux/ioport.h>
 #include <linux/pinctrl/machine.h>
 
+#include "core.h"
+
 static struct sh_pfc sh_pfc __read_mostly;
 
 static void pfc_iounmap(struct sh_pfc *pfc)
diff --git a/drivers/sh/pfc/core.h b/drivers/sh/pfc/core.h
new file mode 100644 (file)
index 0000000..b07ae25
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * SuperH Pin Function Controller support.
+ *
+ * Copyright (C) 2012  Renesas Solutions Corp.
+ *
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License.  See the file "COPYING" in the main directory of this archive
+ * for more details.
+ */
+#ifndef __SH_PFC_CORE_H__
+#define __SH_PFC_CORE_H__
+
+#include <linux/compiler.h>
+#include <linux/sh_pfc.h>
+#include <linux/types.h>
+
+struct pfc_window {
+       phys_addr_t phys;
+       void __iomem *virt;
+       unsigned long size;
+};
+
+struct sh_pfc {
+       struct sh_pfc_platform_data *pdata;
+       spinlock_t lock;
+
+       struct pfc_window *window;
+};
+
+int sh_pfc_register_gpiochip(struct sh_pfc *pfc);
+
+int sh_pfc_register_pinctrl(struct sh_pfc *pfc);
+
+int sh_pfc_read_bit(struct pinmux_data_reg *dr, unsigned long in_pos);
+void sh_pfc_write_bit(struct pinmux_data_reg *dr, unsigned long in_pos,
+                     unsigned long value);
+int sh_pfc_get_data_reg(struct sh_pfc *pfc, unsigned gpio,
+                       struct pinmux_data_reg **drp, int *bitp);
+int sh_pfc_gpio_to_enum(struct sh_pfc *pfc, unsigned gpio, int pos,
+                       pinmux_enum_t *enum_idp);
+int sh_pfc_config_gpio(struct sh_pfc *pfc, unsigned gpio, int pinmux_type,
+                      int cfg_mode);
+
+#endif /* __SH_PFC_CORE_H__ */
index 7597a024fac8ef569e6e5acc316014194a5b4c14..565b366c909ff5fbe1f35bfcaa3fc6f8e8aa5d8f 100644 (file)
@@ -19,6 +19,8 @@
 #include <linux/pinctrl/consumer.h>
 #include <linux/sh_pfc.h>
 
+#include "core.h"
+
 struct sh_pfc_chip {
        struct sh_pfc           *pfc;
        struct gpio_chip        gpio_chip;
index 3a2c77d3248f79bd5d074fc9758f7a83cd064dc8..5801a56861489a61622ba2502d6ecb5e5136156e 100644 (file)
@@ -24,6 +24,8 @@
 #include <linux/pinctrl/pinmux.h>
 #include <linux/pinctrl/pinconf-generic.h>
 
+#include "core.h"
+
 struct sh_pfc_pinctrl {
        struct pinctrl_dev *pctl;
        struct sh_pfc *pfc;
index 58587f94d67ac5eb4722d462e9541eca5c4d9e8c..f7f01b231b667184c13ffa57f2b704d5cf9cb3d2 100644 (file)
@@ -88,12 +88,6 @@ struct pinmux_range {
        pinmux_enum_t force;
 };
 
-struct pfc_window {
-       phys_addr_t phys;
-       void __iomem *virt;
-       unsigned long size;
-};
-
 struct sh_pfc_platform_data {
        char *name;
        pinmux_enum_t reserved_id;
@@ -123,35 +117,12 @@ struct sh_pfc_platform_data {
        unsigned long unlock_reg;
 };
 
-struct sh_pfc {
-       struct sh_pfc_platform_data *pdata;
-       spinlock_t lock;
-
-       struct pfc_window *window;
-};
-
 /* XXX compat for now */
 #define pinmux_info sh_pfc_platform_data
 
-/* drivers/sh/pfc/gpio.c */
-int sh_pfc_register_gpiochip(struct sh_pfc *pfc);
-
-/* drivers/sh/pfc/pinctrl.c */
-int sh_pfc_register_pinctrl(struct sh_pfc *pfc);
-
 /* drivers/sh/pfc/core.c */
 int register_sh_pfc(struct sh_pfc_platform_data *pfc);
 
-int sh_pfc_read_bit(struct pinmux_data_reg *dr, unsigned long in_pos);
-void sh_pfc_write_bit(struct pinmux_data_reg *dr, unsigned long in_pos,
-                     unsigned long value);
-int sh_pfc_get_data_reg(struct sh_pfc *pfc, unsigned gpio,
-                       struct pinmux_data_reg **drp, int *bitp);
-int sh_pfc_gpio_to_enum(struct sh_pfc *pfc, unsigned gpio, int pos,
-                       pinmux_enum_t *enum_idp);
-int sh_pfc_config_gpio(struct sh_pfc *pfc, unsigned gpio, int pinmux_type,
-                      int cfg_mode);
-
 /* xxx */
 static inline int register_pinmux(struct pinmux_info *pip)
 {