[RFC PATCH 0/8] firewire: core: support legacy layout of configuration ROM for AV/C device

From: Takashi Sakamoto
Date: Sun Dec 17 2023 - 05:30:31 EST


Hi,

Current core function of Linux FireWire subsystem partly supports legacy
layout of configuration ROM, described in annex of 1394TA document[1]. It
appears that some users have the demand of full support[2]. The series of
change is to satisfy the demand.

The change relates to driver matching procedure and notification to user
space, thus could easily bring functional regression. For safe, the series
includes KUnit application to test the change.

However, backward incompatibility is inevitable due to change of modalias
for unit device. As long as I investigated, any unit drivers in kernel
are not affected by the change. Additionally, less applications in user
space are not as well. I think we can be optimistic to the regression.

Anyway, I'm pleased if receiving your comment or test report about the
change.

[1] Configuration ROM for AV/C Devices 1.0 (December 12, 2000, 1394
Trading Association, TA Document 1999027)
https://web.archive.org/web/20210216003030/http://1394ta.org/wp-content/uploads/2015/07/1999027.pdf
[2] [PATCH] Fix missing sysfs vendor/model entries for some devices
https://sourceforge.net/p/linux1394/mailman/message/55802731/


Regards


Takashi Sakamoto (8):
firewire: core: adds constant qualifier for local helper functions
firewire: core: replace magic number with macro
firewire: test: add KUnit test for internal CSR API
firewire: test: add test of CSR API for simple AV/C device
firewire: test: add test of CSR API for legacy AV/C device
firewire: core: detect numeric model identifier for legacy layout of
configuration ROM
firewire: core: detect model name for legacy layout of configuration
ROM
firewire: core: change modalias of unit device with backward
incompatibility

drivers/firewire/.kunitconfig | 1 +
drivers/firewire/Kconfig | 16 ++
drivers/firewire/core-device.c | 117 +++++++++++----
drivers/firewire/csr-api-test.c | 251 ++++++++++++++++++++++++++++++++
4 files changed, 358 insertions(+), 27 deletions(-)
create mode 100644 drivers/firewire/csr-api-test.c

--
2.39.2