Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions drivers/pinctrl/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -271,7 +271,7 @@ config PINCTRL_INGENIC

config PINCTRL_K210
bool "Pinctrl driver for the Canaan Kendryte K210 SoC"
depends on RISCV && SOC_CANAAN_K210 && OF
depends on RISCV && SOC_CANAAN_K210 && OF || COMPILE_TEST
select GENERIC_PINMUX_FUNCTIONS
select GENERIC_PINCONF
select GPIOLIB
Expand Down Expand Up @@ -556,8 +556,8 @@ config PINCTRL_SX150X
- 16 bits: sx1509q, sx1506q

config PINCTRL_TB10X
bool
depends on OF && ARC_PLAT_TB10X
bool "Pinctrl for TB10X" if COMPILE_TEST
depends on OF && ARC_PLAT_TB10X || COMPILE_TEST
select GPIOLIB

config PINCTRL_TPS6594
Expand Down Expand Up @@ -592,7 +592,7 @@ config PINCTRL_TH1520

config PINCTRL_ZYNQ
bool "Pinctrl driver for Xilinx Zynq"
depends on ARCH_ZYNQ
depends on ARCH_ZYNQ || COMPILE_TEST
select PINMUX
select GENERIC_PINCONF
help
Expand Down
2 changes: 1 addition & 1 deletion drivers/pinctrl/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ obj-y += sophgo/
obj-y += spacemit/
obj-$(CONFIG_PINCTRL_SPEAR) += spear/
obj-y += sprd/
obj-$(CONFIG_SOC_STARFIVE) += starfive/
obj-y += starfive/
obj-$(CONFIG_PINCTRL_STM32) += stm32/
obj-y += sunplus/
obj-$(CONFIG_PINCTRL_SUNXI) += sunxi/
Expand Down
2 changes: 1 addition & 1 deletion drivers/pinctrl/aspeed/pinctrl-aspeed-g4.c
Original file line number Diff line number Diff line change
Expand Up @@ -2653,7 +2653,7 @@ static const struct pinconf_ops aspeed_g4_conf_ops = {
.pin_config_group_set = aspeed_pin_config_group_set,
};

static struct pinctrl_desc aspeed_g4_pinctrl_desc = {
static const struct pinctrl_desc aspeed_g4_pinctrl_desc = {
.name = "aspeed-g4-pinctrl",
.pins = aspeed_g4_pins,
.npins = ARRAY_SIZE(aspeed_g4_pins),
Expand Down
2 changes: 1 addition & 1 deletion drivers/pinctrl/aspeed/pinctrl-aspeed-g5.c
Original file line number Diff line number Diff line change
Expand Up @@ -2845,7 +2845,7 @@ static const struct pinconf_ops aspeed_g5_conf_ops = {
.pin_config_group_set = aspeed_pin_config_group_set,
};

static struct pinctrl_desc aspeed_g5_pinctrl_desc = {
static const struct pinctrl_desc aspeed_g5_pinctrl_desc = {
.name = "aspeed-g5-pinctrl",
.pins = aspeed_g5_pins,
.npins = ARRAY_SIZE(aspeed_g5_pins),
Expand Down
2 changes: 1 addition & 1 deletion drivers/pinctrl/aspeed/pinctrl-aspeed-g6.c
Original file line number Diff line number Diff line change
Expand Up @@ -2763,7 +2763,7 @@ static const struct pinconf_ops aspeed_g6_conf_ops = {
.pin_config_group_set = aspeed_pin_config_group_set,
};

static struct pinctrl_desc aspeed_g6_pinctrl_desc = {
static const struct pinctrl_desc aspeed_g6_pinctrl_desc = {
.name = "aspeed-g6-pinctrl",
.pins = aspeed_g6_pins,
.npins = ARRAY_SIZE(aspeed_g6_pins),
Expand Down
2 changes: 1 addition & 1 deletion drivers/pinctrl/aspeed/pinctrl-aspeed.c
Original file line number Diff line number Diff line change
Expand Up @@ -441,7 +441,7 @@ int aspeed_gpio_request_enable(struct pinctrl_dev *pctldev,
}

int aspeed_pinctrl_probe(struct platform_device *pdev,
struct pinctrl_desc *pdesc,
const struct pinctrl_desc *pdesc,
struct aspeed_pinctrl_data *pdata)
{
struct device *parent;
Expand Down
2 changes: 1 addition & 1 deletion drivers/pinctrl/aspeed/pinctrl-aspeed.h
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ int aspeed_gpio_request_enable(struct pinctrl_dev *pctldev,
struct pinctrl_gpio_range *range,
unsigned int offset);
int aspeed_pinctrl_probe(struct platform_device *pdev,
struct pinctrl_desc *pdesc,
const struct pinctrl_desc *pdesc,
struct aspeed_pinctrl_data *pdata);
int aspeed_pin_config_get(struct pinctrl_dev *pctldev, unsigned int offset,
unsigned long *config);
Expand Down
2 changes: 1 addition & 1 deletion drivers/pinctrl/bcm/pinctrl-bcm4908.c
Original file line number Diff line number Diff line change
Expand Up @@ -456,7 +456,7 @@ static const struct pinmux_ops bcm4908_pinctrl_pmxops = {
* Controller code
*/

static struct pinctrl_desc bcm4908_pinctrl_desc = {
static const struct pinctrl_desc bcm4908_pinctrl_desc = {
.name = "bcm4908-pinctrl",
.pctlops = &bcm4908_pinctrl_ops,
.pmxops = &bcm4908_pinctrl_pmxops,
Expand Down
8 changes: 4 additions & 4 deletions drivers/pinctrl/bcm/pinctrl-cygnus-mux.c
Original file line number Diff line number Diff line change
Expand Up @@ -903,6 +903,7 @@ static struct pinctrl_desc cygnus_pinctrl_desc = {
.name = "cygnus-pinmux",
.pctlops = &cygnus_pinctrl_ops,
.pmxops = &cygnus_pinmux_ops,
.npins = ARRAY_SIZE(cygnus_pins),
};

static int cygnus_mux_log_init(struct cygnus_pinctrl *pinctrl)
Expand Down Expand Up @@ -935,7 +936,6 @@ static int cygnus_pinmux_probe(struct platform_device *pdev)
struct cygnus_pinctrl *pinctrl;
int i, ret;
struct pinctrl_pin_desc *pins;
unsigned num_pins = ARRAY_SIZE(cygnus_pins);

pinctrl = devm_kzalloc(&pdev->dev, sizeof(*pinctrl), GFP_KERNEL);
if (!pinctrl)
Expand Down Expand Up @@ -963,11 +963,12 @@ static int cygnus_pinmux_probe(struct platform_device *pdev)
return ret;
}

pins = devm_kcalloc(&pdev->dev, num_pins, sizeof(*pins), GFP_KERNEL);
pins = devm_kcalloc(&pdev->dev, ARRAY_SIZE(cygnus_pins), sizeof(*pins),
GFP_KERNEL);
if (!pins)
return -ENOMEM;

for (i = 0; i < num_pins; i++) {
for (i = 0; i < ARRAY_SIZE(cygnus_pins); i++) {
pins[i].number = cygnus_pins[i].pin;
pins[i].name = cygnus_pins[i].name;
pins[i].drv_data = &cygnus_pins[i].gpio_mux;
Expand All @@ -978,7 +979,6 @@ static int cygnus_pinmux_probe(struct platform_device *pdev)
pinctrl->functions = cygnus_pin_functions;
pinctrl->num_functions = ARRAY_SIZE(cygnus_pin_functions);
cygnus_pinctrl_desc.pins = pins;
cygnus_pinctrl_desc.npins = num_pins;

pinctrl->pctl = devm_pinctrl_register(&pdev->dev, &cygnus_pinctrl_desc,
pinctrl);
Expand Down
2 changes: 1 addition & 1 deletion drivers/pinctrl/bcm/pinctrl-ns.c
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,7 @@ static const struct pinmux_ops ns_pinctrl_pmxops = {
* Controller code
*/

static struct pinctrl_desc ns_pinctrl_desc = {
static const struct pinctrl_desc ns_pinctrl_desc = {
.name = "pinctrl-ns",
.pctlops = &ns_pinctrl_ops,
.pmxops = &ns_pinctrl_pmxops,
Expand Down
8 changes: 4 additions & 4 deletions drivers/pinctrl/bcm/pinctrl-ns2-mux.c
Original file line number Diff line number Diff line change
Expand Up @@ -971,6 +971,7 @@ static struct pinctrl_desc ns2_pinctrl_desc = {
.pctlops = &ns2_pinctrl_ops,
.pmxops = &ns2_pinmux_ops,
.confops = &ns2_pinconf_ops,
.npins = ARRAY_SIZE(ns2_pins),
};

static int ns2_mux_log_init(struct ns2_pinctrl *pinctrl)
Expand Down Expand Up @@ -1026,7 +1027,6 @@ static int ns2_pinmux_probe(struct platform_device *pdev)
struct resource *res;
int i, ret;
struct pinctrl_pin_desc *pins;
unsigned int num_pins = ARRAY_SIZE(ns2_pins);

pinctrl = devm_kzalloc(&pdev->dev, sizeof(*pinctrl), GFP_KERNEL);
if (!pinctrl)
Expand Down Expand Up @@ -1060,11 +1060,12 @@ static int ns2_pinmux_probe(struct platform_device *pdev)
return ret;
}

pins = devm_kcalloc(&pdev->dev, num_pins, sizeof(*pins), GFP_KERNEL);
pins = devm_kcalloc(&pdev->dev, ARRAY_SIZE(ns2_pins), sizeof(*pins),
GFP_KERNEL);
if (!pins)
return -ENOMEM;

for (i = 0; i < num_pins; i++) {
for (i = 0; i < ARRAY_SIZE(ns2_pins); i++) {
pins[i].number = ns2_pins[i].pin;
pins[i].name = ns2_pins[i].name;
pins[i].drv_data = &ns2_pins[i];
Expand All @@ -1075,7 +1076,6 @@ static int ns2_pinmux_probe(struct platform_device *pdev)
pinctrl->functions = ns2_pin_functions;
pinctrl->num_functions = ARRAY_SIZE(ns2_pin_functions);
ns2_pinctrl_desc.pins = pins;
ns2_pinctrl_desc.npins = num_pins;

pinctrl->pctl = pinctrl_register(&ns2_pinctrl_desc, &pdev->dev,
pinctrl);
Expand Down
8 changes: 4 additions & 4 deletions drivers/pinctrl/bcm/pinctrl-nsp-mux.c
Original file line number Diff line number Diff line change
Expand Up @@ -525,6 +525,7 @@ static struct pinctrl_desc nsp_pinctrl_desc = {
.name = "nsp-pinmux",
.pctlops = &nsp_pinctrl_ops,
.pmxops = &nsp_pinmux_ops,
.npins = ARRAY_SIZE(nsp_pins),
};

static int nsp_mux_log_init(struct nsp_pinctrl *pinctrl)
Expand Down Expand Up @@ -556,7 +557,6 @@ static int nsp_pinmux_probe(struct platform_device *pdev)
struct resource *res;
int i, ret;
struct pinctrl_pin_desc *pins;
unsigned int num_pins = ARRAY_SIZE(nsp_pins);

pinctrl = devm_kzalloc(&pdev->dev, sizeof(*pinctrl), GFP_KERNEL);
if (!pinctrl)
Expand Down Expand Up @@ -589,11 +589,12 @@ static int nsp_pinmux_probe(struct platform_device *pdev)
return ret;
}

pins = devm_kcalloc(&pdev->dev, num_pins, sizeof(*pins), GFP_KERNEL);
pins = devm_kcalloc(&pdev->dev, ARRAY_SIZE(nsp_pins), sizeof(*pins),
GFP_KERNEL);
if (!pins)
return -ENOMEM;

for (i = 0; i < num_pins; i++) {
for (i = 0; i < ARRAY_SIZE(nsp_pins); i++) {
pins[i].number = nsp_pins[i].pin;
pins[i].name = nsp_pins[i].name;
pins[i].drv_data = &nsp_pins[i].gpio_select;
Expand All @@ -604,7 +605,6 @@ static int nsp_pinmux_probe(struct platform_device *pdev)
pinctrl->functions = nsp_pin_functions;
pinctrl->num_functions = ARRAY_SIZE(nsp_pin_functions);
nsp_pinctrl_desc.pins = pins;
nsp_pinctrl_desc.npins = num_pins;

pinctrl->pctl = devm_pinctrl_register(&pdev->dev, &nsp_pinctrl_desc,
pinctrl);
Expand Down
2 changes: 1 addition & 1 deletion drivers/pinctrl/berlin/berlin.c
Original file line number Diff line number Diff line change
Expand Up @@ -283,7 +283,7 @@ static int berlin_pinctrl_build_state(struct platform_device *pdev)
return 0;
}

static struct pinctrl_desc berlin_pctrl_desc = {
static const struct pinctrl_desc berlin_pctrl_desc = {
.name = "berlin-pinctrl",
.pctlops = &berlin_pinctrl_ops,
.pmxops = &berlin_pinmux_ops,
Expand Down
2 changes: 1 addition & 1 deletion drivers/pinctrl/cirrus/pinctrl-cs42l43.c
Original file line number Diff line number Diff line change
Expand Up @@ -448,7 +448,7 @@ static const struct pinconf_ops cs42l43_pin_conf_ops = {
.pin_config_group_set = cs42l43_pin_config_group_set,
};

static struct pinctrl_desc cs42l43_pin_desc = {
static const struct pinctrl_desc cs42l43_pin_desc = {
.name = "cs42l43-pinctrl",
.owner = THIS_MODULE,

Expand Down
13 changes: 7 additions & 6 deletions drivers/pinctrl/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -2033,7 +2033,7 @@ static int pinctrl_check_ops(struct pinctrl_dev *pctldev)
* @driver_data: private pin controller data for this pin controller
*/
static struct pinctrl_dev *
pinctrl_init_controller(struct pinctrl_desc *pctldesc, struct device *dev,
pinctrl_init_controller(const struct pinctrl_desc *pctldesc, struct device *dev,
void *driver_data)
{
struct pinctrl_dev *pctldev;
Expand Down Expand Up @@ -2103,7 +2103,8 @@ pinctrl_init_controller(struct pinctrl_desc *pctldesc, struct device *dev,
return ERR_PTR(ret);
}

static void pinctrl_uninit_controller(struct pinctrl_dev *pctldev, struct pinctrl_desc *pctldesc)
static void pinctrl_uninit_controller(struct pinctrl_dev *pctldev,
const struct pinctrl_desc *pctldesc)
{
pinctrl_free_pindescs(pctldev, pctldesc->pins,
pctldesc->npins);
Expand Down Expand Up @@ -2180,7 +2181,7 @@ EXPORT_SYMBOL_GPL(pinctrl_enable);
* struct pinctrl_dev handle. To avoid issues later on, please use the
* new pinctrl_register_and_init() below instead.
*/
struct pinctrl_dev *pinctrl_register(struct pinctrl_desc *pctldesc,
struct pinctrl_dev *pinctrl_register(const struct pinctrl_desc *pctldesc,
struct device *dev, void *driver_data)
{
struct pinctrl_dev *pctldev;
Expand Down Expand Up @@ -2210,7 +2211,7 @@ EXPORT_SYMBOL_GPL(pinctrl_register);
* Note that pinctrl_enable() still needs to be manually called after
* this once the driver is ready.
*/
int pinctrl_register_and_init(struct pinctrl_desc *pctldesc,
int pinctrl_register_and_init(const struct pinctrl_desc *pctldesc,
struct device *dev, void *driver_data,
struct pinctrl_dev **pctldev)
{
Expand Down Expand Up @@ -2301,7 +2302,7 @@ static int devm_pinctrl_dev_match(struct device *dev, void *res, void *data)
* The pinctrl device will be automatically released when the device is unbound.
*/
struct pinctrl_dev *devm_pinctrl_register(struct device *dev,
struct pinctrl_desc *pctldesc,
const struct pinctrl_desc *pctldesc,
void *driver_data)
{
struct pinctrl_dev **ptr, *pctldev;
Expand Down Expand Up @@ -2335,7 +2336,7 @@ EXPORT_SYMBOL_GPL(devm_pinctrl_register);
* The pinctrl device will be automatically released when the device is unbound.
*/
int devm_pinctrl_register_and_init(struct device *dev,
struct pinctrl_desc *pctldesc,
const struct pinctrl_desc *pctldesc,
void *driver_data,
struct pinctrl_dev **pctldev)
{
Expand Down
2 changes: 1 addition & 1 deletion drivers/pinctrl/core.h
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ struct pinctrl_state;
*/
struct pinctrl_dev {
struct list_head node;
struct pinctrl_desc *desc;
const struct pinctrl_desc *desc;
struct radix_tree_root pin_desc_tree;
#ifdef CONFIG_GENERIC_PINCTRL_GROUPS
struct radix_tree_root pin_group_tree;
Expand Down
2 changes: 1 addition & 1 deletion drivers/pinctrl/mediatek/pinctrl-airoha.c
Original file line number Diff line number Diff line change
Expand Up @@ -2855,7 +2855,7 @@ static const struct pinctrl_ops airoha_pctlops = {
.dt_free_map = pinconf_generic_dt_free_map,
};

static struct pinctrl_desc airoha_pinctrl_desc = {
static const struct pinctrl_desc airoha_pinctrl_desc = {
.name = KBUILD_MODNAME,
.owner = THIS_MODULE,
.pctlops = &airoha_pctlops,
Expand Down
2 changes: 1 addition & 1 deletion drivers/pinctrl/nuvoton/pinctrl-npcm7xx.c
Original file line number Diff line number Diff line change
Expand Up @@ -1817,7 +1817,7 @@ static const struct pinconf_ops npcm7xx_pinconf_ops = {
};

/* pinctrl_desc */
static struct pinctrl_desc npcm7xx_pinctrl_desc = {
static const struct pinctrl_desc npcm7xx_pinctrl_desc = {
.name = "npcm7xx-pinctrl",
.pins = npcm7xx_pins,
.npins = ARRAY_SIZE(npcm7xx_pins),
Expand Down
2 changes: 1 addition & 1 deletion drivers/pinctrl/nuvoton/pinctrl-npcm8xx.c
Original file line number Diff line number Diff line change
Expand Up @@ -2299,7 +2299,7 @@ static const struct pinconf_ops npcm8xx_pinconf_ops = {
};

/* pinctrl_desc */
static struct pinctrl_desc npcm8xx_pinctrl_desc = {
static const struct pinctrl_desc npcm8xx_pinctrl_desc = {
.name = "npcm8xx-pinctrl",
.pins = npcm8xx_pins,
.npins = ARRAY_SIZE(npcm8xx_pins),
Expand Down
2 changes: 1 addition & 1 deletion drivers/pinctrl/nuvoton/pinctrl-wpcm450.c
Original file line number Diff line number Diff line change
Expand Up @@ -989,7 +989,7 @@ static const struct pinconf_ops wpcm450_pinconf_ops = {
.pin_config_set = wpcm450_config_set,
};

static struct pinctrl_desc wpcm450_pinctrl_desc = {
static const struct pinctrl_desc wpcm450_pinctrl_desc = {
.name = "wpcm450-pinctrl",
.pins = wpcm450_pins,
.npins = ARRAY_SIZE(wpcm450_pins),
Expand Down
8 changes: 4 additions & 4 deletions drivers/pinctrl/pinctrl-amd.c
Original file line number Diff line number Diff line change
Expand Up @@ -869,7 +869,7 @@ static const struct pinconf_ops amd_pinconf_ops = {

static void amd_gpio_irq_init(struct amd_gpio *gpio_dev)
{
struct pinctrl_desc *desc = gpio_dev->pctrl->desc;
const struct pinctrl_desc *desc = gpio_dev->pctrl->desc;
unsigned long flags;
u32 pin_reg, mask;
int i;
Expand Down Expand Up @@ -898,7 +898,7 @@ static void amd_gpio_irq_init(struct amd_gpio *gpio_dev)
static void amd_gpio_check_pending(void)
{
struct amd_gpio *gpio_dev = pinctrl_dev;
struct pinctrl_desc *desc = gpio_dev->pctrl->desc;
const struct pinctrl_desc *desc = gpio_dev->pctrl->desc;
int i;

if (!pm_debug_messages_on)
Expand Down Expand Up @@ -954,7 +954,7 @@ static bool amd_gpio_should_save(struct amd_gpio *gpio_dev, unsigned int pin)
static int amd_gpio_suspend_hibernate_common(struct device *dev, bool is_suspend)
{
struct amd_gpio *gpio_dev = dev_get_drvdata(dev);
struct pinctrl_desc *desc = gpio_dev->pctrl->desc;
const struct pinctrl_desc *desc = gpio_dev->pctrl->desc;
unsigned long flags;
int i;
u32 wake_mask = is_suspend ? WAKE_SOURCE_SUSPEND : WAKE_SOURCE_HIBERNATE;
Expand Down Expand Up @@ -998,7 +998,7 @@ static int amd_gpio_hibernate(struct device *dev)
static int amd_gpio_resume(struct device *dev)
{
struct amd_gpio *gpio_dev = dev_get_drvdata(dev);
struct pinctrl_desc *desc = gpio_dev->pctrl->desc;
const struct pinctrl_desc *desc = gpio_dev->pctrl->desc;
unsigned long flags;
int i;

Expand Down
2 changes: 1 addition & 1 deletion drivers/pinctrl/pinctrl-artpec6.c
Original file line number Diff line number Diff line change
Expand Up @@ -907,7 +907,7 @@ static const struct pinconf_ops artpec6_pconf_ops = {
.pin_config_group_set = artpec6_pconf_group_set,
};

static struct pinctrl_desc artpec6_desc = {
static const struct pinctrl_desc artpec6_desc = {
.name = "artpec6-pinctrl",
.owner = THIS_MODULE,
.pins = artpec6_pins,
Expand Down
4 changes: 2 additions & 2 deletions drivers/pinctrl/pinctrl-as3722.c
Original file line number Diff line number Diff line change
Expand Up @@ -422,6 +422,8 @@ static struct pinctrl_desc as3722_pinctrl_desc = {
.pmxops = &as3722_pinmux_ops,
.confops = &as3722_pinconf_ops,
.owner = THIS_MODULE,
.pins = as3722_pins_desc,
.npins = ARRAY_SIZE(as3722_pins_desc),
};

static int as3722_gpio_get(struct gpio_chip *chip, unsigned offset)
Expand Down Expand Up @@ -550,8 +552,6 @@ static int as3722_pinctrl_probe(struct platform_device *pdev)
as_pci->pin_groups = as3722_pingroups;
as_pci->num_pin_groups = ARRAY_SIZE(as3722_pingroups);
as3722_pinctrl_desc.name = dev_name(&pdev->dev);
as3722_pinctrl_desc.pins = as3722_pins_desc;
as3722_pinctrl_desc.npins = ARRAY_SIZE(as3722_pins_desc);
as_pci->pctl = devm_pinctrl_register(&pdev->dev, &as3722_pinctrl_desc,
as_pci);
if (IS_ERR(as_pci->pctl)) {
Expand Down
Loading
Loading