From 021c23e46eb69ee2c888fa3b05834f110da7a450 Mon Sep 17 00:00:00 2001 From: seshendra Gadagottu Date: Thu, 14 Jul 2016 11:43:53 -0700 Subject: gpu: nvgpu: check for valid function pointers Before calling prod settings functions, check for availability of those functions. Similar check is extended for get_clk_freqs. Bug 1735760 Change-Id: Ic4b38079043ab2049a479a2d8bb0cb6091e94f4a Signed-off-by: seshendra Gadagottu Reviewed-on: http://git-master/r/1181571 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Adeel Raza --- drivers/gpu/nvgpu/gk20a/gk20a_scale.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'drivers/gpu/nvgpu/gk20a/gk20a_scale.c') diff --git a/drivers/gpu/nvgpu/gk20a/gk20a_scale.c b/drivers/gpu/nvgpu/gk20a/gk20a_scale.c index eeabd919..ec9ca5db 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a_scale.c +++ b/drivers/gpu/nvgpu/gk20a/gk20a_scale.c @@ -118,10 +118,13 @@ static int gk20a_scale_make_freq_table(struct gk20a_scale_profile *profile) int num_freqs, err; unsigned long *freqs; - /* get gpu frequency table */ - err = platform->get_clk_freqs(profile->dev, &freqs, + if (platform->get_clk_freqs) { + /* get gpu frequency table */ + err = platform->get_clk_freqs(profile->dev, &freqs, &num_freqs); - if (err) + if (err) + return -ENOSYS; + } else return -ENOSYS; profile->devfreq_profile.freq_table = (unsigned long *)freqs; -- cgit v1.2.2