From patchwork Fri Apr 29 17:45:59 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sebastian Reichel X-Patchwork-Id: 8984421 Return-Path: X-Original-To: patchwork-linux-media@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 9F80A9F372 for ; Fri, 29 Apr 2016 17:46:12 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 0A414201ED for ; Fri, 29 Apr 2016 17:46:12 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 59C56201CD for ; Fri, 29 Apr 2016 17:46:11 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751548AbcD2RqJ (ORCPT ); Fri, 29 Apr 2016 13:46:09 -0400 Received: from mail.kernel.org ([198.145.29.136]:42273 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751043AbcD2RqI (ORCPT ); Fri, 29 Apr 2016 13:46:08 -0400 Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id A771D201C8; Fri, 29 Apr 2016 17:46:06 +0000 (UTC) Received: from mail.kernel.org (unknown [178.162.198.111]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 750F72014A; Fri, 29 Apr 2016 17:46:02 +0000 (UTC) Date: Fri, 29 Apr 2016 19:45:59 +0200 From: Sebastian Reichel To: =?utf-8?B?0JjQstCw0LnQu9C+INCU0LjQvNC40YLRgNC+0LI=?= Cc: pavel@ucw.cz, sakari.ailus@iki.fi, pali.rohar@gmail.com, linux-media@vger.kernel.org Subject: Re: [RFC PATCH 00/24] Make Nokia N900 cameras working Message-ID: <20160429174559.GA6431@earth> References: <20160420081427.GZ32125@valkosipuli.retiisi.org.uk> <1461532104-24032-1-git-send-email-ivo.g.dimitrov.75@gmail.com> <20160427030850.GA17034@earth> <572048AC.7050700@gmail.com> <572062EF.7060502@gmail.com> <20160427164256.GA8156@earth> <1461777170.18568.2.camel@Nokia-N900> <20160429000551.GA29312@earth> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20160429000551.GA29312@earth> User-Agent: Mutt/1.5.24 (2015-08-30) X-Spam-Status: No, score=-7.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, T_TVD_MIME_EPI, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Hi, On Fri, Apr 29, 2016 at 02:05:52AM +0200, Sebastian Reichel wrote: > On Wed, Apr 27, 2016 at 08:12:50PM +0300, ?????? ???????? wrote: > > > The zImage + initrd works with the steps you described below. > > > > Great! > > I also got it working with the previously referenced branch with the > following built as modules: > > CONFIG_VIDEOBUF2_CORE=m > CONFIG_VIDEOBUF2_MEMOPS=m > CONFIG_VIDEOBUF2_DMA_CONTIG=m > CONFIG_VIDEO_OMAP3=m > CONFIG_VIDEO_BUS_SWITCH=m > CONFIG_VIDEO_SMIAPP_PLL=m > CONFIG_VIDEO_SMIAPP=m > CONFIG_VIDEO_SMIAREGS=m > CONFIG_VIDEO_ET8EK8=m Ok, I found the problem. CONFIG_VIDEO_OMAP3=y does not work, due to missing -EPROBE_DEFER handling for vdds_csib. I added it and just got a test image with builtin CONFIG_VIDEO_OMAP3. The below patch fixes the problem. commit 9d8333b29207de3a9b6ac99db2dfd91e2f8c0216 Author: Sebastian Reichel Date: Fri Apr 29 19:23:02 2016 +0200 omap3isp: handle -EPROBE_DEFER for vdds_csib omap3isp may be initialized before the regulator's driver has been loaded resulting in vdds_csib=NULL. Fix this by handling -EPROBE_DEFER for vdds_csib. Signed-Off-By: Sebastian Reichel -- Sebastian Tested-by: Pavel Machek Acked-by: Pavel Machek diff --git a/drivers/media/platform/omap3isp/ispccp2.c b/drivers/media/platform/omap3isp/ispccp2.c index 833eed411886..2d1463a72d6a 100644 --- a/drivers/media/platform/omap3isp/ispccp2.c +++ b/drivers/media/platform/omap3isp/ispccp2.c @@ -1167,6 +1167,8 @@ int omap3isp_ccp2_init(struct isp_device *isp) if (isp->revision == ISP_REVISION_2_0) { ccp2->vdds_csib = devm_regulator_get(isp->dev, "vdds_csib"); if (IS_ERR(ccp2->vdds_csib)) { + if (PTR_ERR(ccp2->vdds_csib) == -EPROBE_DEFER) + return -EPROBE_DEFER; dev_dbg(isp->dev, "Could not get regulator vdds_csib\n"); ccp2->vdds_csib = NULL;