On Tue, Jun 06, 2023 at 09:13:04PM +0200, Linus Walleij wrote: > device_get_match_data() returns the match data directly, fix > this up and fix the probe crash. > > Fixes: 767d83361aaa ("Input: ads7846 - Convert to use software nodes") > Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx> > Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Acked-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> > --- > This patch needs to be applied to the SoC tree where the > offending patch is residing. > --- > drivers/input/touchscreen/ads7846.c | 9 +-------- > 1 file changed, 1 insertion(+), 8 deletions(-) > > diff --git a/drivers/input/touchscreen/ads7846.c b/drivers/input/touchscreen/ads7846.c > index 40eb27f1b23f..fe6fe8acd8a6 100644 > --- a/drivers/input/touchscreen/ads7846.c > +++ b/drivers/input/touchscreen/ads7846.c > @@ -1117,20 +1117,13 @@ MODULE_DEVICE_TABLE(of, ads7846_dt_ids); > static const struct ads7846_platform_data *ads7846_get_props(struct device *dev) > { > struct ads7846_platform_data *pdata; > - const struct platform_device_id *pdev_id; > u32 value; > > - pdev_id = device_get_match_data(dev); > - if (!pdev_id) { > - dev_err(dev, "Unknown device model\n"); > - return ERR_PTR(-EINVAL); > - } > - > pdata = devm_kzalloc(dev, sizeof(*pdata), GFP_KERNEL); > if (!pdata) > return ERR_PTR(-ENOMEM); > > - pdata->model = (unsigned long)pdev_id->driver_data; > + pdata->model = (u32)device_get_match_data(dev); > > device_property_read_u16(dev, "ti,vref-delay-usecs", > &pdata->vref_delay_usecs); > -- > 2.34.1 > -- Dmitry