sh-pfc: Replace SoC info data and mark ranges with a number of pins
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Thu, 29 Nov 2012 11:24:51 +0000 (12:24 +0100)
committerLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Fri, 15 Mar 2013 12:33:37 +0000 (13:33 +0100)
The data and mark ranges are only used to check whether a GPIO
corresponds to a real pin or a function. As pins come first in the list
of GPIOs and in the platform-specific GPIO enumerations, we can replace
the data and mark ranges by a number of pins.

Add an nr_pins field to struct sh_pfc_soc_info to store the number of
pins implemented by the SoC, remove the data and mark range fields and
introduce sh_pfc_gpio_is_pin() and sh_pfc_gpio_is_function() functions
to replace range-based checks.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
18 files changed:
drivers/pinctrl/sh-pfc/core.c
drivers/pinctrl/sh-pfc/pfc-r8a7740.c
drivers/pinctrl/sh-pfc/pfc-r8a7779.c
drivers/pinctrl/sh-pfc/pfc-sh7203.c
drivers/pinctrl/sh-pfc/pfc-sh7264.c
drivers/pinctrl/sh-pfc/pfc-sh7269.c
drivers/pinctrl/sh-pfc/pfc-sh7372.c
drivers/pinctrl/sh-pfc/pfc-sh73a0.c
drivers/pinctrl/sh-pfc/pfc-sh7720.c
drivers/pinctrl/sh-pfc/pfc-sh7722.c
drivers/pinctrl/sh-pfc/pfc-sh7723.c
drivers/pinctrl/sh-pfc/pfc-sh7724.c
drivers/pinctrl/sh-pfc/pfc-sh7734.c
drivers/pinctrl/sh-pfc/pfc-sh7757.c
drivers/pinctrl/sh-pfc/pfc-sh7785.c
drivers/pinctrl/sh-pfc/pfc-sh7786.c
drivers/pinctrl/sh-pfc/pfc-shx3.c
drivers/pinctrl/sh-pfc/sh_pfc.h

index 1b86a906a97b1f16fa0295a03184757874aef15e..e7ad0d93fed494954d01aba48c21796f303a8338 100644 (file)
@@ -89,6 +89,18 @@ static int sh_pfc_enum_in_range(pinmux_enum_t enum_id, struct pinmux_range *r)
        return 1;
 }
 
+static bool sh_pfc_gpio_is_pin(struct sh_pfc *pfc, unsigned int gpio)
+{
+       return (gpio < pfc->info->nr_pins) &&
+              (pfc->info->gpios[gpio].enum_id != 0);
+}
+
+static bool sh_pfc_gpio_is_function(struct sh_pfc *pfc, unsigned int gpio)
+{
+       return (gpio >= pfc->info->nr_pins) && (gpio < pfc->info->nr_gpios) &&
+              (pfc->info->gpios[gpio].enum_id != 0);
+}
+
 static unsigned long sh_pfc_read_raw_reg(void __iomem *mapped_reg,
                                         unsigned long reg_width)
 {
@@ -226,7 +238,7 @@ static int sh_pfc_setup_data_reg(struct sh_pfc *pfc, unsigned gpio)
        struct pinmux_data_reg *data_reg;
        int k, n;
 
-       if (!sh_pfc_enum_in_range(gpiop->enum_id, &pfc->info->data))
+       if (!sh_pfc_gpio_is_pin(pfc, gpio))
                return -1;
 
        k = 0;
@@ -260,7 +272,7 @@ static void sh_pfc_setup_data_regs(struct sh_pfc *pfc)
        struct pinmux_data_reg *drp;
        int k;
 
-       for (k = 0; k < pfc->info->nr_gpios; k++)
+       for (k = 0; k < pfc->info->nr_pins; k++)
                sh_pfc_setup_data_reg(pfc, k);
 
        k = 0;
@@ -282,7 +294,7 @@ int sh_pfc_get_data_reg(struct sh_pfc *pfc, unsigned gpio,
        struct pinmux_gpio *gpiop = &pfc->info->gpios[gpio];
        int k, n;
 
-       if (!sh_pfc_enum_in_range(gpiop->enum_id, &pfc->info->data))
+       if (!sh_pfc_gpio_is_pin(pfc, gpio))
                return -1;
 
        k = (gpiop->flags & PINMUX_FLAG_DREG) >> PINMUX_FLAG_DREG_SHIFT;
@@ -344,11 +356,10 @@ int sh_pfc_gpio_to_enum(struct sh_pfc *pfc, unsigned gpio, int pos,
        pinmux_enum_t *data = pfc->info->gpio_data;
        int k;
 
-       if (!sh_pfc_enum_in_range(enum_id, &pfc->info->data)) {
-               if (!sh_pfc_enum_in_range(enum_id, &pfc->info->mark)) {
-                       pr_err("non data/mark enum_id for gpio %d\n", gpio);
-                       return -1;
-               }
+       if (!sh_pfc_gpio_is_pin(pfc, gpio) &&
+           !sh_pfc_gpio_is_function(pfc, gpio)) {
+               pr_err("non data/mark enum_id for gpio %d\n", gpio);
+               return -1;
        }
 
        if (pos) {
index c189a86fe8d3f3adc0d1e3b9377a5d40d74954b4..f1ef9f77dd83cb5a29b792b1ad4ddd1aa4151057 100644 (file)
@@ -2582,8 +2582,6 @@ static struct pinmux_irq pinmux_irqs[] = {
 struct sh_pfc_soc_info r8a7740_pinmux_info = {
        .name           = "r8a7740_pfc",
        .reserved_id    = PINMUX_RESERVED,
-       .data           = { PINMUX_DATA_BEGIN,
-                           PINMUX_DATA_END },
        .input          = { PINMUX_INPUT_BEGIN,
                            PINMUX_INPUT_END },
        .input_pu       = { PINMUX_INPUT_PULLUP_BEGIN,
@@ -2592,12 +2590,11 @@ struct sh_pfc_soc_info r8a7740_pinmux_info = {
                            PINMUX_INPUT_PULLDOWN_END },
        .output         = { PINMUX_OUTPUT_BEGIN,
                            PINMUX_OUTPUT_END },
-       .mark           = { PINMUX_MARK_BEGIN,
-                           PINMUX_MARK_END },
        .function       = { PINMUX_FUNCTION_BEGIN,
                            PINMUX_FUNCTION_END },
 
        .gpios          = pinmux_gpios,
+       .nr_pins        = GPIO_PORT211 + 1,
        .nr_gpios       = ARRAY_SIZE(pinmux_gpios),
 
        .cfg_regs       = pinmux_config_regs,
index 16ec97a31b38387bbe92177d9dfab13758552900..c8018ce0e894ebe31c03e4dbca3ab0110b51df8e 100644 (file)
@@ -2606,13 +2606,12 @@ struct sh_pfc_soc_info r8a7779_pinmux_info = {
        .unlock_reg = 0xfffc0000, /* PMMR */
 
        .reserved_id = PINMUX_RESERVED,
-       .data = { PINMUX_DATA_BEGIN, PINMUX_DATA_END },
        .input = { PINMUX_INPUT_BEGIN, PINMUX_INPUT_END },
        .output = { PINMUX_OUTPUT_BEGIN, PINMUX_OUTPUT_END },
-       .mark = { PINMUX_MARK_BEGIN, PINMUX_MARK_END },
        .function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END },
 
        .gpios = pinmux_gpios,
+       .nr_pins = GPIO_GP_6_8 + 1,
        .nr_gpios = ARRAY_SIZE(pinmux_gpios),
 
        .cfg_regs = pinmux_config_regs,
index 6cc67017e8febed58cb18bceffed8280275ec9c3..07377e4920a3007113bbac7749fc6b122fe8c5b5 100644 (file)
@@ -1574,13 +1574,12 @@ static struct pinmux_data_reg pinmux_data_regs[] = {
 struct sh_pfc_soc_info sh7203_pinmux_info = {
        .name = "sh7203_pfc",
        .reserved_id = PINMUX_RESERVED,
-       .data = { PINMUX_DATA_BEGIN, PINMUX_DATA_END },
        .input = { PINMUX_INPUT_BEGIN, PINMUX_INPUT_END, FORCE_IN },
        .output = { PINMUX_OUTPUT_BEGIN, PINMUX_OUTPUT_END, FORCE_OUT },
-       .mark = { PINMUX_MARK_BEGIN, PINMUX_MARK_END },
        .function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END },
 
        .gpios = pinmux_gpios,
+       .nr_pins = GPIO_PF0 + 1,
        .nr_gpios = ARRAY_SIZE(pinmux_gpios),
 
        .cfg_regs = pinmux_config_regs,
index c2ecc65ff25293f651619850d4bd8c2a16f6657f..21b5899f32cbcb02f13b2ab9c70564ae14a096cf 100644 (file)
@@ -2113,13 +2113,12 @@ static struct pinmux_data_reg pinmux_data_regs[] = {
 struct sh_pfc_soc_info sh7264_pinmux_info = {
        .name = "sh7264_pfc",
        .reserved_id = PINMUX_RESERVED,
-       .data = { PINMUX_DATA_BEGIN, PINMUX_DATA_END },
        .input = { PINMUX_INPUT_BEGIN, PINMUX_INPUT_END, FORCE_IN },
        .output = { PINMUX_OUTPUT_BEGIN, PINMUX_OUTPUT_END, FORCE_OUT },
-       .mark = { PINMUX_MARK_BEGIN, PINMUX_MARK_END },
        .function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END },
 
        .gpios = pinmux_gpios,
+       .nr_pins = GPIO_PK0 + 1,
        .nr_gpios = ARRAY_SIZE(pinmux_gpios),
 
        .cfg_regs = pinmux_config_regs,
index 2013f4fa24f2f7fdf9261609a77c66e87178bdf1..b722de1e7b28998d895e7ad65bc9b51ecec11b42 100644 (file)
@@ -2816,13 +2816,12 @@ static struct pinmux_data_reg pinmux_data_regs[] = {
 struct sh_pfc_soc_info sh7269_pinmux_info = {
        .name = "sh7269_pfc",
        .reserved_id = PINMUX_RESERVED,
-       .data = { PINMUX_DATA_BEGIN, PINMUX_DATA_END },
        .input = { PINMUX_INPUT_BEGIN, PINMUX_INPUT_END, FORCE_IN },
        .output = { PINMUX_OUTPUT_BEGIN, PINMUX_OUTPUT_END, FORCE_OUT },
-       .mark = { PINMUX_MARK_BEGIN, PINMUX_MARK_END },
        .function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END },
 
        .gpios = pinmux_gpios,
+       .nr_pins = GPIO_PJ0 + 1,
        .nr_gpios = ARRAY_SIZE(pinmux_gpios),
 
        .cfg_regs = pinmux_config_regs,
index 332cf34a867fd4cc8ab33674ee8883e5bd5983e5..0c56f579fc0f01ddfb034e2c421eb549bbac6340 100644 (file)
@@ -1635,15 +1635,14 @@ static struct pinmux_irq pinmux_irqs[] = {
 struct sh_pfc_soc_info sh7372_pinmux_info = {
        .name = "sh7372_pfc",
        .reserved_id = PINMUX_RESERVED,
-       .data = { PINMUX_DATA_BEGIN, PINMUX_DATA_END },
        .input = { PINMUX_INPUT_BEGIN, PINMUX_INPUT_END },
        .input_pu = { PINMUX_INPUT_PULLUP_BEGIN, PINMUX_INPUT_PULLUP_END },
        .input_pd = { PINMUX_INPUT_PULLDOWN_BEGIN, PINMUX_INPUT_PULLDOWN_END },
        .output = { PINMUX_OUTPUT_BEGIN, PINMUX_OUTPUT_END },
-       .mark = { PINMUX_MARK_BEGIN, PINMUX_MARK_END },
        .function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END },
 
        .gpios = pinmux_gpios,
+       .nr_pins = GPIO_PORT190 + 1,
        .nr_gpios = ARRAY_SIZE(pinmux_gpios),
 
        .cfg_regs = pinmux_config_regs,
index d5ee0f7680af4f1d990f1a9458d77fd9b08fe3ca..6573dbab7b27ce4b8e379c540029a02ecf8e057f 100644 (file)
@@ -2771,15 +2771,14 @@ static struct pinmux_irq pinmux_irqs[] = {
 struct sh_pfc_soc_info sh73a0_pinmux_info = {
        .name = "sh73a0_pfc",
        .reserved_id = PINMUX_RESERVED,
-       .data = { PINMUX_DATA_BEGIN, PINMUX_DATA_END },
        .input = { PINMUX_INPUT_BEGIN, PINMUX_INPUT_END },
        .input_pu = { PINMUX_INPUT_PULLUP_BEGIN, PINMUX_INPUT_PULLUP_END },
        .input_pd = { PINMUX_INPUT_PULLDOWN_BEGIN, PINMUX_INPUT_PULLDOWN_END },
        .output = { PINMUX_OUTPUT_BEGIN, PINMUX_OUTPUT_END },
-       .mark = { PINMUX_MARK_BEGIN, PINMUX_MARK_END },
        .function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END },
 
        .gpios = pinmux_gpios,
+       .nr_pins = GPIO_PORT309 + 1,
        .nr_gpios = ARRAY_SIZE(pinmux_gpios),
 
        .cfg_regs = pinmux_config_regs,
index 8646237e9dffaae641d32e6980d7318b67a0dbe7..48771779946c95cf019b95f687994d6f5e9c8b3c 100644 (file)
@@ -1216,14 +1216,13 @@ static struct pinmux_data_reg pinmux_data_regs[] = {
 struct sh_pfc_soc_info sh7720_pinmux_info = {
        .name = "sh7720_pfc",
        .reserved_id = PINMUX_RESERVED,
-       .data = { PINMUX_DATA_BEGIN, PINMUX_DATA_END },
        .input = { PINMUX_INPUT_BEGIN, PINMUX_INPUT_END },
        .input_pu = { PINMUX_INPUT_PULLUP_BEGIN, PINMUX_INPUT_PULLUP_END },
        .output = { PINMUX_OUTPUT_BEGIN, PINMUX_OUTPUT_END },
-       .mark = { PINMUX_MARK_BEGIN, PINMUX_MARK_END },
        .function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END },
 
        .gpios = pinmux_gpios,
+       .nr_pins = GPIO_PTV0 + 1,
        .nr_gpios = ARRAY_SIZE(pinmux_gpios),
 
        .cfg_regs = pinmux_config_regs,
index 194ae3de5a05df61ad2b73be9e151323efdca3f1..7cedac6e735dc54eff5a3fb242706524b8b66393 100644 (file)
@@ -1759,15 +1759,14 @@ static struct pinmux_data_reg pinmux_data_regs[] = {
 struct sh_pfc_soc_info sh7722_pinmux_info = {
        .name = "sh7722_pfc",
        .reserved_id = PINMUX_RESERVED,
-       .data = { PINMUX_DATA_BEGIN, PINMUX_DATA_END },
        .input = { PINMUX_INPUT_BEGIN, PINMUX_INPUT_END },
        .input_pd = { PINMUX_INPUT_PULLDOWN_BEGIN, PINMUX_INPUT_PULLDOWN_END },
        .input_pu = { PINMUX_INPUT_PULLUP_BEGIN, PINMUX_INPUT_PULLUP_END },
        .output = { PINMUX_OUTPUT_BEGIN, PINMUX_OUTPUT_END },
-       .mark = { PINMUX_MARK_BEGIN, PINMUX_MARK_END },
        .function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END },
 
        .gpios = pinmux_gpios,
+       .nr_pins = GPIO_PTZ1 + 1,
        .nr_gpios = ARRAY_SIZE(pinmux_gpios),
 
        .cfg_regs = pinmux_config_regs,
index f31aa4f6b165d1ac349100732fa671b737df43fd..160edf01c04b1af95c5ea2458cb6f236d22b95de 100644 (file)
@@ -1884,14 +1884,13 @@ static struct pinmux_data_reg pinmux_data_regs[] = {
 struct sh_pfc_soc_info sh7723_pinmux_info = {
        .name = "sh7723_pfc",
        .reserved_id = PINMUX_RESERVED,
-       .data = { PINMUX_DATA_BEGIN, PINMUX_DATA_END },
        .input = { PINMUX_INPUT_BEGIN, PINMUX_INPUT_END },
        .input_pu = { PINMUX_INPUT_PULLUP_BEGIN, PINMUX_INPUT_PULLUP_END },
        .output = { PINMUX_OUTPUT_BEGIN, PINMUX_OUTPUT_END },
-       .mark = { PINMUX_MARK_BEGIN, PINMUX_MARK_END },
        .function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END },
 
        .gpios = pinmux_gpios,
+       .nr_pins = GPIO_PTZ0 + 1,
        .nr_gpios = ARRAY_SIZE(pinmux_gpios),
 
        .cfg_regs = pinmux_config_regs,
index 64b69b709f0f944171ed80e88d14dfa7cbc7bb0c..269f33d6eb0a9705071a437aed9d16b183fca548 100644 (file)
@@ -2206,14 +2206,13 @@ static struct pinmux_data_reg pinmux_data_regs[] = {
 struct sh_pfc_soc_info sh7724_pinmux_info = {
        .name = "sh7724_pfc",
        .reserved_id = PINMUX_RESERVED,
-       .data = { PINMUX_DATA_BEGIN, PINMUX_DATA_END },
        .input = { PINMUX_INPUT_BEGIN, PINMUX_INPUT_END },
        .input_pu = { PINMUX_INPUT_PULLUP_BEGIN, PINMUX_INPUT_PULLUP_END },
        .output = { PINMUX_OUTPUT_BEGIN, PINMUX_OUTPUT_END },
-       .mark = { PINMUX_MARK_BEGIN, PINMUX_MARK_END },
        .function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END },
 
        .gpios = pinmux_gpios,
+       .nr_pins = GPIO_PTZ0 + 1,
        .nr_gpios = ARRAY_SIZE(pinmux_gpios),
 
        .cfg_regs = pinmux_config_regs,
index d67a572de822f55f3a41bff2bd5a4618230e92e8..be5cca66815e2ce61480ab59057442319ab869a5 100644 (file)
@@ -2457,13 +2457,12 @@ struct sh_pfc_soc_info sh7734_pinmux_info = {
        .unlock_reg = 0xFFFC0000,
 
        .reserved_id = PINMUX_RESERVED,
-       .data = { PINMUX_DATA_BEGIN, PINMUX_DATA_END },
        .input = { PINMUX_INPUT_BEGIN, PINMUX_INPUT_END },
        .output = { PINMUX_OUTPUT_BEGIN, PINMUX_OUTPUT_END },
-       .mark = { PINMUX_MARK_BEGIN, PINMUX_MARK_END },
        .function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END },
 
        .gpios = pinmux_gpios,
+       .nr_pins = GPIO_GP_5_11 + 1,
        .nr_gpios = ARRAY_SIZE(pinmux_gpios),
 
        .cfg_regs = pinmux_config_regs,
index 7fc1310faf9c7b8ccaea1bd1ec6f4d41ffc90716..d95f5b8ae36fbd4c17c5e615ee96b3d45c6e560f 100644 (file)
@@ -2263,14 +2263,13 @@ static struct pinmux_data_reg pinmux_data_regs[] = {
 struct sh_pfc_soc_info sh7757_pinmux_info = {
        .name = "sh7757_pfc",
        .reserved_id = PINMUX_RESERVED,
-       .data = { PINMUX_DATA_BEGIN, PINMUX_DATA_END },
        .input = { PINMUX_INPUT_BEGIN, PINMUX_INPUT_END },
        .input_pu = { PINMUX_INPUT_PULLUP_BEGIN, PINMUX_INPUT_PULLUP_END },
        .output = { PINMUX_OUTPUT_BEGIN, PINMUX_OUTPUT_END },
-       .mark = { PINMUX_MARK_BEGIN, PINMUX_MARK_END },
        .function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END },
 
        .gpios = pinmux_gpios,
+       .nr_pins = GPIO_PTZ7 + 1,
        .nr_gpios = ARRAY_SIZE(pinmux_gpios),
 
        .cfg_regs = pinmux_config_regs,
index 4bde4b56de587e6279ee45dc9091cd63c4795e94..0d4c6de2c0be4260533ba484940cd2e4e1e5be35 100644 (file)
@@ -1285,14 +1285,13 @@ static struct pinmux_data_reg pinmux_data_regs[] = {
 struct sh_pfc_soc_info sh7785_pinmux_info = {
        .name = "sh7785_pfc",
        .reserved_id = PINMUX_RESERVED,
-       .data = { PINMUX_DATA_BEGIN, PINMUX_DATA_END },
        .input = { PINMUX_INPUT_BEGIN, PINMUX_INPUT_END },
        .input_pu = { PINMUX_INPUT_PULLUP_BEGIN, PINMUX_INPUT_PULLUP_END },
        .output = { PINMUX_OUTPUT_BEGIN, PINMUX_OUTPUT_END },
-       .mark = { PINMUX_MARK_BEGIN, PINMUX_MARK_END },
        .function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END },
 
        .gpios = pinmux_gpios,
+       .nr_pins = GPIO_PR0 + 1,
        .nr_gpios = ARRAY_SIZE(pinmux_gpios),
 
        .cfg_regs = pinmux_config_regs,
index 9a42d25312d95c33802592158f44eaf4c138db73..2981d0be82a5ab2f1568a22d5a930c43c43c6be0 100644 (file)
@@ -818,14 +818,13 @@ static struct pinmux_data_reg pinmux_data_regs[] = {
 struct sh_pfc_soc_info sh7786_pinmux_info = {
        .name = "sh7786_pfc",
        .reserved_id = PINMUX_RESERVED,
-       .data = { PINMUX_DATA_BEGIN, PINMUX_DATA_END },
        .input = { PINMUX_INPUT_BEGIN, PINMUX_INPUT_END },
        .input_pu = { PINMUX_INPUT_PULLUP_BEGIN, PINMUX_INPUT_PULLUP_END },
        .output = { PINMUX_OUTPUT_BEGIN, PINMUX_OUTPUT_END },
-       .mark = { PINMUX_MARK_BEGIN, PINMUX_MARK_END },
        .function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END },
 
        .gpios = pinmux_gpios,
+       .nr_pins = GPIO_PJ0 + 1,
        .nr_gpios = ARRAY_SIZE(pinmux_gpios),
 
        .cfg_regs = pinmux_config_regs,
index b23f5f9a84296e8e48a69f824c42fe2a9f36d209..e985099b777730a9e6dd15bc1dfa5e86819c9739 100644 (file)
@@ -565,14 +565,13 @@ static struct pinmux_data_reg shx3_pinmux_data_regs[] = {
 struct sh_pfc_soc_info shx3_pinmux_info = {
        .name           = "shx3_pfc",
        .reserved_id    = PINMUX_RESERVED,
-       .data           = { PINMUX_DATA_BEGIN,     PINMUX_DATA_END },
        .input          = { PINMUX_INPUT_BEGIN,    PINMUX_INPUT_END },
        .input_pu       = { PINMUX_INPUT_PULLUP_BEGIN,
                            PINMUX_INPUT_PULLUP_END },
        .output         = { PINMUX_OUTPUT_BEGIN,   PINMUX_OUTPUT_END },
-       .mark           = { PINMUX_MARK_BEGIN,     PINMUX_MARK_END },
        .function       = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END },
        .gpios          = shx3_pinmux_gpios,
+       .nr_pins        = GPIO_PH0 + 1,
        .nr_gpios       = ARRAY_SIZE(shx3_pinmux_gpios),
        .gpio_data      = shx3_pinmux_data,
        .gpio_data_size = ARRAY_SIZE(shx3_pinmux_data),
index 67fe91b051cbccbabb032611ca969df31eea3cc7..c50fb51a7facd03fe19586c535d7d0ae534958d4 100644 (file)
@@ -91,15 +91,14 @@ struct pinmux_range {
 struct sh_pfc_soc_info {
        char *name;
        pinmux_enum_t reserved_id;
-       struct pinmux_range data;
        struct pinmux_range input;
        struct pinmux_range input_pd;
        struct pinmux_range input_pu;
        struct pinmux_range output;
-       struct pinmux_range mark;
        struct pinmux_range function;
 
        struct pinmux_gpio *gpios;
+       unsigned int nr_pins;
        unsigned int nr_gpios;
 
        struct pinmux_cfg_reg *cfg_regs;