pinctrl: rockchip: only map bank0-pull-region when pmu regmap missing
When the pmu registers are supplied through a syscon regmap we do not need to map the registers ourself. Signed-off-by: Heiko Stuebner <heiko@sntech.de> Tested-by: Max Schwarz <max.schwarz@online.de> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
parent
14dee8677e
commit
a658efaa85
1 changed files with 19 additions and 11 deletions
|
@ -1464,21 +1464,29 @@ static int rockchip_get_bank_data(struct rockchip_pin_bank *bank,
|
||||||
*/
|
*/
|
||||||
if (of_device_is_compatible(bank->of_node,
|
if (of_device_is_compatible(bank->of_node,
|
||||||
"rockchip,rk3188-gpio-bank0")) {
|
"rockchip,rk3188-gpio-bank0")) {
|
||||||
|
struct device_node *node;
|
||||||
|
|
||||||
bank->bank_type = RK3188_BANK0;
|
bank->bank_type = RK3188_BANK0;
|
||||||
|
|
||||||
if (of_address_to_resource(bank->of_node, 1, &res)) {
|
node = of_parse_phandle(bank->of_node->parent,
|
||||||
dev_err(info->dev, "cannot find IO resource for bank\n");
|
"rockchip,pmu", 0);
|
||||||
return -ENOENT;
|
if (!node) {
|
||||||
}
|
if (of_address_to_resource(bank->of_node, 1, &res)) {
|
||||||
|
dev_err(info->dev, "cannot find IO resource for bank\n");
|
||||||
|
return -ENOENT;
|
||||||
|
}
|
||||||
|
|
||||||
base = devm_ioremap_resource(info->dev, &res);
|
base = devm_ioremap_resource(info->dev, &res);
|
||||||
if (IS_ERR(base))
|
if (IS_ERR(base))
|
||||||
return PTR_ERR(base);
|
return PTR_ERR(base);
|
||||||
rockchip_regmap_config.max_register = resource_size(&res) - 4;
|
rockchip_regmap_config.max_register =
|
||||||
rockchip_regmap_config.name = "rockchip,rk3188-gpio-bank0-pull";
|
resource_size(&res) - 4;
|
||||||
bank->regmap_pull = devm_regmap_init_mmio(info->dev, base,
|
rockchip_regmap_config.name =
|
||||||
&rockchip_regmap_config);
|
"rockchip,rk3188-gpio-bank0-pull";
|
||||||
|
bank->regmap_pull = devm_regmap_init_mmio(info->dev,
|
||||||
|
base,
|
||||||
|
&rockchip_regmap_config);
|
||||||
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
bank->bank_type = COMMON_BANK;
|
bank->bank_type = COMMON_BANK;
|
||||||
|
|
Loading…
Reference in a new issue