Received: by 2002:a5b:505:0:0:0:0:0 with SMTP id o5csp4029118ybp; Sun, 13 Oct 2019 20:25:37 -0700 (PDT) X-Google-Smtp-Source: APXvYqyOCoiNm65LaccSG2BJ6Zy0B7drXS1YOcDhIRFbnCcI1tMy7gl9/1i8tIc4Bddg4xIw3fXO X-Received: by 2002:a17:906:19d9:: with SMTP id h25mr25645753ejd.297.1571023537591; Sun, 13 Oct 2019 20:25:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1571023537; cv=none; d=google.com; s=arc-20160816; b=fUO/YBVNPFZfFUBn5gAAThnITm5oHVvBKmicr08pS/2+PdPc/0eC0sOa6i4NJuN9jG bLbbe1nrCIGPGDGRL+XnKH2LZ/SHgEHGbiLaGRHd3jWngr7awr0LXuYPfJGBmYacQvfL 7TMD/1ORKEq3ZKw7eea2KYv2hUQD61KREfqAF8YlpfnPUfR9Wd87X5MsJoVkAW1e0z3N PC9d0DG87zP5gEZOcCM4HN2OS9p8kbBMk48LvRXXjI4h+C6Jz7q9ON3x0FJoSgW8o9/t dECo7ar7piPPHnu1E2FURNuHQFhHXgbCZWtlSWX3Ucc9k/or9lMBndgQsjlWK3X5hmcn Yr6A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=MoAndGD7+xOBQmFjHRilIe31g5IJG3QAYI2h3oVAfaM=; b=dnJS/KMhg25za/nnIP1vg94y/3a/eHvR08ZRHZj18mvdA89PoDQJTrX+0jFmPCWonB /neBAtgFhlEJPo8W/KvvboXrgSAGRGGX9hgZmTf9KF10qFHy2bKrcJXtdnNqjcvGvkLb ONo0dyRto0CoBOOGCHcNvnQk6q1p8QeBJ1iAM85joNWA+267+DnOr7OpP+IZzQmGqp7a CmMksZD/QslVPYotOTC3y7fPAqAhx7Mld2IDaYOiSf4lHHdJm3Z03Da7Z05fstmCsUxe 0xxlV/AETTfZE1VDeG+6N45nlRI81tKzvR/s/MXDHCXgZdz0OrN6BZcolXG7q5I2p3wf B7PA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=KEcztLNr; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id i9si10466251ejy.106.2019.10.13.20.25.14; Sun, 13 Oct 2019 20:25:37 -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 header.i=@chromium.org header.s=google header.b=KEcztLNr; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729861AbfJNDVe (ORCPT + 99 others); Sun, 13 Oct 2019 23:21:34 -0400 Received: from mail-vs1-f66.google.com ([209.85.217.66]:45947 "EHLO mail-vs1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729823AbfJNDVd (ORCPT ); Sun, 13 Oct 2019 23:21:33 -0400 Received: by mail-vs1-f66.google.com with SMTP id d204so9909090vsc.12 for ; Sun, 13 Oct 2019 20:21:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=MoAndGD7+xOBQmFjHRilIe31g5IJG3QAYI2h3oVAfaM=; b=KEcztLNrUdPKcWuyh2hGeyPVaQfBg/U/7j5i0RNpWCAbI0jKHQPdLtQOyKZlKFk+io gQEboJhqjPtjsmxFmgam36eyS7/VqKYyG6aUXo9s3DFRKrICszdqtvoQabD702grmQ5F 3a9GW6ba/v4r/6DpR1Y28TAVgEcW+/0ZbvEnU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=MoAndGD7+xOBQmFjHRilIe31g5IJG3QAYI2h3oVAfaM=; b=hRRFdMlcoU4XlmVaFyJ1NfXHoK26RDQHsIfHSvQO57XqANobdGXleGV7FKfRuyvxGl pzfBAi2oGy5KTBC9lyE/sIQXD6pzEZYhJHrUwde1ixfa9b/rI3GQk2QHmI1+v92UhyOQ W8eFX8MvcWW8v0HVm/XYwkhNVr5WLDrMcv6V4R4adsc49RwW8f3ISZLEBJM+9mGgKY8y zXfsM9QIJ85z1UTijuChgxNAZ0a29omxT+RnuHbk8SMXl4Tp/PpTDt5aSTH7RoDVi2lO zYSwFSkGA0x7CYK9NfE5lqMe6NE5k4iKRmxrt4eJWFQCzwhSHxYEBJwy2Ji+8Y1uFJw/ jiZg== X-Gm-Message-State: APjAAAW4xP3eaImMAv0NjMMsJ3jC+aB/HkMNpWHCygn7oxq6yZ4h22lH gfxraHyLB1bOArNb5ewh3SHHaMhT0mfOwz+fqZxwK0R9K68j7A== X-Received: by 2002:a05:6102:227c:: with SMTP id v28mr16725837vsd.119.1571023290929; Sun, 13 Oct 2019 20:21:30 -0700 (PDT) MIME-Version: 1.0 References: <20191007071610.65714-1-cychiang@chromium.org> <5d9b5b3e.1c69fb81.7203c.1215@mx.google.com> <5d9ca7e4.1c69fb81.7f8fa.3f7d@mx.google.com> In-Reply-To: From: Cheng-yi Chiang Date: Mon, 14 Oct 2019 11:21:04 +0800 Message-ID: Subject: Re: [PATCH] firmware: vpd: Add an interface to read VPD value To: Srinivas Kandagatla Cc: Stephen Boyd , Guenter Roeck , Tzung-Bi Shih , Linux Kernel Mailing List , ALSA development , Hung-Te Lin , Greg Kroah-Hartman , Sean Paul , Mark Brown , Dylan Reid , Tzung-Bi Shih Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Oct 9, 2019 at 10:05 PM Srinivas Kandagatla wrote: > > > > On 08/10/2019 16:14, Stephen Boyd wrote: > >> 3) As my use case does not use device tree, it is hard for ASoC > >> machine to access nvmem device. I am wondering if I can use > >> nvm_cell_lookup so machine driver can find the nvmem device using a > >> con_id. But currently the cell lookup API requires a matched device, > >> which does not fit my usage because there will be different machine > >> drivers requesting the value. > >> I think I can still workaround this by adding the lookup table in > >> machine driver. This would seem to be a bit weird because I found that > >> most lookup table is added in provider side, not consumer side. Not > >> sure if this is logically correct. > > Maybe Srini has some input here. It looks like your main concern is > > consumer to provider mapping? > > > > In non-DT setup, there are various ways to lookup nvmem provider. > > 1> nvmem_device_get()/put() using provider devid/name. I think you > should be able to use this in your case. > 2> nvmem_register_notifier() which notifies when nvmem provider is added > to system. > 3> nvmem_device_find() with own match function this will be merged in > next window (https://lkml.org/lkml/2019/10/3/215) > > > If none of these are of any help, could explain what exactly are you > looking for w.r.t nvmem to be able to move to what Stephen Boyd suggested? > > --srini > Hi Stephen, Mark and Srinivas, Thank you all for the suggestions. In my non-DT setup, I have been working on coreboot changes to prepare data in _DSD following suggestion in https://patchwork.kernel.org/patch/11179237 The basic idea is that codec driver should just get data it needs from device property. The coreboot approach works in my local setup, but I have not sent the change to coreboot upstream yet. If that path work, then the change needed in kernel will be much simpler. In the future, there might be DT setup use case, and I think it should be doable for VPD to register a nvmem device, and let codec driver gets the property. But I would drop this path for now. Thanks!