diff options
author | Sachin Kamat <sachin.kamat@linaro.org> | 2013-05-16 23:31:02 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2013-06-12 20:51:02 -0400 |
commit | 0781c057e3fd49e096ec2ea7fa5d6ad18a2f42bb (patch) | |
tree | 0f335cc7e2c9db64f1e3a2b1f96395b20141e12e /drivers/media/platform/s5p-tv | |
parent | 44048752345460df738b87ebec82c9bfc8257943 (diff) |
[media] s5p-tv: Fix incorrect usage of IS_ERR_OR_NULL in mixer_drv.c
NULL check on clocks obtained using common clock APIs should not
be done. Use IS_ERR only.
[s.nawrocki: removed unrelated whitespace change]
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/platform/s5p-tv')
-rw-r--r-- | drivers/media/platform/s5p-tv/mixer_drv.c | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/drivers/media/platform/s5p-tv/mixer_drv.c b/drivers/media/platform/s5p-tv/mixer_drv.c index 5733033a6ead..51805a5e2beb 100644 --- a/drivers/media/platform/s5p-tv/mixer_drv.c +++ b/drivers/media/platform/s5p-tv/mixer_drv.c | |||
@@ -211,6 +211,15 @@ fail: | |||
211 | return ret; | 211 | return ret; |
212 | } | 212 | } |
213 | 213 | ||
214 | static void mxr_resource_clear_clocks(struct mxr_resources *res) | ||
215 | { | ||
216 | res->mixer = ERR_PTR(-EINVAL); | ||
217 | res->vp = ERR_PTR(-EINVAL); | ||
218 | res->sclk_mixer = ERR_PTR(-EINVAL); | ||
219 | res->sclk_hdmi = ERR_PTR(-EINVAL); | ||
220 | res->sclk_dac = ERR_PTR(-EINVAL); | ||
221 | } | ||
222 | |||
214 | static void mxr_release_plat_resources(struct mxr_device *mdev) | 223 | static void mxr_release_plat_resources(struct mxr_device *mdev) |
215 | { | 224 | { |
216 | free_irq(mdev->res.irq, mdev); | 225 | free_irq(mdev->res.irq, mdev); |
@@ -222,15 +231,15 @@ static void mxr_release_clocks(struct mxr_device *mdev) | |||
222 | { | 231 | { |
223 | struct mxr_resources *res = &mdev->res; | 232 | struct mxr_resources *res = &mdev->res; |
224 | 233 | ||
225 | if (!IS_ERR_OR_NULL(res->sclk_dac)) | 234 | if (!IS_ERR(res->sclk_dac)) |
226 | clk_put(res->sclk_dac); | 235 | clk_put(res->sclk_dac); |
227 | if (!IS_ERR_OR_NULL(res->sclk_hdmi)) | 236 | if (!IS_ERR(res->sclk_hdmi)) |
228 | clk_put(res->sclk_hdmi); | 237 | clk_put(res->sclk_hdmi); |
229 | if (!IS_ERR_OR_NULL(res->sclk_mixer)) | 238 | if (!IS_ERR(res->sclk_mixer)) |
230 | clk_put(res->sclk_mixer); | 239 | clk_put(res->sclk_mixer); |
231 | if (!IS_ERR_OR_NULL(res->vp)) | 240 | if (!IS_ERR(res->vp)) |
232 | clk_put(res->vp); | 241 | clk_put(res->vp); |
233 | if (!IS_ERR_OR_NULL(res->mixer)) | 242 | if (!IS_ERR(res->mixer)) |
234 | clk_put(res->mixer); | 243 | clk_put(res->mixer); |
235 | } | 244 | } |
236 | 245 | ||
@@ -239,6 +248,8 @@ static int mxr_acquire_clocks(struct mxr_device *mdev) | |||
239 | struct mxr_resources *res = &mdev->res; | 248 | struct mxr_resources *res = &mdev->res; |
240 | struct device *dev = mdev->dev; | 249 | struct device *dev = mdev->dev; |
241 | 250 | ||
251 | mxr_resource_clear_clocks(res); | ||
252 | |||
242 | res->mixer = clk_get(dev, "mixer"); | 253 | res->mixer = clk_get(dev, "mixer"); |
243 | if (IS_ERR(res->mixer)) { | 254 | if (IS_ERR(res->mixer)) { |
244 | mxr_err(mdev, "failed to get clock 'mixer'\n"); | 255 | mxr_err(mdev, "failed to get clock 'mixer'\n"); |
@@ -299,6 +310,7 @@ static void mxr_release_resources(struct mxr_device *mdev) | |||
299 | mxr_release_clocks(mdev); | 310 | mxr_release_clocks(mdev); |
300 | mxr_release_plat_resources(mdev); | 311 | mxr_release_plat_resources(mdev); |
301 | memset(&mdev->res, 0, sizeof(mdev->res)); | 312 | memset(&mdev->res, 0, sizeof(mdev->res)); |
313 | mxr_resource_clear_clocks(&mdev->res); | ||
302 | } | 314 | } |
303 | 315 | ||
304 | static void mxr_release_layers(struct mxr_device *mdev) | 316 | static void mxr_release_layers(struct mxr_device *mdev) |