#include <linux/err.h>
#include <linux/io.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/pinctrl/pinconf-generic.h>
#include <linux/pinctrl/pinctrl.h>
#include <linux/pinctrl/pinmux.h>
#include <linux/platform_device.h>
#include <linux/property.h>
#include <linux/slab.h>
#include "../core.h"
#include "../pinmux.h"
#define FLAG_BCM4708 …
#define FLAG_BCM4709 …
#define FLAG_BCM53012 …
struct ns_pinctrl { … };
static const struct pinctrl_pin_desc ns_pinctrl_pins[] = …;
struct ns_pinctrl_group { … };
static unsigned int spi_pins[] = …;
static unsigned int i2c_pins[] = …;
static unsigned int mdio_pins[] = …;
static unsigned int pwm0_pins[] = …;
static unsigned int pwm1_pins[] = …;
static unsigned int pwm2_pins[] = …;
static unsigned int pwm3_pins[] = …;
static unsigned int uart1_pins[] = …;
static unsigned int uart2_pins[] = …;
static unsigned int sdio_pwr_pins[] = …;
static unsigned int sdio_1p8v_pins[] = …;
#define NS_GROUP(_name, _pins, _chipsets) …
static const struct ns_pinctrl_group ns_pinctrl_groups[] = …;
struct ns_pinctrl_function { … };
static const char * const spi_groups[] = …;
static const char * const i2c_groups[] = …;
static const char * const mdio_groups[] = …;
static const char * const pwm_groups[] = …;
static const char * const uart1_groups[] = …;
static const char * const uart2_groups[] = …;
static const char * const sdio_groups[] = …;
#define NS_FUNCTION(_name, _groups, _chipsets) …
static const struct ns_pinctrl_function ns_pinctrl_functions[] = …;
static const struct pinctrl_ops ns_pinctrl_ops = …;
static int ns_pinctrl_set_mux(struct pinctrl_dev *pctrl_dev,
unsigned int func_select,
unsigned int group_selector)
{ … }
static const struct pinmux_ops ns_pinctrl_pmxops = …;
static struct pinctrl_desc ns_pinctrl_desc = …;
static const struct of_device_id ns_pinctrl_of_match_table[] = …;
static int ns_pinctrl_probe(struct platform_device *pdev)
{ … }
static struct platform_driver ns_pinctrl_driver = …;
module_platform_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DEVICE_TABLE(of, ns_pinctrl_of_match_table);