Input: ads7846 - Fix usage of match data
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@roeck-us.net> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Link: https://lore.kernel.org/r/20230606191304.3804174-1-linus.walleij@linaro.org Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
parent
0b47a62ea6
commit
8f7913c04f
@ -1117,20 +1117,13 @@ MODULE_DEVICE_TABLE(of, ads7846_dt_ids);
|
|||||||
static const struct ads7846_platform_data *ads7846_get_props(struct device *dev)
|
static const struct ads7846_platform_data *ads7846_get_props(struct device *dev)
|
||||||
{
|
{
|
||||||
struct ads7846_platform_data *pdata;
|
struct ads7846_platform_data *pdata;
|
||||||
const struct platform_device_id *pdev_id;
|
|
||||||
u32 value;
|
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);
|
pdata = devm_kzalloc(dev, sizeof(*pdata), GFP_KERNEL);
|
||||||
if (!pdata)
|
if (!pdata)
|
||||||
return ERR_PTR(-ENOMEM);
|
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",
|
device_property_read_u16(dev, "ti,vref-delay-usecs",
|
||||||
&pdata->vref_delay_usecs);
|
&pdata->vref_delay_usecs);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user