From: Krzysztof Kozlowski <krzk@kernel.org>
To: "Ding, Shenghao" <shenghao-ding@ti.com>
Cc: "Xu, Baojun" <baojun.xu@ti.com>,
"broonie@kernel.org" <broonie@kernel.org>,
"tiwai@suse.de" <tiwai@suse.de>,
"13916275206@139.com" <13916275206@139.com>,
"linux-sound@vger.kernel.org" <linux-sound@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"lgirdwood@gmail.com" <lgirdwood@gmail.com>,
"robh@kernel.org" <robh@kernel.org>,
"krzk+dt@kernel.org" <krzk+dt@kernel.org>,
"conor+dt@kernel.org" <conor+dt@kernel.org>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
"andriy.shevchenko@linux.intel.com"
<andriy.shevchenko@linux.intel.com>
Subject: Re: [EXTERNAL] Re: [PATCH v1 2/2] ASoC: tas2781: Add tas5832 support
Date: Tue, 17 Mar 2026 08:06:51 +0100 [thread overview]
Message-ID: <53379548-dcac-4724-8ec8-50ce07807cc4@kernel.org> (raw)
In-Reply-To: <d8303fc67ae84232b4b6ff0ef8cad6f1@ti.com>
On 17/03/2026 07:05, Ding, Shenghao wrote:
>>>>>
>>>>>>>>>>>>> static const struct of_device_id tasdevice_of_match[] = {
>>>>>
>>>>>>>>>>>>> { .compatible = "ti,tas5827" },
>>>>>>>>>>>>> { .compatible = "ti,tas5828" },
>>>>>>>>>>>>> { .compatible = "ti,tas5830" },
>>>>>>>>>>>>> + { .compatible = "ti,tas5832" },
>>>>>>>>>>>>
>>> ...
>>>>>
>>>>> I don't know what you are trying to get from them, but I²C
>>>>> enumeration on DT platforms works in a way that it takes two tables
>>>>> into account, hence, if there is no compatible (with given part
>>>>> number) there will be no matching name.
>>>>>
>>>>> AFAIK it has to have a compatible to make it work in such a case.
>>>>> What did I miss?
>>>>
>>>> Show me please then how the OF table is used here at all to get the name.
>>>
>>> This code will also be used for ACPI devices. To ensure consistent bin
>>> file naming between ACPI and DTS devices, the mapping table
>>> tasdevice_id[] has been introduced.
>>
>> We need to stop discussing with irrelevant arguments, really.
>>
>> I asked to show me how this is going to be used in DT. No answer to this part.
>>
>> Now you claim this OF ID will be used for ACPI devices, but YOU HAVE already
>> ACPI table there, so that's clearly invalid argument. Do you understand how
>> patch/email review works? Where the comments appear and what is being
>> discussed?
>>
>>> The code retrieves the corresponding name of the chip from
>>> tasdevice_id[] based on its order in tasdevice_of_match[] or
>> tasdevice_acpi_match[].
>>
>> Based on the order in table? No, that's crazy buggy solution to tie order of
>> entries in both tables. And it makes no sense... and I am sure code does not
>> do it, so again irrelevant argument.
>
> It should be noted that the current implementation relies on id_table
OF ID table is the ID table which we talk here about. Please read again
where do the comments appear, which part is being discussed.
> (rather than OF_ID) to obtain the chip name and chip ID. The chip ID i
> s specifically reserved for handling exceptional cases, for example,
> the workaround for the TAS2781’s lower speaker impedance issue.
>
> Since the 58xx family lacks a dedicated register to query the chip ID,
> both the supported chip ID and name are stored in id_table.
> This approach allows compatibility with both DT-based (Device Tree)
> and ACPI-based (Advanced Configuration and Power Interface) device.
>
> if (ACPI_HANDLE(&i2c->dev)) {
> acpi_id = acpi_match_device(i2c->dev.driver->acpi_match_table,
> &i2c->dev);
> if (!acpi_id) {
> dev_err(&i2c->dev, "No driver data\n");
> ret = -EINVAL;
> goto err;
> }
> tas_priv->chip_id = acpi_id->driver_data;
> tas_priv->isacpi = true;
> } else {
> tas_priv->chip_id = (uintptr_t)i2c_get_match_data(i2c);
> tas_priv->isacpi = false;
> }
I do not see the point you are making. All last replies felt off topic
to me, so just to be sure - do you understand how i2c_get_match_data()
works? That it calls device_get_match_data() which will return what?
What exactly?
Best regards,
Krzysztof
next prev parent reply other threads:[~2026-03-17 7:06 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-26 7:57 [PATCH v1 1/2] ASoC: dt-bindings: ti,tas2781: Add TAS5832 support Baojun Xu
2026-02-26 7:57 ` [PATCH v1 2/2] ASoC: tas2781: Add tas5832 support Baojun Xu
2026-02-27 10:34 ` Krzysztof Kozlowski
2026-02-27 10:40 ` [EXTERNAL] " Xu, Baojun
2026-02-27 10:46 ` Krzysztof Kozlowski
2026-03-02 8:24 ` Xu, Baojun
2026-03-02 8:58 ` Krzysztof Kozlowski
2026-03-02 9:22 ` Xu, Baojun
2026-03-02 9:27 ` Krzysztof Kozlowski
2026-03-02 9:37 ` Xu, Baojun
2026-03-02 10:07 ` Krzysztof Kozlowski
2026-03-02 9:44 ` andriy.shevchenko
2026-03-02 10:09 ` Krzysztof Kozlowski
2026-03-06 10:08 ` Ding, Shenghao
2026-03-06 10:41 ` Krzysztof Kozlowski
2026-03-17 6:05 ` Ding, Shenghao
2026-03-17 7:06 ` Krzysztof Kozlowski [this message]
2026-03-26 2:24 ` Ding, Shenghao
2026-02-27 10:35 ` [PATCH v1 1/2] ASoC: dt-bindings: ti,tas2781: Add TAS5832 support Krzysztof Kozlowski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=53379548-dcac-4724-8ec8-50ce07807cc4@kernel.org \
--to=krzk@kernel.org \
--cc=13916275206@139.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=baojun.xu@ti.com \
--cc=broonie@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=krzk+dt@kernel.org \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=robh@kernel.org \
--cc=shenghao-ding@ti.com \
--cc=tiwai@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox