#include <linux/device.h>
#include <linux/err.h>
#include <linux/errno.h>
#include <linux/module.h>
#include <linux/mod_devicetable.h>
#include <linux/of.h>
#include <linux/scmi_protocol.h>
#include <linux/seq_file.h>
#include <linux/slab.h>
#include <linux/types.h>
#include <linux/pinctrl/machine.h>
#include <linux/pinctrl/pinconf.h>
#include <linux/pinctrl/pinconf-generic.h>
#include <linux/pinctrl/pinctrl.h>
#include <linux/pinctrl/pinmux.h>
#include "../pinctrl-utils.h"
#include "../core.h"
#include "../pinconf.h"
#include "../pinmux.h"
#define DRV_NAME …
struct scmi_pinctrl_imx { … };
#define IMX_SCMI_NUM_CFG …
#define IMX_SCMI_PIN_MUX …
#define IMX_SCMI_PIN_CONFIG …
#define IMX_SCMI_PIN_DAISY_ID …
#define IMX_SCMI_PIN_DAISY_CFG …
#define IMX_SCMI_NO_PAD_CTL …
#define IMX_SCMI_PAD_SION …
#define IMX_SCMI_IOMUXC_CONFIG_SION …
#define IMX_SCMI_PIN_SIZE …
#define IMX95_DAISY_OFF …
static int pinctrl_scmi_imx_dt_node_to_map(struct pinctrl_dev *pctldev,
struct device_node *np,
struct pinctrl_map **map,
unsigned int *num_maps)
{ … }
static void pinctrl_scmi_imx_dt_free_map(struct pinctrl_dev *pctldev,
struct pinctrl_map *map, unsigned int num_maps)
{ … }
static const struct pinctrl_ops pinctrl_scmi_imx_pinctrl_ops = …;
static int pinctrl_scmi_imx_func_set_mux(struct pinctrl_dev *pctldev,
unsigned int selector, unsigned int group)
{ … }
static const struct pinmux_ops pinctrl_scmi_imx_pinmux_ops = …;
static int pinctrl_scmi_imx_pinconf_get(struct pinctrl_dev *pctldev,
unsigned int pin, unsigned long *config)
{ … }
static int pinctrl_scmi_imx_pinconf_set(struct pinctrl_dev *pctldev,
unsigned int pin,
unsigned long *configs,
unsigned int num_configs)
{ … }
static void pinctrl_scmi_imx_pinconf_dbg_show(struct pinctrl_dev *pctldev,
struct seq_file *s, unsigned int pin_id)
{ … }
static const struct pinconf_ops pinctrl_scmi_imx_pinconf_ops = …;
static int
scmi_pinctrl_imx_get_pins(struct scmi_pinctrl_imx *pmx, struct pinctrl_desc *desc)
{ … }
static const char * const scmi_pinctrl_imx_allowlist[] = …;
static int scmi_pinctrl_imx_probe(struct scmi_device *sdev)
{ … }
static const struct scmi_device_id scmi_id_table[] = …;
MODULE_DEVICE_TABLE(scmi, scmi_id_table);
static struct scmi_driver scmi_pinctrl_imx_driver = …;
module_scmi_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;