Commit f5ac4f2ea0b1107a82c309b416af8e55e13d33b1
Committed by
Tom Rini
1 parent
f9c7fde260
Exists in
smarc_8mq_lf_v2020.04
and in
17 other branches
gpio: mpc8xxx: Make live-tree compatible
Make the MPC8xxx GPIO driver compatible with a live device tree. Signed-off-by: Mario Six <mario.six@gdsys.cc>
Showing 1 changed file with 7 additions and 10 deletions Side-by-side Diff
drivers/gpio/mpc8xxx_gpio.c
... | ... | @@ -14,8 +14,6 @@ |
14 | 14 | #include <mapmem.h> |
15 | 15 | #include <asm/gpio.h> |
16 | 16 | |
17 | -DECLARE_GLOBAL_DATA_PTR; | |
18 | - | |
19 | 17 | struct ccsr_gpio { |
20 | 18 | u32 gpdir; |
21 | 19 | u32 gpodr; |
22 | 20 | |
23 | 21 | |
... | ... | @@ -181,15 +179,14 @@ |
181 | 179 | { |
182 | 180 | struct mpc8xxx_gpio_plat *plat = dev_get_platdata(dev); |
183 | 181 | fdt_addr_t addr; |
184 | - fdt_size_t size; | |
182 | + u32 reg[2]; | |
185 | 183 | |
186 | - addr = fdtdec_get_addr_size_auto_noparent(gd->fdt_blob, | |
187 | - dev_of_offset(dev), | |
188 | - "reg", 0, &size, false); | |
184 | + dev_read_u32_array(dev, "reg", reg, 2); | |
185 | + addr = dev_translate_address(dev, reg); | |
186 | + | |
189 | 187 | plat->addr = addr; |
190 | - plat->size = size; | |
191 | - plat->ngpios = fdtdec_get_int(gd->fdt_blob, dev_of_offset(dev), | |
192 | - "ngpios", 32); | |
188 | + plat->size = reg[1]; | |
189 | + plat->ngpios = dev_read_u32_default(dev, "ngpios", 32); | |
193 | 190 | |
194 | 191 | return 0; |
195 | 192 | } |
... | ... | @@ -206,7 +203,7 @@ |
206 | 203 | size = 0x100; |
207 | 204 | |
208 | 205 | priv->addr = plat->addr; |
209 | - priv->base = map_sysmem(CONFIG_SYS_IMMR + plat->addr, size); | |
206 | + priv->base = map_sysmem(plat->addr, size); | |
210 | 207 | |
211 | 208 | if (!priv->base) |
212 | 209 | return -ENOMEM; |