Commit f737020d authored by Marek Szyprowski's avatar Marek Szyprowski Committed by Dmitry Torokhov

Input: max77693-haptic - add device-tree compatible strings

Add the needed device-tree compatible strings to the MAX77693 haptic
driver, so it can be automatically loaded when compiled as a kernel
module and given device-tree contains separate (i.e. 'motor-driver') node
under the main PMIC node. When device is instantiated from device-tree,
the driver data cannot be read via platform_get_device_id(), so get
device type from the parent MFD device instead, what works for both
cases.
Signed-off-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
Reviewed-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20231006100320.2908210-1-m.szyprowski@samsung.comSigned-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
parent 5958274f
...@@ -307,7 +307,7 @@ static int max77693_haptic_probe(struct platform_device *pdev) ...@@ -307,7 +307,7 @@ static int max77693_haptic_probe(struct platform_device *pdev)
haptic->suspend_state = false; haptic->suspend_state = false;
/* Variant-specific init */ /* Variant-specific init */
haptic->dev_type = platform_get_device_id(pdev)->driver_data; haptic->dev_type = max77693->type;
switch (haptic->dev_type) { switch (haptic->dev_type) {
case TYPE_MAX77693: case TYPE_MAX77693:
haptic->regmap_haptic = max77693->regmap_haptic; haptic->regmap_haptic = max77693->regmap_haptic;
...@@ -406,16 +406,24 @@ static DEFINE_SIMPLE_DEV_PM_OPS(max77693_haptic_pm_ops, ...@@ -406,16 +406,24 @@ static DEFINE_SIMPLE_DEV_PM_OPS(max77693_haptic_pm_ops,
max77693_haptic_resume); max77693_haptic_resume);
static const struct platform_device_id max77693_haptic_id[] = { static const struct platform_device_id max77693_haptic_id[] = {
{ "max77693-haptic", TYPE_MAX77693 }, { "max77693-haptic", },
{ "max77843-haptic", TYPE_MAX77843 }, { "max77843-haptic", },
{}, {},
}; };
MODULE_DEVICE_TABLE(platform, max77693_haptic_id); MODULE_DEVICE_TABLE(platform, max77693_haptic_id);
static const struct of_device_id of_max77693_haptic_dt_match[] = {
{ .compatible = "maxim,max77693-haptic", },
{ .compatible = "maxim,max77843-haptic", },
{ /* sentinel */ },
};
MODULE_DEVICE_TABLE(of, of_max77693_haptic_dt_match);
static struct platform_driver max77693_haptic_driver = { static struct platform_driver max77693_haptic_driver = {
.driver = { .driver = {
.name = "max77693-haptic", .name = "max77693-haptic",
.pm = pm_sleep_ptr(&max77693_haptic_pm_ops), .pm = pm_sleep_ptr(&max77693_haptic_pm_ops),
.of_match_table = of_max77693_haptic_dt_match,
}, },
.probe = max77693_haptic_probe, .probe = max77693_haptic_probe,
.id_table = max77693_haptic_id, .id_table = max77693_haptic_id,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment