#include <linux/bitfield.h>
#include <linux/framer/pef2256.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/pinctrl/pinctrl.h>
#include <linux/pinctrl/pinconf-generic.h>
#include <linux/pinctrl/pinmux.h>
#include <linux/platform_device.h>
#include <linux/regmap.h>
#include <linux/slab.h>
#define PEF2256_PC1 …
#define PEF2256_PC2 …
#define PEF2256_PC3 …
#define PEF2256_PC4 …
#define PEF2256_12_PC_RPC_MASK …
#define PEF2256_12_PC_RPC_SYPR …
#define PEF2256_12_PC_RPC_RFM …
#define PEF2256_12_PC_RPC_RFMB …
#define PEF2256_12_PC_RPC_RSIGM …
#define PEF2256_12_PC_RPC_RSIG …
#define PEF2256_12_PC_RPC_DLR …
#define PEF2256_12_PC_RPC_FREEZE …
#define PEF2256_12_PC_RPC_RFSP …
#define PEF2256_12_PC_XPC_MASK …
#define PEF2256_12_PC_XPC_SYPX …
#define PEF2256_12_PC_XPC_XFMS …
#define PEF2256_12_PC_XPC_XSIG …
#define PEF2256_12_PC_XPC_TCLK …
#define PEF2256_12_PC_XPC_XMFB …
#define PEF2256_12_PC_XPC_XSIGM …
#define PEF2256_12_PC_XPC_DLX …
#define PEF2256_12_PC_XPC_XCLK …
#define PEF2256_12_PC_XPC_XLT …
#define PEF2256_2X_PC_RPC_MASK …
#define PEF2256_2X_PC_RPC_SYPR …
#define PEF2256_2X_PC_RPC_RFM …
#define PEF2256_2X_PC_RPC_RFMB …
#define PEF2256_2X_PC_RPC_RSIGM …
#define PEF2256_2X_PC_RPC_RSIG …
#define PEF2256_2X_PC_RPC_DLR …
#define PEF2256_2X_PC_RPC_FREEZE …
#define PEF2256_2X_PC_RPC_RFSP …
#define PEF2256_2X_PC_RPC_GPI …
#define PEF2256_2X_PC_RPC_GPOH …
#define PEF2256_2X_PC_RPC_GPOL …
#define PEF2256_2X_PC_RPC_LOS …
#define PEF2256_2X_PC_XPC_MASK …
#define PEF2256_2X_PC_XPC_SYPX …
#define PEF2256_2X_PC_XPC_XFMS …
#define PEF2256_2X_PC_XPC_XSIG …
#define PEF2256_2X_PC_XPC_TCLK …
#define PEF2256_2X_PC_XPC_XMFB …
#define PEF2256_2X_PC_XPC_XSIGM …
#define PEF2256_2X_PC_XPC_DLX …
#define PEF2256_2X_PC_XPC_XCLK …
#define PEF2256_2X_PC_XPC_XLT …
#define PEF2256_2X_PC_XPC_GPI …
#define PEF2256_2X_PC_XPC_GPOH …
#define PEF2256_2X_PC_XPC_GPOL …
struct pef2256_pinreg_desc { … };
struct pef2256_function_desc { … };
struct pef2256_pinctrl { … };
static int pef2256_get_groups_count(struct pinctrl_dev *pctldev)
{ … }
static const char *pef2256_get_group_name(struct pinctrl_dev *pctldev,
unsigned int selector)
{ … }
static int pef2256_get_group_pins(struct pinctrl_dev *pctldev, unsigned int selector,
const unsigned int **pins,
unsigned int *num_pins)
{ … }
static const struct pinctrl_ops pef2256_pctlops = …;
static int pef2256_get_functions_count(struct pinctrl_dev *pctldev)
{ … }
static const char *pef2256_get_function_name(struct pinctrl_dev *pctldev,
unsigned int selector)
{ … }
static int pef2256_get_function_groups(struct pinctrl_dev *pctldev, unsigned int selector,
const char * const **groups,
unsigned * const num_groups)
{ … }
static int pef2256_set_mux(struct pinctrl_dev *pctldev, unsigned int func_selector,
unsigned int group_selector)
{ … }
static const struct pinmux_ops pef2256_pmxops = …;
#define PEF2256_PINCTRL_PIN(_number, _name, _offset, _mask) …
static const struct pinctrl_pin_desc pef2256_v12_pins[] = …;
static const struct pinctrl_pin_desc pef2256_v2x_pins[] = …;
static const char *const pef2256_rp_groups[] = …;
static const char *const pef2256_xp_groups[] = …;
static const char *const pef2256_all_groups[] = …;
#define PEF2256_FUNCTION(_name, _func_val, _groups) …
static const struct pef2256_function_desc pef2256_v2x_functions[] = …;
static const struct pef2256_function_desc pef2256_v12_functions[] = …;
static int pef2256_register_pinctrl(struct pef2256_pinctrl *pef2256)
{ … }
static void pef2256_reset_pinmux(struct pef2256_pinctrl *pef2256)
{ … }
static int pef2256_pinctrl_probe(struct platform_device *pdev)
{ … }
static struct platform_driver pef2256_pinctrl_driver = …;
module_platform_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;