Received: by 2002:ac0:a582:0:0:0:0:0 with SMTP id m2-v6csp5161115imm; Tue, 16 Oct 2018 06:12:46 -0700 (PDT) X-Google-Smtp-Source: ACcGV61t1sG/KVnaztakS+i6u4CNg3ryX9ef3WnxJN2X5VVEZZWiKF9xQDg39WktvJlbQnj5eKmX X-Received: by 2002:a65:4103:: with SMTP id w3-v6mr20526033pgp.284.1539695566240; Tue, 16 Oct 2018 06:12:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1539695566; cv=none; d=google.com; s=arc-20160816; b=hGcSjriFUOZU2Ehhw2rN7f5k3FUSP9pkPCgqkddY5QQ06mOo3Mog5oOBO0T3ExMVko oytdmbYjbpcfpjNKIwxFxExLLRRff6WZH3VDvyetRdBX7XSl7jH8+Nkg9wKviFjE/H4y Tz/z7sQoKb6mEbncYVtACI11A09P+u5QWNkgKpIO06nh9Saz85nSI0c1QburN0zLaJ2q o8AOfjGI4YwiPUFJcL4cp+IrzAfF0EEdUbu7JnPrjMogQQtpmYvkeu39PsKggXo30iTs zrga/nMKiqZX7o6DPKeSnvRHgwTJQuw1d4C+BwdIEA/ANEJINvG6sUoPcx9sW6EUHK6l NhRQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:organization:message-id:date:subject:cc:to :from:dkim-signature; bh=pC7kflwUoIMzc0gahmNs7MddWDywBMyFTd304Q8kUjg=; b=K5qDhP01UDJCM5Zyb66MBaGQIS93/dopw8OOhTYvNGNxpKY8rvcwsIB+dXJAubwiSd FuaV5EV6jVip6Gy0iSxRMT1VWayiw1Y4WpU3npQOwweJwf2zJUDfuk3U8n2ulMf+TulJ Knfi46xyhEW5yEKc8Jahiu+lVYewLWjxehGbmI8ap09rcPER372SbGZ9/99bYYKxnw6c IEN4hR8YvrqNOaDmnjVYh9kSUBaDqJ4dIP0nioK26zCsOyXaLXe5KssW2sN15MXX+Tup 0nM9yEIzGcTgSO/MTcVQwDUkPbcjUsEzay9r5OtKsPJ1ihR1ubmjGsp7iIROKE/F5qzx PaOQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=DV8lF0x+; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 11-v6si15233935plc.224.2018.10.16.06.12.29; Tue, 16 Oct 2018 06:12:46 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=DV8lF0x+; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727043AbeJPVCW (ORCPT + 99 others); Tue, 16 Oct 2018 17:02:22 -0400 Received: from perceval.ideasonboard.com ([213.167.242.64]:39504 "EHLO perceval.ideasonboard.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726760AbeJPVCW (ORCPT ); Tue, 16 Oct 2018 17:02:22 -0400 Received: from avalon.localnet (dfj612ybrt5fhg77mgycy-3.rev.dnainternet.fi [IPv6:2001:14ba:21f5:5b00:2e86:4862:ef6a:2804]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id DFDD61A81; Tue, 16 Oct 2018 15:11:53 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1539695514; bh=WhpwMLDcD+2DL28YK/oI4T0/BRuG4A3tzuGsy4ldtX0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=DV8lF0x+lMfDyxfzS6KCigWxbT8kp/Lq/R/Byy7w+QmrSOmqg6nmPkijNVTVsniyo U3YS7/7O05EhAPXc4gQH5Cw0Y0E1htjTWKOYQQJ1WS8BYgPVwYEp6lO6dplgr0ppUc XD9qcusjv/sX9St9vCIoicMmosH3Hb6/a7oYt9dQ= From: Laurent Pinchart To: Vladimir Zapolskiy Cc: kieran.bingham@ideasonboard.com, Lee Jones , Vladimir Zapolskiy , Linus Walleij , Rob Herring , Marek Vasut , Wolfram Sang , devicetree@vger.kernel.org, linux-gpio@vger.kernel.org, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 4/7] mfd: ds90ux9xx: add TI DS90Ux9xx de-/serializer MFD driver Date: Tue, 16 Oct 2018 16:12:02 +0300 Message-ID: <6392366.NPbusjoGUK@avalon> Organization: Ideas on Board Oy In-Reply-To: <369ef3ac-6f68-c450-713f-762b1c5cd5c9@mentor.com> References: <20181008211205.2900-1-vz@mleia.com> <3599186.afdMBtdL0k@avalon> <369ef3ac-6f68-c450-713f-762b1c5cd5c9@mentor.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Vladimir, On Saturday, 13 October 2018 18:10:25 EEST Vladimir Zapolskiy wrote: > On 10/12/2018 04:01 PM, Laurent Pinchart wrote: > > On Friday, 12 October 2018 14:47:52 EEST Kieran Bingham wrote: > >> On 12/10/18 11:58, Vladimir Zapolskiy wrote: > [snip] > > >> Essentially they are multi purpose buses - which do not yet have a home. > >> We have used media as a home because of our use case. > >> > >> The use case whether they transfer frames from a camera or to a display > >> are of course closely related, but ultimately covered by two separate > >> subsystems at the pixel level (DRM vs V4L, or other for other data) > >> > >> Perhaps as they are buses - on a level with USB or I2C (except they can > >> of course carry I2C or Serial as well as 'bi-directional video' etc ), > >> they are looking for their own subsystem. > >> > >> Except I don't think we don't want to add a new subsystem for just one > >> (or two) devices... > > > > I'm not sure a new subsystem is needed. As you've noted there's an overlap > > between drivers/media/ and drivers/gpu/drm/ in terms of supported > > hardware. We even have a devices supported by two drivers, one in drivers/ > > media/ and one in drivers/gpu/drm/ (I'm thinking about the adv7511 in > > particular). This is a well known issue, and so far nothing has been done > > in mainline to try and solve it. > > I agree that there's an overlap between drivers/media/ and drivers/gpu/drm/, > formally a hypothetical (sic!) DS90Ux9xx video bridge cell driver should be > added into both subsystems also, and the actual driver of two should be > selected in runtime. I call such a driver 'hypothetical', because in fact I > don't have it, and I'm not so sure that its existence is justified, but > that's only because DS90Ux9xx video bridge functionality is _transparent_, > it does not have any controls literally, but it is a pure luck eventually. I don't think that's entirely correct, there's at least the video bus width (18-bit/24-bit) that needs to be selected. You currently do so through a pinctrl property, but that's not right. > So, as I've stated in my cover letter, I can misuse yours 'lvds-encoder' > driver only for the purpose of establishing a mediated link between > an LVDS controller and a panel over a serializer-deserializer pair. > > > Trying to find another home in drivers/mfd/ to escape from the problem > > isn't a good solution in my opinion. The best option from a Linux point > > of view would be to unify V4L2 and DRM/KMS when it comes to bridge > > support, but that's a long way down the road (I won't complain if you > > want to give it a go though> > > :-)). > > I return you a wider smile :) > > > As your use cases are display, focused, I would propose to start with > > drivers/gpu/drm/bridge/, and leave the problem of camera support for first > > person who will have such a use case. > > Frankly speaking I would like to start from copy-pasting your 'lvds-encoder' > driver into an 'absolutely-transparent-video-bridge' driver with no LVDS or > 'encoder' specifics, adding just a new compatible may suffice, if the > driver is renamed/redefined. > > PS, I remember I owe you a reference OF snippet of data path to a panel. -- Regards, Laurent Pinchart