On Sun, 2019-09-22 at 10:29 +0800, Axel Lin wrote: > Use of_device_get_match_data which has NULL test for match before > dereference match->data. Add NULL test for drvtype so it still works > for fixed_voltage_ops when !CONFIG_OF. > > Signed-off-by: Axel Lin <axel....@ingics.com>
Reviewed-by: Philippe Schenker <philippe.schen...@toradex.com> > --- > drivers/regulator/fixed.c | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/drivers/regulator/fixed.c b/drivers/regulator/fixed.c > index d90a6fd8cbc7..f81533070058 100644 > --- a/drivers/regulator/fixed.c > +++ b/drivers/regulator/fixed.c > @@ -144,8 +144,7 @@ static int reg_fixed_voltage_probe(struct > platform_device *pdev) > struct device *dev = &pdev->dev; > struct fixed_voltage_config *config; > struct fixed_voltage_data *drvdata; > - const struct fixed_dev_type *drvtype = > - of_match_device(dev->driver->of_match_table, dev)->data; > + const struct fixed_dev_type *drvtype = > of_device_get_match_data(dev); > struct regulator_config cfg = { }; > enum gpiod_flags gflags; > int ret; > @@ -177,7 +176,7 @@ static int reg_fixed_voltage_probe(struct > platform_device *pdev) > drvdata->desc.type = REGULATOR_VOLTAGE; > drvdata->desc.owner = THIS_MODULE; > > - if (drvtype->has_enable_clock) { > + if (drvtype && drvtype->has_enable_clock) { > drvdata->desc.ops = &fixed_voltage_clkenabled_ops; > > drvdata->enable_clock = devm_clk_get(dev, NULL);