[PATCH v4 0/5] vchiq: Patch to separate platform and cdev code
From: Ojaswin Mujoo
Date: Wed Jul 21 2021 - 12:21:24 EST
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
--
2.25.1