pinctrl: sh-pfc: Store register/field widths in u8 instead of unsigned long
[firefly-linux-kernel-4.4.55.git] / drivers / pinctrl / sh-pfc / core.c
index a56280814a3f884b24a19b0fda2ae20ba3fe9ab0..5591baf9738b5de9ed8154c6743808e5562c732b 100644 (file)
@@ -144,8 +144,7 @@ static int sh_pfc_enum_in_range(u16 enum_id, const struct pinmux_range *r)
        return 1;
 }
 
-unsigned long sh_pfc_read_raw_reg(void __iomem *mapped_reg,
-                                 unsigned long reg_width)
+u32 sh_pfc_read_raw_reg(void __iomem *mapped_reg, unsigned long reg_width)
 {
        switch (reg_width) {
        case 8:
@@ -161,7 +160,7 @@ unsigned long sh_pfc_read_raw_reg(void __iomem *mapped_reg,
 }
 
 void sh_pfc_write_raw_reg(void __iomem *mapped_reg, unsigned long reg_width,
-                         unsigned long data)
+                         u32 data)
 {
        switch (reg_width) {
        case 8:
@@ -181,8 +180,7 @@ void sh_pfc_write_raw_reg(void __iomem *mapped_reg, unsigned long reg_width,
 static void sh_pfc_config_reg_helper(struct sh_pfc *pfc,
                                     const struct pinmux_cfg_reg *crp,
                                     unsigned long in_pos,
-                                    void __iomem **mapped_regp,
-                                    unsigned long *maskp,
+                                    void __iomem **mapped_regp, u32 *maskp,
                                     unsigned long *posp)
 {
        unsigned int k;
@@ -202,15 +200,16 @@ static void sh_pfc_config_reg_helper(struct sh_pfc *pfc,
 
 static void sh_pfc_write_config_reg(struct sh_pfc *pfc,
                                    const struct pinmux_cfg_reg *crp,
-                                   unsigned long field, unsigned long value)
+                                   unsigned long field, u32 value)
 {
        void __iomem *mapped_reg;
-       unsigned long mask, pos, data;
+       unsigned long pos;
+       u32 mask, data;
 
        sh_pfc_config_reg_helper(pfc, crp, field, &mapped_reg, &mask, &pos);
 
-       dev_dbg(pfc->dev, "write_reg addr = %lx, value = %ld, field = %ld, "
-               "r_width = %ld, f_width = %ld\n",
+       dev_dbg(pfc->dev, "write_reg addr = %lx, value = 0x%x, field = %ld, "
+               "r_width = %u, f_width = %u\n",
                crp->reg, value, field, crp->reg_width, crp->field_width);
 
        mask = ~(mask << pos);
@@ -230,11 +229,12 @@ static void sh_pfc_write_config_reg(struct sh_pfc *pfc,
 
 static int sh_pfc_get_config_reg(struct sh_pfc *pfc, u16 enum_id,
                                 const struct pinmux_cfg_reg **crp, int *fieldp,
-                                int *valuep)
+                                u32 *valuep)
 {
        const struct pinmux_cfg_reg *config_reg;
-       unsigned long r_width, f_width, curr_width, ncomb;
-       unsigned int k, m, n, pos, bit_pos;
+       unsigned long r_width, f_width, curr_width;
+       unsigned int k, m, pos, bit_pos;
+       u32 ncomb, n;
 
        k = 0;
        while (1) {
@@ -300,7 +300,8 @@ int sh_pfc_config_mux(struct sh_pfc *pfc, unsigned mark, int pinmux_type)
        const struct pinmux_cfg_reg *cr = NULL;
        u16 enum_id;
        const struct pinmux_range *range;
-       int in_range, pos, field, value;
+       int in_range, pos, field;
+       u32 value;
        int ret;
 
        switch (pinmux_type) {
@@ -597,9 +598,6 @@ static const struct platform_device_id sh_pfc_id_table[] = {
 #ifdef CONFIG_PINCTRL_PFC_R8A7790
        { "pfc-r8a7790", (kernel_ulong_t)&r8a7790_pinmux_info },
 #endif
-#ifdef CONFIG_PINCTRL_PFC_R8A7791
-       { "pfc-r8a7791", (kernel_ulong_t)&r8a7791_pinmux_info },
-#endif
 #ifdef CONFIG_PINCTRL_PFC_SH7203
        { "pfc-sh7203", (kernel_ulong_t)&sh7203_pinmux_info },
 #endif