mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Prasad Kumpatla <prasad.kumpatla@oss.qualcomm.com>
To: Mark Brown <broonie@kernel.org>, Srinivas Kandagatla <srini@kernel.org>
Cc: Liam Girdwood <lgirdwood@gmail.com>,
	Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Jaroslav Kysela <perex@perex.cz>, Takashi Iwai <tiwai@suse.com>,
	linux-arm-msm@vger.kernel.org, linux-sound@vger.kernel.org,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	Sashiko <sashiko-bot@kernel.org>
Subject: Re: [PATCH v1 1/5] dt-bindings: sound: qcom,q6dsp-lpass-ports: Rename QAIF clock IDs
Date: Mon, 17 Aug 2026 14:22:21 +0530	[thread overview]
Message-ID: <cc33a87f-760c-42d0-866a-0d86e38cdb29@oss.qualcomm.com> (raw)
In-Reply-To: <81474771-c89e-4476-97ae-032756879605@sirena.org.uk>


On 8/11/2026 11:49 PM, Mark Brown wrote:
> On Sat, Aug 08, 2026 at 11:49:44PM +0530, Prasad Kumpatla wrote:
>> The QAIF clock IDs were added with a LAPSS prefix typo. These IDs are
>> new, so rename them directly to the existing LPASS naming convention
>> instead of keeping misspelled aliases.
> This breaks the build.  *Please* test things before sending them.

Hi Mark,

The affected LPASS_CLK_ID references were updated in
patch 2, and I compiled and tested the series as a whole, so I missed that
patch 1 does not build independently. I'll combine patches 1 and 2 in the
next revision so the rename and all corresponding user updates are applied
together, ensuring the patch builds cleanly on its own.

If you have any suggestions on the preferred structure for this series, 
please let me know.
a { text-decoration: none; color: #464feb; }tr th, tr td { border: 1px 
solid #e6e6e6; }tr th { background-color: #f5f5f5; }
If you have any suggestions on the preferred structure for this series, 
please let me know.

Thanks,
Prasad

>
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:67:19: error: ‘LAPSS_CLK_ID_QAIF_IF0_IBIT’ undeclared here (not in a function); did you mean ‘LPASS_CLK_ID_QAIF_IF0_IBIT’?
>     67 |         Q6PRM_CLK(LAPSS_CLK_ID_QAIF_IF0_IBIT),
>        |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:15:27: note: in definition of macro ‘Q6PRM_CLK’
>     15 |                 .clk_id = id,                           \
>        |                           ^~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:68:19: error: ‘LAPSS_CLK_ID_QAIF_IF0_EBIT’ undeclared here (not in a function); did you mean ‘LPASS_CLK_ID_QAIF_IF0_EBIT’?
>     68 |         Q6PRM_CLK(LAPSS_CLK_ID_QAIF_IF0_EBIT),
>        |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:15:27: note: in definition of macro ‘Q6PRM_CLK’
>     15 |                 .clk_id = id,                           \
>        |                           ^~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:69:19: error: ‘LAPSS_CLK_ID_QAIF_IF1_IBIT’ undeclared here (not in a function); did you mean ‘LPASS_CLK_ID_QAIF_IF1_IBIT’?
>     69 |         Q6PRM_CLK(LAPSS_CLK_ID_QAIF_IF1_IBIT),
>        |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:15:27: note: in definition of macro ‘Q6PRM_CLK’
>     15 |                 .clk_id = id,                           \
>        |                           ^~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:70:19: error: ‘LAPSS_CLK_ID_QAIF_IF1_EBIT’ undeclared here (not in a function); did you mean ‘LPASS_CLK_ID_QAIF_IF1_EBIT’?
>     70 |         Q6PRM_CLK(LAPSS_CLK_ID_QAIF_IF1_EBIT),
>        |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:15:27: note: in definition of macro ‘Q6PRM_CLK’
>     15 |                 .clk_id = id,                           \
>        |                           ^~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:71:19: error: ‘LAPSS_CLK_ID_QAIF_IF2_IBIT’ undeclared here (not in a function); did you mean ‘LPASS_CLK_ID_QAIF_IF2_IBIT’?
>     71 |         Q6PRM_CLK(LAPSS_CLK_ID_QAIF_IF2_IBIT),
>        |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:15:27: note: in definition of macro ‘Q6PRM_CLK’
>     15 |                 .clk_id = id,                           \
>        |                           ^~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:72:19: error: ‘LAPSS_CLK_ID_QAIF_IF2_EBIT’ undeclared here (not in a function); did you mean ‘LPASS_CLK_ID_QAIF_IF2_EBIT’?
>     72 |         Q6PRM_CLK(LAPSS_CLK_ID_QAIF_IF2_EBIT),
>        |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:15:27: note: in definition of macro ‘Q6PRM_CLK’
>     15 |                 .clk_id = id,                           \
>        |                           ^~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:73:19: error: ‘LAPSS_CLK_ID_QAIF_IF3_IBIT’ undeclared here (not in a function); did you mean ‘LPASS_CLK_ID_QAIF_IF3_IBIT’?
>     73 |         Q6PRM_CLK(LAPSS_CLK_ID_QAIF_IF3_IBIT),
>        |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:15:27: note: in definition of macro ‘Q6PRM_CLK’
>     15 |                 .clk_id = id,                           \
>        |                           ^~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:74:19: error: ‘LAPSS_CLK_ID_QAIF_IF3_EBIT’ undeclared here (not in a function); did you mean ‘LPASS_CLK_ID_QAIF_IF3_EBIT’?
>     74 |         Q6PRM_CLK(LAPSS_CLK_ID_QAIF_IF3_EBIT),
>        |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:15:27: note: in definition of macro ‘Q6PRM_CLK’
>     15 |                 .clk_id = id,                           \
>        |                           ^~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:75:19: error: ‘LAPSS_CLK_ID_QAIF_IF4_IBIT’ undeclared here (not in a function); did you mean ‘LPASS_CLK_ID_QAIF_IF4_IBIT’?
>     75 |         Q6PRM_CLK(LAPSS_CLK_ID_QAIF_IF4_IBIT),
>        |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:15:27: note: in definition of macro ‘Q6PRM_CLK’
>     15 |                 .clk_id = id,                           \
>        |                           ^~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:76:19: error: ‘LAPSS_CLK_ID_QAIF_IF4_EBIT’ undeclared here (not in a function); did you mean ‘LPASS_CLK_ID_QAIF_IF4_EBIT’?
>     76 |         Q6PRM_CLK(LAPSS_CLK_ID_QAIF_IF4_EBIT),
>        |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:15:27: note: in definition of macro ‘Q6PRM_CLK’
>     15 |                 .clk_id = id,                           \
>        |                           ^~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:77:19: error: ‘LAPSS_CLK_ID_QAIF_IF5_IBIT’ undeclared here (not in a function); did you mean ‘LPASS_CLK_ID_QAIF_IF5_IBIT’?
>     77 |         Q6PRM_CLK(LAPSS_CLK_ID_QAIF_IF5_IBIT),
>        |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:15:27: note: in definition of macro ‘Q6PRM_CLK’
>     15 |                 .clk_id = id,                           \
>        |                           ^~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:78:19: error: ‘LAPSS_CLK_ID_QAIF_IF5_EBIT’ undeclared here (not in a function); did you mean ‘LPASS_CLK_ID_QAIF_IF5_EBIT’?
>     78 |         Q6PRM_CLK(LAPSS_CLK_ID_QAIF_IF5_EBIT),
>        |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:15:27: note: in definition of macro ‘Q6PRM_CLK’
>     15 |                 .clk_id = id,                           \
>        |                           ^~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:79:19: error: ‘LAPSS_CLK_ID_QAIF_IF6_IBIT’ undeclared here (not in a function); did you mean ‘LPASS_CLK_ID_QAIF_IF6_IBIT’?
>     79 |         Q6PRM_CLK(LAPSS_CLK_ID_QAIF_IF6_IBIT),
>        |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:15:27: note: in definition of macro ‘Q6PRM_CLK’
>     15 |                 .clk_id = id,                           \
>        |                           ^~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:80:19: error: ‘LAPSS_CLK_ID_QAIF_IF6_EBIT’ undeclared here (not in a function); did you mean ‘LPASS_CLK_ID_QAIF_IF6_EBIT’?
>     80 |         Q6PRM_CLK(LAPSS_CLK_ID_QAIF_IF6_EBIT),
>        |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:15:27: note: in definition of macro ‘Q6PRM_CLK’
>     15 |                 .clk_id = id,                           \
>        |                           ^~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:81:19: error: ‘LAPSS_CLK_ID_QAIF_IF7_IBIT’ undeclared here (not in a function); did you mean ‘LPASS_CLK_ID_QAIF_IF7_IBIT’?
>     81 |         Q6PRM_CLK(LAPSS_CLK_ID_QAIF_IF7_IBIT),
>        |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:15:27: note: in definition of macro ‘Q6PRM_CLK’
>     15 |                 .clk_id = id,                           \
>        |                           ^~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:82:19: error: ‘LAPSS_CLK_ID_QAIF_IF7_EBIT’ undeclared here (not in a function); did you mean ‘LPASS_CLK_ID_QAIF_IF7_EBIT’?
>     82 |         Q6PRM_CLK(LAPSS_CLK_ID_QAIF_IF7_EBIT),
>        |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:15:27: note: in definition of macro ‘Q6PRM_CLK’
>     15 |                 .clk_id = id,                           \
>        |                           ^~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:83:19: error: ‘LAPSS_CLK_ID_QAIF_IF8_IBIT’ undeclared here (not in a function); did you mean ‘LPASS_CLK_ID_QAIF_IF8_IBIT’?
>     83 |         Q6PRM_CLK(LAPSS_CLK_ID_QAIF_IF8_IBIT),
>        |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:15:27: note: in definition of macro ‘Q6PRM_CLK’
>     15 |                 .clk_id = id,                           \
>        |                           ^~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:84:19: error: ‘LAPSS_CLK_ID_QAIF_IF8_EBIT’ undeclared here (not in a function); did you mean ‘LPASS_CLK_ID_QAIF_IF8_EBIT’?
>     84 |         Q6PRM_CLK(LAPSS_CLK_ID_QAIF_IF8_EBIT),
>        |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:15:27: note: in definition of macro ‘Q6PRM_CLK’
>     15 |                 .clk_id = id,                           \
>        |                           ^~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:85:19: error: ‘LAPSS_CLK_ID_QAIF_IF9_IBIT’ undeclared here (not in a function); did you mean ‘LPASS_CLK_ID_QAIF_IF9_IBIT’?
>     85 |         Q6PRM_CLK(LAPSS_CLK_ID_QAIF_IF9_IBIT),
>        |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:15:27: note: in definition of macro ‘Q6PRM_CLK’
>     15 |                 .clk_id = id,                           \
>        |                           ^~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:86:19: error: ‘LAPSS_CLK_ID_QAIF_IF9_EBIT’ undeclared here (not in a function); did you mean ‘LPASS_CLK_ID_QAIF_IF9_EBIT’?
>     86 |         Q6PRM_CLK(LAPSS_CLK_ID_QAIF_IF9_EBIT),
>        |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:15:27: note: in definition of macro ‘Q6PRM_CLK’
>     15 |                 .clk_id = id,                           \
>        |                           ^~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:87:19: error: ‘LAPSS_CLK_ID_QAIF_IF10_IBIT’ undeclared here (not in a function); did you mean ‘LPASS_CLK_ID_QAIF_IF10_IBIT’?
>     87 |         Q6PRM_CLK(LAPSS_CLK_ID_QAIF_IF10_IBIT),
>        |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:15:27: note: in definition of macro ‘Q6PRM_CLK’
>     15 |                 .clk_id = id,                           \
>        |                           ^~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:88:19: error: ‘LAPSS_CLK_ID_QAIF_IF10_EBIT’ undeclared here (not in a function); did you mean ‘LPASS_CLK_ID_QAIF_IF10_EBIT’?
>     88 |         Q6PRM_CLK(LAPSS_CLK_ID_QAIF_IF10_EBIT),
>        |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:15:27: note: in definition of macro ‘Q6PRM_CLK’
>     15 |                 .clk_id = id,                           \
>        |                           ^~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:89:19: error: ‘LAPSS_CLK_ID_QAIF_IF11_IBIT’ undeclared here (not in a function); did you mean ‘LPASS_CLK_ID_QAIF_IF11_IBIT’?
>     89 |         Q6PRM_CLK(LAPSS_CLK_ID_QAIF_IF11_IBIT),
>        |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:15:27: note: in definition of macro ‘Q6PRM_CLK’
>     15 |                 .clk_id = id,                           \
>        |                           ^~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:90:19: error: ‘LAPSS_CLK_ID_QAIF_IF11_EBIT’ undeclared here (not in a function); did you mean ‘LPASS_CLK_ID_QAIF_IF11_EBIT’?
>     90 |         Q6PRM_CLK(LAPSS_CLK_ID_QAIF_IF11_EBIT),
>        |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:15:27: note: in definition of macro ‘Q6PRM_CLK’
>     15 |                 .clk_id = id,                           \
>        |                           ^~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:91:19: error: ‘LAPSS_CLK_ID_QAIF_IF12_IBIT’ undeclared here (not in a function); did you mean ‘LPASS_CLK_ID_QAIF_IF12_IBIT’?
>     91 |         Q6PRM_CLK(LAPSS_CLK_ID_QAIF_IF12_IBIT),
>        |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:15:27: note: in definition of macro ‘Q6PRM_CLK’
>     15 |                 .clk_id = id,                           \
>        |                           ^~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:92:19: error: ‘LAPSS_CLK_ID_QAIF_IF12_EBIT’ undeclared here (not in a function); did you mean ‘LPASS_CLK_ID_QAIF_IF12_EBIT’?
>     92 |         Q6PRM_CLK(LAPSS_CLK_ID_QAIF_IF12_EBIT),
>        |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:15:27: note: in definition of macro ‘Q6PRM_CLK’
>     15 |                 .clk_id = id,                           \
>        |                           ^~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:93:19: error: ‘LAPSS_CLK_ID_VA_QAIF_IF0_IBIT’ undeclared here (not in a function); did you mean ‘LPASS_CLK_ID_VA_QAIF_IF0_IBIT’?
>     93 |         Q6PRM_CLK(LAPSS_CLK_ID_VA_QAIF_IF0_IBIT),
>        |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:15:27: note: in definition of macro ‘Q6PRM_CLK’
>     15 |                 .clk_id = id,                           \
>        |                           ^~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:94:19: error: ‘LAPSS_CLK_ID_VA_QAIF_IF0_EBIT’ undeclared here (not in a function); did you mean ‘LPASS_CLK_ID_VA_QAIF_IF0_EBIT’?
>     94 |         Q6PRM_CLK(LAPSS_CLK_ID_VA_QAIF_IF0_EBIT),
>        |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /build/stage/linux/sound/soc/qcom/qdsp6/q6prm-clocks.c:15:27: note: in definition of macro ‘Q6PRM_CLK’
>     15 |                 .clk_id = id,                           \
>        |                           ^~

  reply	other threads:[~2026-08-17  8:52 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-08 18:19 [PATCH v1 0/5] ASoC: qcom: Fix AudioReach TDM review findings Prasad Kumpatla
2026-08-08 18:19 ` [PATCH v1 1/5] dt-bindings: sound: qcom,q6dsp-lpass-ports: Rename QAIF clock IDs Prasad Kumpatla
2026-08-11 18:19   ` Mark Brown
2026-08-17  8:52     ` Prasad Kumpatla [this message]
2026-08-13  9:27   ` Krzysztof Kozlowski
2026-08-08 18:19 ` [PATCH v1 2/5] ASoC: qcom: q6prm: Fix QAIF clock ID typo Prasad Kumpatla
2026-08-08 18:19 ` [PATCH v1 3/5] ASoC: qcom: qdsp6: Zero-initialize AudioReach module config Prasad Kumpatla
2026-08-08 18:19 ` [PATCH v1 4/5] ASoC: qcom: common: Distinguish missing and invalid TDM slot configuration Prasad Kumpatla
2026-08-08 18:19 ` [PATCH v1 5/5] ASoC: qcom: sc8280xp: Fix TDM hw_params error handling Prasad Kumpatla

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=cc33a87f-760c-42d0-866a-0d86e38cdb29@oss.qualcomm.com \
    --to=prasad.kumpatla@oss.qualcomm.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-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sound@vger.kernel.org \
    --cc=perex@perex.cz \
    --cc=robh@kernel.org \
    --cc=sashiko-bot@kernel.org \
    --cc=srini@kernel.org \
    --cc=tiwai@suse.com \
    /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

all inboxes | Powered by JetHome®