#include <linux/bits.h>
#include <linux/cleanup.h>
#include <linux/device.h>
#include <linux/err.h>
#include <linux/errno.h>
#include <linux/export.h>
#include <linux/io.h>
#include <linux/module.h>
#include <linux/overflow.h>
#include <linux/platform_device.h>
#include <linux/property.h>
#include <linux/seq_file.h>
#include <linux/spinlock.h>
#include <linux/types.h>
#include <linux/pinctrl/pinconf-generic.h>
#include <linux/pinctrl/pinconf.h>
#include <linux/pinctrl/pinctrl.h>
#include <linux/pinctrl/pinmux.h>
#include "../core.h"
#include "pinctrl-intel.h"
#include "pinctrl-tangier.h"
#define SLEW_OFFSET …
#define BUFCFG_OFFSET …
#define MISC_OFFSET …
#define BUFCFG_PINMODE_SHIFT …
#define BUFCFG_PINMODE_MASK …
#define BUFCFG_PINMODE_GPIO …
#define BUFCFG_PUPD_VAL_SHIFT …
#define BUFCFG_PUPD_VAL_MASK …
#define BUFCFG_PUPD_VAL_2K …
#define BUFCFG_PUPD_VAL_20K …
#define BUFCFG_PUPD_VAL_50K …
#define BUFCFG_PUPD_VAL_910 …
#define BUFCFG_PU_EN …
#define BUFCFG_PD_EN …
#define BUFCFG_Px_EN_MASK …
#define BUFCFG_SLEWSEL …
#define BUFCFG_OVINEN …
#define BUFCFG_OVINEN_EN …
#define BUFCFG_OVINEN_MASK …
#define BUFCFG_OVOUTEN …
#define BUFCFG_OVOUTEN_EN …
#define BUFCFG_OVOUTEN_MASK …
#define BUFCFG_INDATAOV_VAL …
#define BUFCFG_INDATAOV_EN …
#define BUFCFG_INDATAOV_MASK …
#define BUFCFG_OUTDATAOV_VAL …
#define BUFCFG_OUTDATAOV_EN …
#define BUFCFG_OUTDATAOV_MASK …
#define BUFCFG_OD_EN …
#define pin_to_bufno(f, p) …
static const struct tng_family *tng_get_family(struct tng_pinctrl *tp,
unsigned int pin)
{ … }
static bool tng_buf_available(struct tng_pinctrl *tp, unsigned int pin)
{ … }
static void __iomem *tng_get_bufcfg(struct tng_pinctrl *tp, unsigned int pin)
{ … }
static int tng_read_bufcfg(struct tng_pinctrl *tp, unsigned int pin, u32 *value)
{ … }
static void tng_update_bufcfg(struct tng_pinctrl *tp, unsigned int pin,
u32 bits, u32 mask)
{ … }
static int tng_get_groups_count(struct pinctrl_dev *pctldev)
{ … }
static const char *tng_get_group_name(struct pinctrl_dev *pctldev,
unsigned int group)
{ … }
static int tng_get_group_pins(struct pinctrl_dev *pctldev, unsigned int group,
const unsigned int **pins, unsigned int *npins)
{ … }
static void tng_pin_dbg_show(struct pinctrl_dev *pctldev, struct seq_file *s,
unsigned int pin)
{ … }
static const struct pinctrl_ops tng_pinctrl_ops = …;
static int tng_get_functions_count(struct pinctrl_dev *pctldev)
{ … }
static const char *tng_get_function_name(struct pinctrl_dev *pctldev,
unsigned int function)
{ … }
static int tng_get_function_groups(struct pinctrl_dev *pctldev,
unsigned int function,
const char * const **groups,
unsigned int * const ngroups)
{ … }
static int tng_pinmux_set_mux(struct pinctrl_dev *pctldev,
unsigned int function,
unsigned int group)
{ … }
static int tng_gpio_request_enable(struct pinctrl_dev *pctldev,
struct pinctrl_gpio_range *range,
unsigned int pin)
{ … }
static const struct pinmux_ops tng_pinmux_ops = …;
static int tng_config_get(struct pinctrl_dev *pctldev, unsigned int pin,
unsigned long *config)
{ … }
static int tng_config_set_pin(struct tng_pinctrl *tp, unsigned int pin,
unsigned long config)
{ … }
static int tng_config_set(struct pinctrl_dev *pctldev, unsigned int pin,
unsigned long *configs, unsigned int nconfigs)
{ … }
static int tng_config_group_get(struct pinctrl_dev *pctldev,
unsigned int group, unsigned long *config)
{ … }
static int tng_config_group_set(struct pinctrl_dev *pctldev,
unsigned int group, unsigned long *configs,
unsigned int num_configs)
{ … }
static const struct pinconf_ops tng_pinconf_ops = …;
static const struct pinctrl_desc tng_pinctrl_desc = …;
static int tng_pinctrl_probe(struct platform_device *pdev,
const struct tng_pinctrl *data)
{ … }
int devm_tng_pinctrl_probe(struct platform_device *pdev)
{ … }
EXPORT_SYMBOL_NS_GPL(…);
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;