From patchwork Tue Jun 7 09:58:14 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Guennadi Liakhovetski X-Patchwork-Id: 855592 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter1.kernel.org (8.14.4/8.14.3) with ESMTP id p579wMBP004512 for ; Tue, 7 Jun 2011 09:58:22 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752566Ab1FGJ6U (ORCPT ); Tue, 7 Jun 2011 05:58:20 -0400 Received: from moutng.kundenserver.de ([212.227.17.10]:54562 "EHLO moutng.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752497Ab1FGJ6T (ORCPT ); Tue, 7 Jun 2011 05:58:19 -0400 Received: from axis700.grange (dslb-094-221-030-184.pools.arcor-ip.net [94.221.30.184]) by mrelayeu.kundenserver.de (node=mrbap1) with ESMTP (Nemesis) id 0M8K0I-1PhobF1kbi-00vHc0; Tue, 07 Jun 2011 11:58:15 +0200 Received: by axis700.grange (Postfix, from userid 1000) id 089D1189B78; Tue, 7 Jun 2011 11:58:15 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by axis700.grange (Postfix) with ESMTP id 0181E189B77; Tue, 7 Jun 2011 11:58:14 +0200 (CEST) Date: Tue, 7 Jun 2011 11:58:14 +0200 (CEST) From: Guennadi Liakhovetski X-X-Sender: lyakh@axis700.grange To: Linux Media Mailing List cc: Robert Jarzmik Subject: [PATCH 3/3 v2] V4L: pxa-camera: switch to using subdev .s_power() core operation In-Reply-To: Message-ID: References: MIME-Version: 1.0 X-Provags-ID: V02:K0:N23smqn4Yf/jfmI1n+c6NDijHE1LINEc1L+MI/MiAIW VzYWSayDZfcXBSlqafKIeAI4rFz07uEppL9FcgBp0e3nbfPCb0 SjXqdBqn50ANB2BVsPMf1s+wkDZEGENhEOBCP8I/JwMZ6fhsrp DtP8RjCvrQ+QJ4BfNK8Pnald326ZAxjAFZJoRzHXKQxDOqd1eO kiU8VKIsRr0XkGkLKswKvp3jhn7+N+ZNb88lyqbaFs= Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.6 (demeter1.kernel.org [140.211.167.41]); Tue, 07 Jun 2011 09:58:22 +0000 (UTC) soc-camera specific .suspend() and .resume() methods are deprecated and should be replaced by the subdev standard .s_power() operation. Signed-off-by: Guennadi Liakhovetski --- drivers/media/video/pxa_camera.c | 16 ++++++++++++---- 1 files changed, 12 insertions(+), 4 deletions(-) diff --git a/drivers/media/video/pxa_camera.c b/drivers/media/video/pxa_camera.c index 88aa1ba..3b3ad08 100644 --- a/drivers/media/video/pxa_camera.c +++ b/drivers/media/video/pxa_camera.c @@ -1591,8 +1591,12 @@ static int pxa_camera_suspend(struct soc_camera_device *icd, pm_message_t state) pcdev->save_cicr[i++] = __raw_readl(pcdev->base + CICR3); pcdev->save_cicr[i++] = __raw_readl(pcdev->base + CICR4); - if ((pcdev->icd) && (pcdev->icd->ops->suspend)) - ret = pcdev->icd->ops->suspend(pcdev->icd, state); + if (pcdev->icd) { + struct v4l2_subdev *sd = soc_camera_to_subdev(icd); + ret = v4l2_subdev_call(sd, core, s_power, 0); + if (ret == -ENOIOCTLCMD) + ret = 0; + } return ret; } @@ -1613,8 +1617,12 @@ static int pxa_camera_resume(struct soc_camera_device *icd) __raw_writel(pcdev->save_cicr[i++], pcdev->base + CICR3); __raw_writel(pcdev->save_cicr[i++], pcdev->base + CICR4); - if ((pcdev->icd) && (pcdev->icd->ops->resume)) - ret = pcdev->icd->ops->resume(pcdev->icd); + if (pcdev->icd) { + struct v4l2_subdev *sd = soc_camera_to_subdev(icd); + ret = v4l2_subdev_call(sd, core, s_power, 1); + if (ret == -ENOIOCTLCMD) + ret = 0; + } /* Restart frame capture if active buffer exists */ if (!ret && pcdev->active)