aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/sh
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>2012-12-15 17:50:44 -0500
committerSimon Horman <horms+renesas@verge.net.au>2013-01-24 19:24:20 -0500
commitf9165132c5ee681235068857e4f86c7ecc5a4617 (patch)
treea37d172263a7f911a7621a751c173b9d6e2ebb83 /drivers/sh
parentd4e62d0094e1b0f69946c3f16ce8ec882302a461 (diff)
sh-pfc: Move private definitions and declarations to private header
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>
Diffstat (limited to 'drivers/sh')
-rw-r--r--drivers/sh/pfc/core.c2
-rw-r--r--drivers/sh/pfc/core.h44
-rw-r--r--drivers/sh/pfc/gpio.c2
-rw-r--r--drivers/sh/pfc/pinctrl.c2
4 files changed, 50 insertions, 0 deletions
diff --git a/drivers/sh/pfc/core.c b/drivers/sh/pfc/core.c
index ecbe51d9f563..72421a4a883d 100644
--- a/drivers/sh/pfc/core.c
+++ b/drivers/sh/pfc/core.c
@@ -21,6 +21,8 @@
21#include <linux/ioport.h> 21#include <linux/ioport.h>
22#include <linux/pinctrl/machine.h> 22#include <linux/pinctrl/machine.h>
23 23
24#include "core.h"
25
24static struct sh_pfc sh_pfc __read_mostly; 26static struct sh_pfc sh_pfc __read_mostly;
25 27
26static void pfc_iounmap(struct sh_pfc *pfc) 28static 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
index 000000000000..b07ae259c0eb
--- /dev/null
+++ b/drivers/sh/pfc/core.h
@@ -0,0 +1,44 @@
1/*
2 * SuperH Pin Function Controller support.
3 *
4 * Copyright (C) 2012 Renesas Solutions Corp.
5 *
6 * This file is subject to the terms and conditions of the GNU General Public
7 * License. See the file "COPYING" in the main directory of this archive
8 * for more details.
9 */
10#ifndef __SH_PFC_CORE_H__
11#define __SH_PFC_CORE_H__
12
13#include <linux/compiler.h>
14#include <linux/sh_pfc.h>
15#include <linux/types.h>
16
17struct pfc_window {
18 phys_addr_t phys;
19 void __iomem *virt;
20 unsigned long size;
21};
22
23struct sh_pfc {
24 struct sh_pfc_platform_data *pdata;
25 spinlock_t lock;
26
27 struct pfc_window *window;
28};
29
30int sh_pfc_register_gpiochip(struct sh_pfc *pfc);
31
32int sh_pfc_register_pinctrl(struct sh_pfc *pfc);
33
34int sh_pfc_read_bit(struct pinmux_data_reg *dr, unsigned long in_pos);
35void sh_pfc_write_bit(struct pinmux_data_reg *dr, unsigned long in_pos,
36 unsigned long value);
37int sh_pfc_get_data_reg(struct sh_pfc *pfc, unsigned gpio,
38 struct pinmux_data_reg **drp, int *bitp);
39int sh_pfc_gpio_to_enum(struct sh_pfc *pfc, unsigned gpio, int pos,
40 pinmux_enum_t *enum_idp);
41int sh_pfc_config_gpio(struct sh_pfc *pfc, unsigned gpio, int pinmux_type,
42 int cfg_mode);
43
44#endif /* __SH_PFC_CORE_H__ */
diff --git a/drivers/sh/pfc/gpio.c b/drivers/sh/pfc/gpio.c
index 7597a024fac8..565b366c909f 100644
--- a/drivers/sh/pfc/gpio.c
+++ b/drivers/sh/pfc/gpio.c
@@ -19,6 +19,8 @@
19#include <linux/pinctrl/consumer.h> 19#include <linux/pinctrl/consumer.h>
20#include <linux/sh_pfc.h> 20#include <linux/sh_pfc.h>
21 21
22#include "core.h"
23
22struct sh_pfc_chip { 24struct sh_pfc_chip {
23 struct sh_pfc *pfc; 25 struct sh_pfc *pfc;
24 struct gpio_chip gpio_chip; 26 struct gpio_chip gpio_chip;
diff --git a/drivers/sh/pfc/pinctrl.c b/drivers/sh/pfc/pinctrl.c
index 3a2c77d3248f..5801a5686148 100644
--- a/drivers/sh/pfc/pinctrl.c
+++ b/drivers/sh/pfc/pinctrl.c
@@ -24,6 +24,8 @@
24#include <linux/pinctrl/pinmux.h> 24#include <linux/pinctrl/pinmux.h>
25#include <linux/pinctrl/pinconf-generic.h> 25#include <linux/pinctrl/pinconf-generic.h>
26 26
27#include "core.h"
28
27struct sh_pfc_pinctrl { 29struct sh_pfc_pinctrl {
28 struct pinctrl_dev *pctl; 30 struct pinctrl_dev *pctl;
29 struct sh_pfc *pfc; 31 struct sh_pfc *pfc;