From mboxrd@z Thu Jan 1 00:00:00 1970 From: Pierre-Louis Bossart Subject: Re: [PATCH v2 1/3] ACPI / utils: Introduce acpi_dev_get_dev_name() Date: Fri, 5 Jan 2018 09:55:31 -0600 Message-ID: <4a1db265-a1cd-727e-1bf5-474d5f662955@linux.intel.com> References: <20180104164709.64387-1-andriy.shevchenko@linux.intel.com> <20180104164709.64387-2-andriy.shevchenko@linux.intel.com> <1515154920.7000.732.camel@linux.intel.com> <1515155974.7000.735.camel@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1515155974.7000.735.camel@linux.intel.com> Content-Language: en-US Sender: linux-gpio-owner@vger.kernel.org To: Andy Shevchenko , "Rafael J. Wysocki" Cc: "Rafael J. Wysocki" , Erik Schmauss , ACPI Devel Maling List , Liam Girdwood , Mark Brown , "moderated list:SOUND - SOC LAYER / DYNAMIC AUDIO POWER MANAGEM..." , Linus Walleij , linux-gpio@vger.kernel.org, Mika Westerberg List-Id: alsa-devel@alsa-project.org On 1/5/18 6:39 AM, Andy Shevchenko wrote: > On Fri, 2018-01-05 at 13:34 +0100, Rafael J. Wysocki wrote: >> On Fri, Jan 5, 2018 at 1:22 PM, Andy Shevchenko >> wrote: >>> On Fri, 2018-01-05 at 13:06 +0100, Rafael J. Wysocki wrote: >>>> On Thu, Jan 4, 2018 at 5:47 PM, Andy Shevchenko >>>> wrote: > >>> "Subset of Intel ASoC drivers is an existing user of this API when >>> they >>> need to find an actual instance of the codec device based on its >>> ACPI >>> HID." >> >> And why do they need the name (and not something else)? > > I don't know the guts of Intel ASoC implementation, so, can't answer > this without investigation. > > Pierre, can you elaborate this piece? Because the ASoC DAI structures use strings to represent the codec name. See e.g. http://elixir.free-electrons.com/linux/latest/source/sound/soc/intel/boards/cht_bsw_rt5645.c#L480 http://elixir.free-electrons.com/linux/latest/source/sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c#L37 In most cases a hard-coded name is fine, except when the BIOS uses a different HID or the ACPI subsystem changes the :00 ending to :01 So what the code does is that you look for a set of known HIDs, create the machine driver and pass the HID as pdata, then in the machine driver once you query the string that lets ASoC do the rest of the card creation. You can argue that ASoC should not use strings, but that's not really a debate at this point: all I am trying to do is to make devices work when their BIOS is slightly different from the norm. > >>> So, acpi_dev_get_name() then? >> >> It would be somewhat clearer to call it >> acpi_dev_get_first_match_name() IMO. >> >> Otherwise it may not be clear what name this is going to return. > > Works for me. > >