Message ID | 20231006100320.2908210-1-m.szyprowski@samsung.com (mailing list archive) |
---|---|
State | Mainlined |
Commit | f737020d24e47d6e8b893a2fee2b43268a6af629 |
Headers | show |
Series | [v2] Input: max77693-haptic - add device-tree compatible strings | expand |
On 06/10/2023 12:03, Marek Szyprowski wrote: > 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: Marek Szyprowski <m.szyprowski@samsung.com> > --- > drivers/input/misc/max77693-haptic.c | 14 +++++++++++--- > 1 file changed, 11 insertions(+), 3 deletions(-) Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Best regards, Krzysztof
On Fri, Oct 06, 2023 at 12:03:20PM +0200, Marek Szyprowski wrote: > 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: Marek Szyprowski <m.szyprowski@samsung.com> Applied, thank you.
diff --git a/drivers/input/misc/max77693-haptic.c b/drivers/input/misc/max77693-haptic.c index 80f4416ffe2f..0e646f1b257b 100644 --- a/drivers/input/misc/max77693-haptic.c +++ b/drivers/input/misc/max77693-haptic.c @@ -307,7 +307,7 @@ static int max77693_haptic_probe(struct platform_device *pdev) haptic->suspend_state = false; /* Variant-specific init */ - haptic->dev_type = platform_get_device_id(pdev)->driver_data; + haptic->dev_type = max77693->type; switch (haptic->dev_type) { case TYPE_MAX77693: haptic->regmap_haptic = max77693->regmap_haptic; @@ -406,16 +406,24 @@ static DEFINE_SIMPLE_DEV_PM_OPS(max77693_haptic_pm_ops, max77693_haptic_resume); static const struct platform_device_id max77693_haptic_id[] = { - { "max77693-haptic", TYPE_MAX77693 }, - { "max77843-haptic", TYPE_MAX77843 }, + { "max77693-haptic", }, + { "max77843-haptic", }, {}, }; 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 = { .driver = { .name = "max77693-haptic", .pm = pm_sleep_ptr(&max77693_haptic_pm_ops), + .of_match_table = of_max77693_haptic_dt_match, }, .probe = max77693_haptic_probe, .id_table = max77693_haptic_id,
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: Marek Szyprowski <m.szyprowski@samsung.com> --- drivers/input/misc/max77693-haptic.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-)