From: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
To: Loic Poulain <loic.poulain@oss.qualcomm.com>
Cc: Atanas Filipov <atanas.filipov@oss.qualcomm.com>,
linux-media@vger.kernel.org, vladimir.zapolskiy@linaro.org,
mchehab@kernel.org, robh@kernel.org, krzk+dt@kernel.org,
conor+dt@kernel.org, andersson@kernel.org,
konradybcio@kernel.org, linux-arm-msm@vger.kernel.org,
linux-kernel@vger.kernel.org, devicetree@vger.kernel.org
Subject: Re: [PATCH v4 1/5] media: qcom: camss: Populate CAMSS child devices via DT
Date: Thu, 9 Jul 2026 11:04:40 +0100 [thread overview]
Message-ID: <2ea78bd6-5abd-4ba8-8f8e-24057a587cdc@linaro.org> (raw)
In-Reply-To: <CAFEp6-0rwuRzXM0fu0uyrvSvgG0ttpygOULkKfTT7aw8m_HUog@mail.gmail.com>
On 09/07/2026 08:45, Loic Poulain wrote:
> On Thu, Jul 9, 2026 at 12:30 AM Bryan O'Donoghue
> <bryan.odonoghue@linaro.org> wrote:
>>
>> On 06/07/2026 08:11, Atanas Filipov wrote:
>>> From: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
>>>
>>> Use devm_of_platform_populate() so that child nodes declared under the
>>> CAMSS device tree node (e.g. OPE) are automatically instantiated as
>>> platform devices. This is required now that CAMSS is modelled as a
>>> simple-bus and ISP blocks such as OPE are described as child nodes.
>>>
>>> Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
>>> Reviewed-by: Loic Poulain <loic.poulain@oss.qualcomm.com>
>>> Signed-off-by: Atanas Filipov <atanas.filipov@oss.qualcomm.com>
>>
>> Looking at my commit logs I see this isn't my commit message ..
>>
>> Anyway.
>>
>>> ---
>>> drivers/media/platform/qcom/camss/camss.c | 3 +++
>>> 1 file changed, 3 insertions(+)
>>>
>>> diff --git a/drivers/media/platform/qcom/camss/camss.c b/drivers/media/platform/qcom/camss/camss.c
>>> index 2123f6388e3d..95e655a8b6aa 100644
>>> --- a/drivers/media/platform/qcom/camss/camss.c
>>> +++ b/drivers/media/platform/qcom/camss/camss.c
>>> @@ -16,6 +16,7 @@
>>> #include <linux/of.h>
>>> #include <linux/of_device.h>
>>> #include <linux/of_graph.h>
>>> +#include <linux/of_platform.h>
>>> #include <linux/pm_runtime.h>
>>> #include <linux/pm_domain.h>
>>> #include <linux/slab.h>
>>> @@ -5362,6 +5363,8 @@ static int camss_probe(struct platform_device *pdev)
>>> if (!camss)
>>> return -ENOMEM;
>>>
>>> + devm_of_platform_populate(dev);
>>> +
>>> camss->res = of_device_get_match_data(dev);
>>>
>>> atomic_set(&camss->ref_count, 0);
>>
>> Just drop this patch entirely and model JPEG as a peer of CAMSS. I'll do
>> the same with the CSIPHY and Loic the OPE.
>>
>> Modelling for subnodes is nice if you have the idea the camera block
>> should be a bus.
>>
>> But for what reason ? As you pointed out it should be possible to both
>> compile and run JPEG without the compat=camss node on sm8250.
>>
>> Making the camera block a bus is a nice idea for "reasons" as this
>> thread has shown, its a problem to implement with an upside we struggle
>> to define.
>>
>> When the facts change, I change my mind.
>>
>> You were right to argue to have this as a peer node. Lets do that.
>
> Having a camera-subsystem bus/parent still makes sense, especially
> when dealing with shared resources. Whether that should be the
> existing camss node is indeed the question. Today, camss effectively
> describes only the VFE (including the CSID) and CSIPHY, so using it as
> the subsystem parent would introduce incorrect layering unless the
> node is significantly reworked/broken. So yes, for now, keeping the
> components as peers appears to be the simpler and more scalable
> approach.
>
> Regards,
> Loic
I would _like_ a bus but the question is how do you mutate the existing
IFE only node to a bus - without a big bang integration ?
There doesn't seem to be support with colleagues to gradually transition
so we're best off making individual nodes - why BTW isn't wrong and has
upsides - like clear separation of JPEG and IFE in this example.
---
bod
next prev parent reply other threads:[~2026-07-09 10:04 UTC|newest]
Thread overview: 69+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-06 7:11 [PATCH v4 0/5] Add Qualcomm JPEG V4L2 encoder for SM8250 Atanas Filipov
2026-07-06 7:11 ` [PATCH v4 1/5] media: qcom: camss: Populate CAMSS child devices via DT Atanas Filipov
2026-07-06 7:23 ` sashiko-bot
2026-07-06 12:09 ` Krzysztof Kozlowski
2026-07-06 12:27 ` Bryan O'Donoghue
2026-07-06 12:36 ` Krzysztof Kozlowski
2026-07-06 12:38 ` Bryan O'Donoghue
2026-07-06 12:41 ` Dmitry Baryshkov
2026-07-08 22:30 ` Bryan O'Donoghue
2026-07-09 7:45 ` Loic Poulain
2026-07-09 10:04 ` Bryan O'Donoghue [this message]
2026-07-06 7:11 ` [PATCH v4 2/5] dt-bindings: media: qcom,sm8250-camss: allow JPEG encoder child node Atanas Filipov
2026-07-06 7:24 ` sashiko-bot
2026-07-06 10:07 ` Bryan O'Donoghue
2026-07-06 12:11 ` Krzysztof Kozlowski
2026-07-06 7:11 ` [PATCH v4 3/5] dt-bindings: media: qcom: Add JPEG encoder binding Atanas Filipov
2026-07-06 7:18 ` sashiko-bot
2026-07-06 10:19 ` Bryan O'Donoghue
2026-07-06 12:17 ` Krzysztof Kozlowski
2026-07-06 7:11 ` [PATCH v4 4/5] arm64: dts: qcom: sm8250: Add JPEG encoder node Atanas Filipov
2026-07-06 7:29 ` sashiko-bot
2026-07-06 12:18 ` Krzysztof Kozlowski
2026-07-06 12:45 ` Dmitry Baryshkov
2026-07-06 7:11 ` [PATCH v4 5/5] media: qcom: jpeg: Add Qualcomm JPEG V4L2 encoder Atanas Filipov
2026-07-06 7:33 ` sashiko-bot
2026-07-06 7:46 ` Vladimir Zapolskiy
2026-07-07 13:24 ` Gjorgji Rosikopulos (Consultant)
2026-07-07 13:32 ` Dmitry Baryshkov
2026-07-07 13:47 ` Gjorgji Rosikopulos (Consultant)
2026-07-07 14:47 ` Dmitry Baryshkov
2026-07-07 14:51 ` Gjorgji Rosikopulos (Consultant)
2026-07-08 8:47 ` Vladimir Zapolskiy
2026-07-08 9:32 ` Gjorgji Rosikopulos (Consultant)
2026-07-08 10:28 ` Vladimir Zapolskiy
2026-07-08 11:35 ` Dmitry Baryshkov
2026-07-08 12:01 ` Vladimir Zapolskiy
2026-07-08 15:44 ` Gjorgji Rosikopulos (Consultant)
2026-07-08 16:25 ` Vladimir Zapolskiy
2026-07-06 10:21 ` Bryan O'Donoghue
2026-07-06 12:19 ` Krzysztof Kozlowski
2026-07-06 13:11 ` Dmitry Baryshkov
2026-07-06 17:13 ` Uwe Kleine-König
2026-07-06 10:12 ` [PATCH v4 0/5] Add Qualcomm JPEG V4L2 encoder for SM8250 Bryan O'Donoghue
2026-07-06 12:00 ` Vladimir Zapolskiy
2026-07-06 12:11 ` Bryan O'Donoghue
2026-07-06 13:02 ` Vladimir Zapolskiy
2026-07-06 13:37 ` Bryan O'Donoghue
2026-07-06 13:57 ` Vladimir Zapolskiy
2026-07-06 14:12 ` Bryan O'Donoghue
2026-07-06 14:35 ` Vladimir Zapolskiy
2026-07-06 14:49 ` Bryan O'Donoghue
2026-07-06 15:00 ` Vladimir Zapolskiy
2026-07-07 9:24 ` Konrad Dybcio
2026-07-07 10:00 ` Bryan O'Donoghue
2026-07-07 10:11 ` Konrad Dybcio
2026-07-07 10:41 ` Bryan O'Donoghue
2026-07-08 12:19 ` Konrad Dybcio
2026-07-08 21:21 ` Bryan O'Donoghue
2026-07-09 5:41 ` Gjorgji Rosikopulos (Consultant)
2026-07-09 7:33 ` Dmitry Baryshkov
2026-07-09 10:31 ` Bryan O'Donoghue
2026-07-07 12:17 ` Gjorgji Rosikopulos (Consultant)
2026-07-07 10:55 ` Gjorgji Rosikopulos (Consultant)
2026-07-07 11:13 ` Bryan O'Donoghue
2026-07-07 11:20 ` Gjorgji Rosikopulos (Consultant)
2026-07-07 11:15 ` Bryan O'Donoghue
2026-07-07 13:22 ` Dmitry Baryshkov
2026-07-07 15:49 ` Bryan O'Donoghue
2026-07-06 12:24 ` 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=2ea78bd6-5abd-4ba8-8f8e-24057a587cdc@linaro.org \
--to=bryan.odonoghue@linaro.org \
--cc=andersson@kernel.org \
--cc=atanas.filipov@oss.qualcomm.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=konradybcio@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=loic.poulain@oss.qualcomm.com \
--cc=mchehab@kernel.org \
--cc=robh@kernel.org \
--cc=vladimir.zapolskiy@linaro.org \
/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