mbox series

[v3,0/3] mailbox: Allow direct registration to a channel

Message ID 20230410161654.1660757-1-quic_eberman@quicinc.com
Headers show
Series mailbox: Allow direct registration to a channel | expand

Message

Elliot Berman April 10, 2023, 4:16 p.m. UTC
Two mailbox controllers have channel/client binding mechanisms that are
controller-specific and not using the devicetree binding mechanisms. Mailbox
channel/client is conceptually done in two steps: selecting the channel
and binding the selected to channel to a client. Channel selection is sometimes
controller specific (pcc and omap are examples). The channel/client binding
code is all the same.

This small series de-duplicates and refactors the channel/client binding
into a common framework function: "mbox_bind_client" which all of the
channel selection mechanisms can use.

I found this duplicate code while working on the support for Gunyah hypervisor
message queues [1]. I've only been able to compile-test omap-mailbox and pcc,
however it is a straightforward conversion here.

[1]: https://lore.kernel.org/all/20230120224627.4053418-9-quic_eberman@quicinc.com/

Chagnes since v2:
 - Fix warnings in drivers/mailbox/pcc.c reported by lkp@intel.com

Changes since v1:
 - Rebase to https://git.linaro.org/landing-teams/working/fujitsu/integration.git/log/?h=mailbox-for-next
 - Add Tested-By from Sudeep (thanks!)

Elliot Berman (3):
  mailbox: Allow direct registration to a channel
  mailbox: omap: Use mbox_bind_client
  mailbox: pcc: Use mbox_bind_client

 drivers/mailbox/mailbox.c      | 96 ++++++++++++++++++++++++----------
 drivers/mailbox/omap-mailbox.c | 22 ++------
 drivers/mailbox/pcc.c          | 84 +++++++++++++++--------------
 include/linux/mailbox_client.h |  1 +
 4 files changed, 118 insertions(+), 85 deletions(-)


base-commit: 6ccbe33a39523f6d62b22c5ee99c6695993c935e

Comments

Jassi Brar April 17, 2023, 7:08 p.m. UTC | #1
On Mon, Apr 10, 2023 at 11:17 AM Elliot Berman <quic_eberman@quicinc.com> wrote:
>
> Two mailbox controllers have channel/client binding mechanisms that are
> controller-specific and not using the devicetree binding mechanisms. Mailbox
> channel/client is conceptually done in two steps: selecting the channel
> and binding the selected to channel to a client. Channel selection is sometimes
> controller specific (pcc and omap are examples). The channel/client binding
> code is all the same.
>
> This small series de-duplicates and refactors the channel/client binding
> into a common framework function: "mbox_bind_client" which all of the
> channel selection mechanisms can use.
>
> I found this duplicate code while working on the support for Gunyah hypervisor
> message queues [1]. I've only been able to compile-test omap-mailbox and pcc,
> however it is a straightforward conversion here.
>
> [1]: https://lore.kernel.org/all/20230120224627.4053418-9-quic_eberman@quicinc.com/
>
> Chagnes since v2:
>  - Fix warnings in drivers/mailbox/pcc.c reported by lkp@intel.com
>
> Changes since v1:
>  - Rebase to https://git.linaro.org/landing-teams/working/fujitsu/integration.git/log/?h=mailbox-for-next
>  - Add Tested-By from Sudeep (thanks!)
>
> Elliot Berman (3):
>   mailbox: Allow direct registration to a channel
>   mailbox: omap: Use mbox_bind_client
>   mailbox: pcc: Use mbox_bind_client
>
>  drivers/mailbox/mailbox.c      | 96 ++++++++++++++++++++++++----------
>  drivers/mailbox/omap-mailbox.c | 22 ++------
>  drivers/mailbox/pcc.c          | 84 +++++++++++++++--------------
>  include/linux/mailbox_client.h |  1 +
>  4 files changed, 118 insertions(+), 85 deletions(-)
>
Seems fine. Will pick these up for the coming merge window.

Thanks.