пт, 17 янв. 2025 г. в 11:01, Krzysztof Kozlowski <krzk@xxxxxxxxxx>: > > On Thu, Jan 16, 2025 at 07:26:08PM +0300, Dzmitry Sankouski wrote: > > #define MAX_MAGNITUDE_SHIFT 16 > > @@ -115,6 +116,13 @@ static int max77693_haptic_configure(struct max77693_haptic *haptic, > > MAX77693_HAPTIC_PWM_DIVISOR_128); > > config_reg = MAX77693_HAPTIC_REG_CONFIG2; > > break; > > + case TYPE_MAX77705: > > + value = ((haptic->type << MAX77693_CONFIG2_MODE) | > > + (enable << MAX77693_CONFIG2_MEN) | > > + (haptic->mode << MAX77693_CONFIG2_HTYP) | > > + MAX77693_HAPTIC_PWM_DIVISOR_128); > > That's the same as previous one, why duplicating? > config_reg is different. I don't see any good way to get rid of that duplication > > + config_reg = MAX77705_PMIC_REG_MCONFIG; > > + break; > > case TYPE_MAX77843: > > value = (haptic->type << MCONFIG_MODE_SHIFT) | > > (enable << MCONFIG_MEN_SHIFT) | (...) > > > > static const struct platform_device_id max77693_haptic_id[] = { > > { "max77693-haptic", }, > > + { "max77705-haptic", }, > > { "max77843-haptic", }, > > {}, > > }; > > @@ -414,6 +426,7 @@ MODULE_DEVICE_TABLE(platform, max77693_haptic_id); > > > > static const struct of_device_id of_max77693_haptic_dt_match[] = { > > { .compatible = "maxim,max77693-haptic", }, > > + { .compatible = "maxim,max77705-haptic", }, > > So the device looks fully compatible with max77693. Drop this change and > express compatibility with fallback. > The only difference is config_reg.