Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 26344486 authored by Jason Kridner's avatar Jason Kridner Committed by Greg Kroah-Hartman
Browse files

pinctrl: mcp23s08: spi: Fix regmap allocation for mcp23s18



[ Upstream commit f165988b77ef849eb0c1aebd94fe778024f88314 ]

Fixes issue created by 9b3e4207.

It wasn't possible for one_regmap_config to be non-NULL at the point
it was tested for mcp23s18 devices.

Applied the same pattern of allocating one_regmap_config using
devm_kmemdump() and then initializing the local regmap structure
from that.

Signed-off-by: default avatarJason Kridner <jdk@ti.com>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent a50434de
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -832,8 +832,13 @@ static int mcp23s08_probe_one(struct mcp23s08 *mcp, struct device *dev,
		break;

	case MCP_TYPE_S18:
		one_regmap_config =
			devm_kmemdup(dev, &mcp23x17_regmap,
				sizeof(struct regmap_config), GFP_KERNEL);
		if (!one_regmap_config)
			return -ENOMEM;
		mcp->regmap = devm_regmap_init(dev, &mcp23sxx_spi_regmap, mcp,
					       &mcp23x17_regmap);
					       one_regmap_config);
		mcp->reg_shift = 1;
		mcp->chip.ngpio = 16;
		mcp->chip.label = "mcp23s18";