[PATCH v1 0/2] ASoC: Rework initialization of i2c_device_ids

Uwe Kleine-König (The Capable Hub) posted 2 patches 4 weeks, 1 day ago
.../hda/codecs/side-codecs/cs35l41_hda_i2c.c  |  4 +-
.../hda/codecs/side-codecs/cs35l56_hda_i2c.c  |  8 ++--
.../hda/codecs/side-codecs/tas2781_hda_i2c.c  |  4 +-
sound/soc/codecs/ad193x-i2c.c                 |  4 +-
sound/soc/codecs/adau1372-i2c.c               |  2 +-
sound/soc/codecs/adau1373.c                   |  2 +-
sound/soc/codecs/adau1701.c                   |  8 ++--
sound/soc/codecs/adau1761-i2c.c               |  8 ++--
sound/soc/codecs/adau1781-i2c.c               |  4 +-
sound/soc/codecs/adau1977-i2c.c               |  6 +--
sound/soc/codecs/adau7118-i2c.c               |  4 +-
sound/soc/codecs/adav803.c                    |  2 +-
sound/soc/codecs/ak4118.c                     |  4 +-
sound/soc/codecs/ak4535.c                     |  2 +-
sound/soc/codecs/ak4613.c                     |  2 +-
sound/soc/codecs/ak4619.c                     |  2 +-
sound/soc/codecs/ak4642.c                     |  8 ++--
sound/soc/codecs/ak4671.c                     |  2 +-
sound/soc/codecs/alc5623.c                    |  8 ++--
sound/soc/codecs/alc5632.c                    |  4 +-
sound/soc/codecs/aw87390.c                    |  4 +-
sound/soc/codecs/aw88081.c                    |  4 +-
sound/soc/codecs/aw88166.c                    |  2 +-
sound/soc/codecs/aw88261.c                    |  2 +-
sound/soc/codecs/aw88395/aw88395.c            |  2 +-
sound/soc/codecs/aw88399.c                    |  2 +-
sound/soc/codecs/cs35l32.c                    |  4 +-
sound/soc/codecs/cs35l33.c                    |  4 +-
sound/soc/codecs/cs35l34.c                    |  4 +-
sound/soc/codecs/cs35l35.c                    |  4 +-
sound/soc/codecs/cs35l36.c                    |  4 +-
sound/soc/codecs/cs35l41-i2c.c                | 10 ++---
sound/soc/codecs/cs35l45-i2c.c                |  4 +-
sound/soc/codecs/cs35l56-i2c.c                |  6 +--
sound/soc/codecs/cs4265.c                     |  2 +-
sound/soc/codecs/cs4270.c                     |  4 +-
sound/soc/codecs/cs4271-i2c.c                 |  2 +-
sound/soc/codecs/cs42l42-i2c.c                |  4 +-
sound/soc/codecs/cs42l51-i2c.c                |  2 +-
sound/soc/codecs/cs42l52.c                    |  2 +-
sound/soc/codecs/cs42l56.c                    |  2 +-
sound/soc/codecs/cs42l73.c                    |  4 +-
sound/soc/codecs/cs42l84.c                    |  4 +-
sound/soc/codecs/cs42xx8-i2c.c                |  6 +--
sound/soc/codecs/cs43130.c                    | 10 ++---
sound/soc/codecs/cs4341.c                     |  2 +-
sound/soc/codecs/cs4349.c                     |  4 +-
sound/soc/codecs/cs530x-i2c.c                 | 14 +++---
sound/soc/codecs/cs53l30.c                    |  4 +-
sound/soc/codecs/cx2072x.c                    |  6 +--
sound/soc/codecs/da7210.c                     |  2 +-
sound/soc/codecs/da7213.c                     |  2 +-
sound/soc/codecs/da7218.c                     |  4 +-
sound/soc/codecs/da7219.c                     |  2 +-
sound/soc/codecs/da732x.c                     |  2 +-
sound/soc/codecs/da9055.c                     |  2 +-
sound/soc/codecs/es8311.c                     |  2 +-
sound/soc/codecs/es8316.c                     |  4 +-
sound/soc/codecs/es8323.c                     |  2 +-
sound/soc/codecs/es8326.c                     |  4 +-
sound/soc/codecs/es8328-i2c.c                 |  4 +-
sound/soc/codecs/es8375.c                     |  2 +-
sound/soc/codecs/es8389.c                     |  2 +-
sound/soc/codecs/fs210x.c                     |  6 +--
sound/soc/codecs/isabelle.c                   |  2 +-
sound/soc/codecs/lm4857.c                     |  2 +-
sound/soc/codecs/lm49453.c                    |  2 +-
sound/soc/codecs/max9768.c                    |  2 +-
sound/soc/codecs/max98088.c                   |  4 +-
sound/soc/codecs/max98090.c                   |  4 +-
sound/soc/codecs/max98095.c                   |  2 +-
sound/soc/codecs/max98371.c                   |  2 +-
sound/soc/codecs/max98373-i2c.c               |  4 +-
sound/soc/codecs/max98388.c                   |  4 +-
sound/soc/codecs/max98390.c                   |  4 +-
sound/soc/codecs/max98396.c                   |  6 +--
sound/soc/codecs/max9850.c                    |  2 +-
sound/soc/codecs/max98504.c                   |  2 +-
sound/soc/codecs/max98520.c                   |  4 +-
sound/soc/codecs/max9860.c                    |  2 +-
sound/soc/codecs/max9867.c                    |  2 +-
sound/soc/codecs/max9877.c                    |  2 +-
sound/soc/codecs/max98925.c                   |  2 +-
sound/soc/codecs/max98926.c                   |  2 +-
sound/soc/codecs/max98927.c                   |  4 +-
sound/soc/codecs/ml26124.c                    |  2 +-
sound/soc/codecs/mt6660.c                     |  4 +-
sound/soc/codecs/nau8325.c                    |  2 +-
sound/soc/codecs/nau8540.c                    |  2 +-
sound/soc/codecs/nau8810.c                    |  6 +--
sound/soc/codecs/nau8821.c                    |  2 +-
sound/soc/codecs/nau8822.c                    |  2 +-
sound/soc/codecs/nau8824.c                    |  2 +-
sound/soc/codecs/nau8825.c                    |  6 +--
sound/soc/codecs/ntp8835.c                    |  4 +-
sound/soc/codecs/ntp8918.c                    |  4 +-
sound/soc/codecs/pcm1681.c                    |  4 +-
sound/soc/codecs/pcm1789-i2c.c                |  2 +-
sound/soc/codecs/pcm179x-i2c.c                |  2 +-
sound/soc/codecs/pcm186x-i2c.c                |  8 ++--
sound/soc/codecs/pcm3168a-i2c.c               |  2 +-
sound/soc/codecs/pcm512x-i2c.c                | 14 +++---
sound/soc/codecs/pcm6240.c                    | 44 +++++++++----------
sound/soc/codecs/rt1011.c                     |  2 +-
sound/soc/codecs/rt1015.c                     |  2 +-
sound/soc/codecs/rt1016.c                     |  2 +-
sound/soc/codecs/rt1019.c                     |  2 +-
sound/soc/codecs/rt1305.c                     |  4 +-
sound/soc/codecs/rt1308.c                     |  2 +-
sound/soc/codecs/rt1318.c                     |  2 +-
sound/soc/codecs/rt274.c                      |  4 +-
sound/soc/codecs/rt286.c                      |  6 +--
sound/soc/codecs/rt298.c                      |  4 +-
sound/soc/codecs/rt5514.c                     |  2 +-
sound/soc/codecs/rt5575.c                     |  2 +-
sound/soc/codecs/rt5616.c                     |  6 +--
sound/soc/codecs/rt5631.c                     | 10 ++---
sound/soc/codecs/rt5640.c                     |  6 +--
sound/soc/codecs/rt5645.c                     |  4 +-
sound/soc/codecs/rt5651.c                     |  2 +-
sound/soc/codecs/rt5659.c                     |  4 +-
sound/soc/codecs/rt5660.c                     |  2 +-
sound/soc/codecs/rt5663.c                     |  4 +-
sound/soc/codecs/rt5665.c                     |  4 +-
sound/soc/codecs/rt5668.c                     |  4 +-
sound/soc/codecs/rt5670.c                     |  6 +--
sound/soc/codecs/rt5677.c                     |  2 +-
sound/soc/codecs/rt5682-i2c.c                 |  4 +-
sound/soc/codecs/rt5682s.c                    |  4 +-
sound/soc/codecs/sgtl5000.c                   |  4 +-
sound/soc/codecs/sma1303.c                    |  4 +-
sound/soc/codecs/sma1307.c                    |  4 +-
sound/soc/codecs/src4xxx-i2c.c                |  2 +-
sound/soc/codecs/ssm2518.c                    |  2 +-
sound/soc/codecs/ssm2602-i2c.c                |  6 +--
sound/soc/codecs/ssm4567.c                    |  2 +-
sound/soc/codecs/sta32x.c                     |  6 +--
sound/soc/codecs/sta350.c                     |  8 +---
sound/soc/codecs/sta529.c                     |  2 +-
sound/soc/codecs/tas2552.c                    |  2 +-
sound/soc/codecs/tas2562.c                    |  6 +--
sound/soc/codecs/tas2764.c                    |  2 +-
sound/soc/codecs/tas2770.c                    |  2 +-
sound/soc/codecs/tas2780.c                    |  2 +-
sound/soc/codecs/tas2781-i2c.c                | 42 +++++++++---------
sound/soc/codecs/tas5086.c                    | 12 ++---
sound/soc/codecs/tas571x.c                    | 14 +++---
sound/soc/codecs/tas5720.c                    |  6 +--
sound/soc/codecs/tas5805m.c                   |  2 +-
sound/soc/codecs/tas6424.c                    |  2 +-
sound/soc/codecs/tda7419.c                    |  2 +-
sound/soc/codecs/tfa9879.c                    |  2 +-
sound/soc/codecs/tlv320adc3xxx.c              |  6 +--
sound/soc/codecs/tlv320adcx140.c              |  8 ++--
sound/soc/codecs/tlv320aic23-i2c.c            |  4 +-
sound/soc/codecs/tlv320aic31xx.c              | 16 +++----
sound/soc/codecs/tlv320aic32x4-i2c.c          |  6 +--
sound/soc/codecs/tlv320aic3x-i2c.c            | 10 ++---
sound/soc/codecs/ts3a227e.c                   |  2 +-
sound/soc/codecs/tscs42xx.c                   |  4 +-
sound/soc/codecs/tscs454.c                    |  2 +-
sound/soc/codecs/uda1342.c                    |  2 +-
sound/soc/codecs/uda1380.c                    |  2 +-
sound/soc/codecs/wm1250-ev1.c                 |  2 +-
sound/soc/codecs/wm2000.c                     |  2 +-
sound/soc/codecs/wm2200.c                     |  2 +-
sound/soc/codecs/wm5100.c                     |  2 +-
sound/soc/codecs/wm8510.c                     |  2 +-
sound/soc/codecs/wm8523.c                     |  2 +-
sound/soc/codecs/wm8580.c                     |  4 +-
sound/soc/codecs/wm8711.c                     |  2 +-
sound/soc/codecs/wm8728.c                     |  2 +-
sound/soc/codecs/wm8731-i2c.c                 |  2 +-
sound/soc/codecs/wm8737.c                     |  2 +-
sound/soc/codecs/wm8741.c                     |  2 +-
sound/soc/codecs/wm8750.c                     |  4 +-
sound/soc/codecs/wm8753.c                     |  2 +-
sound/soc/codecs/wm8776.c                     |  4 +-
sound/soc/codecs/wm8804-i2c.c                 |  2 +-
sound/soc/codecs/wm8900.c                     |  8 +---
sound/soc/codecs/wm8903.c                     |  2 +-
sound/soc/codecs/wm8904.c                     |  6 +--
sound/soc/codecs/wm8940.c                     |  2 +-
sound/soc/codecs/wm8955.c                     |  2 +-
sound/soc/codecs/wm8960.c                     |  2 +-
sound/soc/codecs/wm8961.c                     |  2 +-
sound/soc/codecs/wm8962.c                     |  2 +-
sound/soc/codecs/wm8971.c                     |  2 +-
sound/soc/codecs/wm8974.c                     |  2 +-
sound/soc/codecs/wm8978.c                     |  2 +-
sound/soc/codecs/wm8983.c                     |  2 +-
sound/soc/codecs/wm8985.c                     |  4 +-
sound/soc/codecs/wm8988.c                     |  2 +-
sound/soc/codecs/wm8990.c                     |  2 +-
sound/soc/codecs/wm8991.c                     |  2 +-
sound/soc/codecs/wm8993.c                     |  2 +-
sound/soc/codecs/wm8995.c                     |  4 +-
sound/soc/codecs/wm8996.c                     |  2 +-
sound/soc/codecs/wm9081.c                     |  8 +---
sound/soc/codecs/wm9090.c                     |  4 +-
200 files changed, 398 insertions(+), 426 deletions(-)
[PATCH v1 0/2] ASoC: Rework initialization of i2c_device_ids
Posted by Uwe Kleine-König (The Capable Hub) 4 weeks, 1 day ago
Hello,

this series is a preparation for

	diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h
	index 23ff24080dfd..aebd3a5e90af 100644
	--- a/include/linux/mod_devicetable.h
	+++ b/include/linux/mod_devicetable.h
	@@ -477,7 +477,11 @@ struct rpmsg_device_id {
	 
	 struct i2c_device_id {
		char name[I2C_NAME_SIZE];
	-	kernel_ulong_t driver_data;	/* Data private to the driver */
	+	union {
	+		/* Data private to the driver */
	+		kernel_ulong_t driver_data;
	+		const void *driver_data_ptr;
	+	};
	 };
	 
	 /* pci_epf */

and this requires that .driver_data is assigned via a named initializer
for static data. This requirement isn't a bad one because named
initializers are also much better readable than list initializers.

The union added to struct i2c_device_id enables further cleanups like:

        diff --git a/drivers/iio/accel/kxcjk-1013.c b/drivers/iio/accel/kxcjk-1013.c
        index 8a082ff034dd..b2aac7348d22 100644
        --- a/drivers/iio/accel/kxcjk-1013.c
        +++ b/drivers/iio/accel/kxcjk-1013.c
	@@ -1429,7 +1429,7 @@ static int kxcjk1013_probe(struct i2c_client *client)
	 
		if (id) {
			name = id->name;
	-		data->info = (const struct kx_chipset_info *)(id->driver_data);
	+		data->info = id->driver_data_ptr;
		} else {
			name = iio_get_acpi_device_name_and_data(&client->dev, &ddata);
			data->info = ddata;
	@@ -1630,11 +1630,11 @@ static const struct dev_pm_ops kxcjk1013_pm_ops = {
	 };
	 
	 static const struct i2c_device_id kxcjk1013_id[] = {
	-	{ .name = "kxcjk1013", .driver_data = (kernel_ulong_t)&kxcjk1013_info },
	-	{ .name = "kxcj91008", .driver_data = (kernel_ulong_t)&kxcj91008_info },
	-	{ .name = "kxtj21009", .driver_data = (kernel_ulong_t)&kxtj21009_info },
	-	{ .name = "kxtf9", .driver_data = (kernel_ulong_t)&kxtf9_info },
	-	{ .name = "kx023-1025", .driver_data = (kernel_ulong_t)&kx0231025_info },
	+	{ .name = "kxcjk1013", .driver_data_ptr = &kxcjk1013_info },
	+	{ .name = "kxcj91008", .driver_data_ptr = &kxcj91008_info },
	+	{ .name = "kxtj21009", .driver_data_ptr = &kxtj21009_info },
	+	{ .name = "kxtf9", .driver_data_ptr = &kxtf9_info },
	+	{ .name = "kx023-1025", .driver_data_ptr = &kx0231025_info },
		{ }
	 };
	 MODULE_DEVICE_TABLE(i2c, kxcjk1013_id);

that are an improvement for readability (again!) and it keeps some
properties of the pointers (here: being const) without having to pay
attention for that. (I didn't find a good example in sound/soc, so an
iio driver was used to demonstrate the gain.)

My additional motivation for this effort is CHERI[1]. This is a hardware
extension that uses 128 bit pointers but unsigned long is still 64 bit.
So with CHERI you cannot store pointers in unsigned long variables.

The first patch drops a few empty remove callbacks that I found while
working on patch #2. The second converts all hwmon drivers to use named
initializers.

Best regards
Uwe

Uwe Kleine-König (The Capable Hub) (2):
  ASoC: Drop empty i2c remove callbacks
  ASoC: Use named initializers for arrays of i2c_device_data

 .../hda/codecs/side-codecs/cs35l41_hda_i2c.c  |  4 +-
 .../hda/codecs/side-codecs/cs35l56_hda_i2c.c  |  8 ++--
 .../hda/codecs/side-codecs/tas2781_hda_i2c.c  |  4 +-
 sound/soc/codecs/ad193x-i2c.c                 |  4 +-
 sound/soc/codecs/adau1372-i2c.c               |  2 +-
 sound/soc/codecs/adau1373.c                   |  2 +-
 sound/soc/codecs/adau1701.c                   |  8 ++--
 sound/soc/codecs/adau1761-i2c.c               |  8 ++--
 sound/soc/codecs/adau1781-i2c.c               |  4 +-
 sound/soc/codecs/adau1977-i2c.c               |  6 +--
 sound/soc/codecs/adau7118-i2c.c               |  4 +-
 sound/soc/codecs/adav803.c                    |  2 +-
 sound/soc/codecs/ak4118.c                     |  4 +-
 sound/soc/codecs/ak4535.c                     |  2 +-
 sound/soc/codecs/ak4613.c                     |  2 +-
 sound/soc/codecs/ak4619.c                     |  2 +-
 sound/soc/codecs/ak4642.c                     |  8 ++--
 sound/soc/codecs/ak4671.c                     |  2 +-
 sound/soc/codecs/alc5623.c                    |  8 ++--
 sound/soc/codecs/alc5632.c                    |  4 +-
 sound/soc/codecs/aw87390.c                    |  4 +-
 sound/soc/codecs/aw88081.c                    |  4 +-
 sound/soc/codecs/aw88166.c                    |  2 +-
 sound/soc/codecs/aw88261.c                    |  2 +-
 sound/soc/codecs/aw88395/aw88395.c            |  2 +-
 sound/soc/codecs/aw88399.c                    |  2 +-
 sound/soc/codecs/cs35l32.c                    |  4 +-
 sound/soc/codecs/cs35l33.c                    |  4 +-
 sound/soc/codecs/cs35l34.c                    |  4 +-
 sound/soc/codecs/cs35l35.c                    |  4 +-
 sound/soc/codecs/cs35l36.c                    |  4 +-
 sound/soc/codecs/cs35l41-i2c.c                | 10 ++---
 sound/soc/codecs/cs35l45-i2c.c                |  4 +-
 sound/soc/codecs/cs35l56-i2c.c                |  6 +--
 sound/soc/codecs/cs4265.c                     |  2 +-
 sound/soc/codecs/cs4270.c                     |  4 +-
 sound/soc/codecs/cs4271-i2c.c                 |  2 +-
 sound/soc/codecs/cs42l42-i2c.c                |  4 +-
 sound/soc/codecs/cs42l51-i2c.c                |  2 +-
 sound/soc/codecs/cs42l52.c                    |  2 +-
 sound/soc/codecs/cs42l56.c                    |  2 +-
 sound/soc/codecs/cs42l73.c                    |  4 +-
 sound/soc/codecs/cs42l84.c                    |  4 +-
 sound/soc/codecs/cs42xx8-i2c.c                |  6 +--
 sound/soc/codecs/cs43130.c                    | 10 ++---
 sound/soc/codecs/cs4341.c                     |  2 +-
 sound/soc/codecs/cs4349.c                     |  4 +-
 sound/soc/codecs/cs530x-i2c.c                 | 14 +++---
 sound/soc/codecs/cs53l30.c                    |  4 +-
 sound/soc/codecs/cx2072x.c                    |  6 +--
 sound/soc/codecs/da7210.c                     |  2 +-
 sound/soc/codecs/da7213.c                     |  2 +-
 sound/soc/codecs/da7218.c                     |  4 +-
 sound/soc/codecs/da7219.c                     |  2 +-
 sound/soc/codecs/da732x.c                     |  2 +-
 sound/soc/codecs/da9055.c                     |  2 +-
 sound/soc/codecs/es8311.c                     |  2 +-
 sound/soc/codecs/es8316.c                     |  4 +-
 sound/soc/codecs/es8323.c                     |  2 +-
 sound/soc/codecs/es8326.c                     |  4 +-
 sound/soc/codecs/es8328-i2c.c                 |  4 +-
 sound/soc/codecs/es8375.c                     |  2 +-
 sound/soc/codecs/es8389.c                     |  2 +-
 sound/soc/codecs/fs210x.c                     |  6 +--
 sound/soc/codecs/isabelle.c                   |  2 +-
 sound/soc/codecs/lm4857.c                     |  2 +-
 sound/soc/codecs/lm49453.c                    |  2 +-
 sound/soc/codecs/max9768.c                    |  2 +-
 sound/soc/codecs/max98088.c                   |  4 +-
 sound/soc/codecs/max98090.c                   |  4 +-
 sound/soc/codecs/max98095.c                   |  2 +-
 sound/soc/codecs/max98371.c                   |  2 +-
 sound/soc/codecs/max98373-i2c.c               |  4 +-
 sound/soc/codecs/max98388.c                   |  4 +-
 sound/soc/codecs/max98390.c                   |  4 +-
 sound/soc/codecs/max98396.c                   |  6 +--
 sound/soc/codecs/max9850.c                    |  2 +-
 sound/soc/codecs/max98504.c                   |  2 +-
 sound/soc/codecs/max98520.c                   |  4 +-
 sound/soc/codecs/max9860.c                    |  2 +-
 sound/soc/codecs/max9867.c                    |  2 +-
 sound/soc/codecs/max9877.c                    |  2 +-
 sound/soc/codecs/max98925.c                   |  2 +-
 sound/soc/codecs/max98926.c                   |  2 +-
 sound/soc/codecs/max98927.c                   |  4 +-
 sound/soc/codecs/ml26124.c                    |  2 +-
 sound/soc/codecs/mt6660.c                     |  4 +-
 sound/soc/codecs/nau8325.c                    |  2 +-
 sound/soc/codecs/nau8540.c                    |  2 +-
 sound/soc/codecs/nau8810.c                    |  6 +--
 sound/soc/codecs/nau8821.c                    |  2 +-
 sound/soc/codecs/nau8822.c                    |  2 +-
 sound/soc/codecs/nau8824.c                    |  2 +-
 sound/soc/codecs/nau8825.c                    |  6 +--
 sound/soc/codecs/ntp8835.c                    |  4 +-
 sound/soc/codecs/ntp8918.c                    |  4 +-
 sound/soc/codecs/pcm1681.c                    |  4 +-
 sound/soc/codecs/pcm1789-i2c.c                |  2 +-
 sound/soc/codecs/pcm179x-i2c.c                |  2 +-
 sound/soc/codecs/pcm186x-i2c.c                |  8 ++--
 sound/soc/codecs/pcm3168a-i2c.c               |  2 +-
 sound/soc/codecs/pcm512x-i2c.c                | 14 +++---
 sound/soc/codecs/pcm6240.c                    | 44 +++++++++----------
 sound/soc/codecs/rt1011.c                     |  2 +-
 sound/soc/codecs/rt1015.c                     |  2 +-
 sound/soc/codecs/rt1016.c                     |  2 +-
 sound/soc/codecs/rt1019.c                     |  2 +-
 sound/soc/codecs/rt1305.c                     |  4 +-
 sound/soc/codecs/rt1308.c                     |  2 +-
 sound/soc/codecs/rt1318.c                     |  2 +-
 sound/soc/codecs/rt274.c                      |  4 +-
 sound/soc/codecs/rt286.c                      |  6 +--
 sound/soc/codecs/rt298.c                      |  4 +-
 sound/soc/codecs/rt5514.c                     |  2 +-
 sound/soc/codecs/rt5575.c                     |  2 +-
 sound/soc/codecs/rt5616.c                     |  6 +--
 sound/soc/codecs/rt5631.c                     | 10 ++---
 sound/soc/codecs/rt5640.c                     |  6 +--
 sound/soc/codecs/rt5645.c                     |  4 +-
 sound/soc/codecs/rt5651.c                     |  2 +-
 sound/soc/codecs/rt5659.c                     |  4 +-
 sound/soc/codecs/rt5660.c                     |  2 +-
 sound/soc/codecs/rt5663.c                     |  4 +-
 sound/soc/codecs/rt5665.c                     |  4 +-
 sound/soc/codecs/rt5668.c                     |  4 +-
 sound/soc/codecs/rt5670.c                     |  6 +--
 sound/soc/codecs/rt5677.c                     |  2 +-
 sound/soc/codecs/rt5682-i2c.c                 |  4 +-
 sound/soc/codecs/rt5682s.c                    |  4 +-
 sound/soc/codecs/sgtl5000.c                   |  4 +-
 sound/soc/codecs/sma1303.c                    |  4 +-
 sound/soc/codecs/sma1307.c                    |  4 +-
 sound/soc/codecs/src4xxx-i2c.c                |  2 +-
 sound/soc/codecs/ssm2518.c                    |  2 +-
 sound/soc/codecs/ssm2602-i2c.c                |  6 +--
 sound/soc/codecs/ssm4567.c                    |  2 +-
 sound/soc/codecs/sta32x.c                     |  6 +--
 sound/soc/codecs/sta350.c                     |  8 +---
 sound/soc/codecs/sta529.c                     |  2 +-
 sound/soc/codecs/tas2552.c                    |  2 +-
 sound/soc/codecs/tas2562.c                    |  6 +--
 sound/soc/codecs/tas2764.c                    |  2 +-
 sound/soc/codecs/tas2770.c                    |  2 +-
 sound/soc/codecs/tas2780.c                    |  2 +-
 sound/soc/codecs/tas2781-i2c.c                | 42 +++++++++---------
 sound/soc/codecs/tas5086.c                    | 12 ++---
 sound/soc/codecs/tas571x.c                    | 14 +++---
 sound/soc/codecs/tas5720.c                    |  6 +--
 sound/soc/codecs/tas5805m.c                   |  2 +-
 sound/soc/codecs/tas6424.c                    |  2 +-
 sound/soc/codecs/tda7419.c                    |  2 +-
 sound/soc/codecs/tfa9879.c                    |  2 +-
 sound/soc/codecs/tlv320adc3xxx.c              |  6 +--
 sound/soc/codecs/tlv320adcx140.c              |  8 ++--
 sound/soc/codecs/tlv320aic23-i2c.c            |  4 +-
 sound/soc/codecs/tlv320aic31xx.c              | 16 +++----
 sound/soc/codecs/tlv320aic32x4-i2c.c          |  6 +--
 sound/soc/codecs/tlv320aic3x-i2c.c            | 10 ++---
 sound/soc/codecs/ts3a227e.c                   |  2 +-
 sound/soc/codecs/tscs42xx.c                   |  4 +-
 sound/soc/codecs/tscs454.c                    |  2 +-
 sound/soc/codecs/uda1342.c                    |  2 +-
 sound/soc/codecs/uda1380.c                    |  2 +-
 sound/soc/codecs/wm1250-ev1.c                 |  2 +-
 sound/soc/codecs/wm2000.c                     |  2 +-
 sound/soc/codecs/wm2200.c                     |  2 +-
 sound/soc/codecs/wm5100.c                     |  2 +-
 sound/soc/codecs/wm8510.c                     |  2 +-
 sound/soc/codecs/wm8523.c                     |  2 +-
 sound/soc/codecs/wm8580.c                     |  4 +-
 sound/soc/codecs/wm8711.c                     |  2 +-
 sound/soc/codecs/wm8728.c                     |  2 +-
 sound/soc/codecs/wm8731-i2c.c                 |  2 +-
 sound/soc/codecs/wm8737.c                     |  2 +-
 sound/soc/codecs/wm8741.c                     |  2 +-
 sound/soc/codecs/wm8750.c                     |  4 +-
 sound/soc/codecs/wm8753.c                     |  2 +-
 sound/soc/codecs/wm8776.c                     |  4 +-
 sound/soc/codecs/wm8804-i2c.c                 |  2 +-
 sound/soc/codecs/wm8900.c                     |  8 +---
 sound/soc/codecs/wm8903.c                     |  2 +-
 sound/soc/codecs/wm8904.c                     |  6 +--
 sound/soc/codecs/wm8940.c                     |  2 +-
 sound/soc/codecs/wm8955.c                     |  2 +-
 sound/soc/codecs/wm8960.c                     |  2 +-
 sound/soc/codecs/wm8961.c                     |  2 +-
 sound/soc/codecs/wm8962.c                     |  2 +-
 sound/soc/codecs/wm8971.c                     |  2 +-
 sound/soc/codecs/wm8974.c                     |  2 +-
 sound/soc/codecs/wm8978.c                     |  2 +-
 sound/soc/codecs/wm8983.c                     |  2 +-
 sound/soc/codecs/wm8985.c                     |  4 +-
 sound/soc/codecs/wm8988.c                     |  2 +-
 sound/soc/codecs/wm8990.c                     |  2 +-
 sound/soc/codecs/wm8991.c                     |  2 +-
 sound/soc/codecs/wm8993.c                     |  2 +-
 sound/soc/codecs/wm8995.c                     |  4 +-
 sound/soc/codecs/wm8996.c                     |  2 +-
 sound/soc/codecs/wm9081.c                     |  8 +---
 sound/soc/codecs/wm9090.c                     |  4 +-
 200 files changed, 398 insertions(+), 426 deletions(-)


base-commit: 254f49634ee16a731174d2ae34bc50bd5f45e731
-- 
2.47.3

Re: [PATCH v1 0/2] ASoC: Rework initialization of i2c_device_ids
Posted by Mark Brown 3 weeks, 1 day ago
On Wed, 13 May 2026 19:23:02 +0200, Uwe Kleine-König (The Capable Hub) wrote:
> ASoC: Rework initialization of i2c_device_ids
> 
> Hello,
> 
> this series is a preparation for
> 
> 	diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h
> 	index 23ff24080dfd..aebd3a5e90af 100644
> 	--- a/include/linux/mod_devicetable.h
> 	+++ b/include/linux/mod_devicetable.h
> 	@@ -477,7 +477,11 @@ struct rpmsg_device_id {
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-7.2

Thanks!

[1/2] ASoC: Drop empty i2c remove callbacks
      https://git.kernel.org/broonie/sound/c/2e0389f3689c
[2/2] ASoC: Use named initializers for arrays of i2c_device_data
      https://git.kernel.org/broonie/sound/c/910714d4e79b

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark