Skip to content

vchiq: Patch to separate platform and cdev code

Ojaswin Mujoo linux-arm-kernel linux-staging lkml 3 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v4 Latest5 patches 7 repliesIn review
  2. v35 patches 12 repliesSuperseded
  3. v25 patches 6 repliesSuperseded

Patches in v4 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/5staging: vchiq: Refactor vchiq cdev codedrivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c+92 -500 replies
2/5staging: vchiq: Move certain declarations to vchiq_arm.hdrivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.h+79 -620 replies
3/5staging: vchiq: Move vchiq char driver to its own filedrivers/staging/vc04_services/Makefile drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c+1540 -15200 replies
4/5staging: vchiq: Make creation of vchiq cdev optionaldrivers/staging/vc04_services/Kconfig drivers/staging/vc04_services/Makefile drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.h+23 -12 replies
5/5staging: vchiq: Combine vchiq platform code into single filedrivers/staging/vc04_services/Makefile drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c+535 -5650 replies

Reviews trailers per patch

None of the 5 patches has a Reviewed-by or Acked-by of their own; the series has one for all of them.

PatchStefan Wahren
SeriesR-b
1/5
2/5
3/5
4/5
5/5

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v4 thread

Cover letter [PATCH v4 0/5] vchiq: Patch to separate platform and cdev code

Hello,

This patchset adderesses the TODO item number 10 specified at:

drivers/staging/vc04-services/interface/TODO

For reference, the task is:

10) Reorganize file structure: Move char driver to it's own file and join both platform files

The cdev is defined alongside with the platform code in vchiq_arm.c. It would be nice to completely decouple it from the actual core code. For instance to be able to use bcm2835-audio without having /dev/vchiq created. One could argue it's better for security reasons or general cleanliness. It could even be interesting to create two different kernel modules, something the likes of vchiq-core.ko and vchiq-dev.ko. This would also ease the upstreaming process.

A summary of the patches is as follows:

- Patch 1: Move cdev init code into a function
- Patch 2: Shift some devlarations from vchiq_arm.c to vchiq_arm.h for sharing
- Patch 3: Move vchiq cdev init code from vchiq_arm.c into vchiq_dev.c
- Patch 4: Decouple cdev code by defining a Kconfig entry to allow optional compilation of it.
- Patch 5: Merge code in vchiq_2835_arm.c to vchiq_arm.c

Changes since v3 [2]:

* In Patch 5, replace forward declarations of some of the functions with function definition

Changes since v2 [1]:

* In Patch 1, as suggested, I have added error handling code back to ensure the driver exits when there is an error in creating vchiq cdev

* I have built this patch against the right kernel (gregkh/staging, staging-next branch) to avoid introducing any unwanted inconsistencies like whitespace changes

I have tested the patch using vchiq_test utility on RPi 3B+.

Regards,
Ojaswin

[1] v2: https://lore.kernel.org/patchwork/cover/1449117/
[2] v3: https://lore.kernel.org/patchwork/cover/1453915/

Ojaswin Mujoo (5):
staging: vchiq: Refactor vchiq cdev code
staging: vchiq: Move certain declarations to vchiq_arm.h
staging: vchiq: Move vchiq char driver to its own file
staging: vchiq: Make creation of vchiq cdev optional
staging: vchiq: Combine vchiq platform code into single file

 drivers/staging/vc04_services/Kconfig         |   10 +
 drivers/staging/vc04_services/Makefile        |    5 +-
 .../interface/vchiq_arm/vchiq_2835_arm.c      |  564 ----
 .../interface/vchiq_arm/vchiq_arm.c           | 2330 +++++------------
 .../interface/vchiq_arm/vchiq_arm.h           |   82 +
 .../interface/vchiq_arm/vchiq_dev.c           | 1440 ++++++++++
 6 files changed, 2251 insertions(+), 2180 deletions(-)
 delete mode 100644 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c
 create mode 100644 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c
Signature · 1 line
2.25.1