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

Message ID 20231217103012.41273-1-o-takashi@sakamocchi.jp
Headers
Series firewire: core: support legacy layout of configuration ROM for AV/C device |

Message

Takashi Sakamoto Dec. 17, 2023, 10:30 a.m. UTC
  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