[PATCH v2 3/5] mfd: add Khadas Edge 2 registers to khadas-mcu.
Krzysztof Kozlowski
krzk at kernel.org
Wed Jul 23 00:47:56 PDT 2025
On Tue, Jul 22, 2025 at 03:38:13PM +0300, muhammed.efecetin.67 at gmail.com wrote:
> ddata = devm_kzalloc(dev, sizeof(*ddata), GFP_KERNEL);
> @@ -94,7 +130,11 @@ static int khadas_mcu_probe(struct i2c_client *client)
>
> ddata->dev = dev;
>
> - ddata->regmap = devm_regmap_init_i2c(client, &khadas_mcu_regmap_config);
> + if (of_device_is_compatible(dev->of_node, "khadas,mcu-v2"))
This does not scale. Use device match data for exactly this purpose.
> + regmap_config = &khadas_mcu_regmap_config_v2;
> + else
> + regmap_config = &khadas_mcu_regmap_config;
> + ddata->regmap = devm_regmap_init_i2c(client, regmap_config);
> if (IS_ERR(ddata->regmap)) {
> ret = PTR_ERR(ddata->regmap);
> dev_err(dev, "Failed to allocate register map: %d\n", ret);
> @@ -113,6 +153,7 @@ static int khadas_mcu_probe(struct i2c_client *client)
> #ifdef CONFIG_OF
> static const struct of_device_id khadas_mcu_of_match[] = {
> { .compatible = "khadas,mcu", },
> + { .compatible = "khadas,mcu-v2", },
So devices are 100% compatible? Empty match data suggests that...
Best regards,
Krzysztof
More information about the linux-arm-kernel
mailing list