2024-01-16 17:02:30

by Wolfram Sang

[permalink] [raw]
Subject: [PULL REQUEST] i2c-for-6.8-rc1

The following changes since commit 2cc14f52aeb78ce3f29677c2de1f06c0e91471ab:

Linux 6.7-rc3 (2023-11-26 19:59:33 -0800)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git tags/i2c-for-6.8-rc1

for you to fetch changes up to f4b49e824f0b38e6b5003be97f27c63b96454388:

Revert "i2c: designware: Fix reset call order in dw_i2c_plat_probe()" (2024-01-14 09:02:34 +0100)

----------------------------------------------------------------
This cycle, I2C removes the currently unused CLASS_DDC support
(controllers set the flag, but there is no client to use it). Also,
CLASS_SPD support gets simplified to prepare removal in the future.
Class based instantiation is not recommended these days anyhow.
Furthermore, I2C core now creates a debugfs directory per I2C adapter.
Current bus driver users were converted to use it. Then, there are also
quite some driver updates. Standing out are patches for the wmt-driver
which is refactored to support more variants. And a big series for the
designware-driver needed to be reverted because issues have been
reported late in the cycle and no incremental fix has been found yet.

----------------------------------------------------------------
Alain Volmat (6):
i2c: stm32f7: use dev_err_probe upon calls of devm_request_irq
i2c: stm32f7: perform most of irq job in threaded handler
i2c: stm32f7: simplify status messages in case of errors
dt-bindings: i2c: document st,stm32mp25-i2c compatible
i2c: stm32f7: perform I2C_ISR read once at beginning of event isr
i2c: stm32f7: add support for stm32mp25 soc

Alexander Stein (1):
i2c: imx: Make SDA actually optional for bus recovering

Andy Shevchenko (24):
i2c: designware: Fix PM calls order in dw_i2c_plat_probe()
i2c: designware: Fix reset call order in dw_i2c_plat_probe()
i2c: designware: Let PCI core to take care about interrupt vectors
i2c: designware: Fix lock probe call order in dw_i2c_plat_probe()
i2c: designware: Replace a while-loop by for-loop
i2c: designware: Save pointer to semaphore callbacks instead of index
i2c: designware: Add missing 'c' into PCI IDs variable name
i2c: designware: Replace MODULE_ALIAS() with MODULE_DEVICE_TABLE()
i2c: designware: Unify terminator in device ID tables
i2c: designware: Always provide device ID tables
i2c: designware: Drop return value from i2c_dw_acpi_configure()
i2c: designware: Drop return value from dw_i2c_of_configure()
i2c: designware: Rename dw_i2c_of_configure() -> i2c_dw_of_configure()
i2c: designware: Consolidate firmware parsing and configuring code
i2c: designware: Unify the firmware type checks
i2c: designware: Move exports to I2C_DW namespaces
i2c: designware: Remove ->disable() callback
i2c: designware: Consolidate PM ops
i2c: designware: Uninline i2c_dw_probe()
i2c: designware: Propagate firmware node
i2c: designware: Use pci_get_drvdata()
i2c: designware: Use temporary variable for struct device
i2c: designware: Get rid of redundant 'else'
i2c: designware: Fix spelling and other issues in the comments

Bartosz Golaszewski (1):
eeprom: at24: use of_match_ptr()

Christophe Leroy (1):
i2c: cpm: Remove linux,i2c-index conversion from be32

Greg Kroah-Hartman (1):
i2c: make i2c_bus_type const

Hans Hu (5):
i2c: wmt: Reduce redundant: bus busy check
i2c: wmt: Reduce redundant: wait event complete
i2c: wmt: Reduce redundant: clock mode setting
i2c: wmt: Reduce redundant: function parameter
i2c: wmt: Reduce redundant: REG_CR setting

Heiner Kallweit (9):
drm: remove I2C_CLASS_DDC support
fbdev: remove I2C_CLASS_DDC support
include/linux/i2c.h: remove I2C_CLASS_DDC support
drm/amd/pm: Remove I2C_CLASS_SPD support
i2c: Don't let i2c adapters declare I2C_CLASS_SPD support if they support I2C_CLASS_HWMON
i2c: stub: Don't let i2c adapters declare I2C_CLASS_SPD support if they support I2C_CLASS_HWMON
media: netup_unidvb: Don't let i2c adapters declare I2C_CLASS_SPD support if they support I2C_CLASS_HWMON
staging: greybus: Don't let i2c adapters declare I2C_CLASS_SPD support if they support I2C_CLASS_HWMON
i2c: mux: reg: Remove class-based device auto-detection support

Jean Delvare (1):
i2c: smbus: Support up to 8 SPD EEPROMs

Marek Szyprowski (3):
i2c: s3c24xx: fix read transfers in polling mode
i2c: s3c24xx: fix transferring more than one message in polling mode
i2c: s3c24xx: add support for atomic transfers

Paul Menzel (2):
i2c: i801: Add lis3lv02d for Dell Precision 3540
i2c: i801: Add lis3lv02d for Dell XPS 15 7590

Philipp Zabel (1):
dt-bindings: at24: add ROHM BR24G04

Tim Lunn (1):
i2c: rk3x: Adjust mask/value offset for i2c2 on rv1126

Wolfram Sang (31):
Merge branch 'i2c/remove-ddc-class-immutable' into i2c/for-mergewindow
i2c: create debugfs entry per adapter
i2c: gpio: move to per-adapter debugfs directory
i2c: npcm7xx: move to per-adapter debugfs directory
i2c: rcar: introduce Gen4 devices
i2c: rcar: add FastMode+ support for Gen4
Merge tag 'at24-updates-for-v6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux into i2c/for-mergewindow
MAINTAINERS: use proper email for my I2C work
Revert "i2c: designware: Fix spelling and other issues in the comments"
Revert "i2c: designware: Get rid of redundant 'else'"
Revert "i2c: designware: Use temporary variable for struct device"
Revert "i2c: designware: Use pci_get_drvdata()"
Revert "i2c: designware: Propagate firmware node"
Revert "i2c: designware: Uninline i2c_dw_probe()"
Revert "i2c: designware: Consolidate PM ops"
Revert "i2c: designware: Remove ->disable() callback"
Revert "i2c: designware: Move exports to I2C_DW namespaces"
Revert "i2c: designware: Unify the firmware type checks"
Revert "i2c: designware: Consolidate firmware parsing and configuring code"
Revert "i2c: designware: Rename dw_i2c_of_configure() -> i2c_dw_of_configure()"
Revert "i2c: designware: Drop return value from dw_i2c_of_configure()"
Revert "i2c: designware: Drop return value from i2c_dw_acpi_configure()"
Revert "i2c: designware: Always provide device ID tables"
Revert "i2c: designware: Unify terminator in device ID tables"
Revert "i2c: designware: Replace MODULE_ALIAS() with MODULE_DEVICE_TABLE()"
Revert "i2c: designware: Add missing 'c' into PCI IDs variable name"
Revert "i2c: designware: Save pointer to semaphore callbacks instead of index"
Revert "i2c: designware: Replace a while-loop by for-loop"
Revert "i2c: designware: Fix lock probe call order in dw_i2c_plat_probe()"
Revert "i2c: designware: Let PCI core to take care about interrupt vectors"
Revert "i2c: designware: Fix reset call order in dw_i2c_plat_probe()"


with much appreciated quality assurance from
----------------------------------------------------------------
Andi Shyti (37):
(Rev.) i2c: stm32f7: simplify status messages in case of errors
(Rev.) i2c: stm32f7: perform most of irq job in threaded handler
(Rev.) i2c: i801: Add lis3lv02d for Dell XPS 15 7590
(Rev.) i2c: i801: Add lis3lv02d for Dell Precision 3540
(Rev.) i2c: cpm: Remove linux,i2c-index conversion from be32
(Rev.) i2c: imx: Make SDA actually optional for bus recovering
(Rev.) i2c: rk3x: Adjust mask/value offset for i2c2 on rv1126
(Rev.) i2c: s3c24xx: add support for atomic transfers
(Rev.) i2c: s3c24xx: fix transferring more than one message in polling mode
(Rev.) i2c: s3c24xx: fix read transfers in polling mode
(Rev.) i2c: rcar: add FastMode+ support for Gen4
(Rev.) i2c: rcar: introduce Gen4 devices
(Rev.) i2c: designware: Fix spelling and other issues in the comments
(Rev.) i2c: designware: Get rid of redundant 'else'
(Rev.) i2c: designware: Use temporary variable for struct device
(Rev.) i2c: designware: Use pci_get_drvdata()
(Rev.) i2c: designware: Propagate firmware node
(Rev.) i2c: designware: Uninline i2c_dw_probe()
(Rev.) i2c: designware: Consolidate PM ops
(Rev.) i2c: designware: Remove ->disable() callback
(Rev.) i2c: designware: Move exports to I2C_DW namespaces
(Rev.) i2c: designware: Unify the firmware type checks
(Rev.) i2c: designware: Consolidate firmware parsing and configuring code
(Rev.) i2c: designware: Rename dw_i2c_of_configure() -> i2c_dw_of_configure()
(Rev.) i2c: designware: Drop return value from dw_i2c_of_configure()
(Rev.) i2c: designware: Drop return value from i2c_dw_acpi_configure()
(Rev.) i2c: designware: Always provide device ID tables
(Rev.) i2c: designware: Unify terminator in device ID tables
(Rev.) i2c: designware: Replace MODULE_ALIAS() with MODULE_DEVICE_TABLE()
(Rev.) i2c: designware: Add missing 'c' into PCI IDs variable name
(Rev.) i2c: designware: Save pointer to semaphore callbacks instead of index
(Rev.) i2c: designware: Replace a while-loop by for-loop
(Rev.) i2c: designware: Fix lock probe call order in dw_i2c_plat_probe()
(Rev.) i2c: designware: Let PCI core to take care about interrupt vectors
(Rev.) i2c: designware: Fix reset call order in dw_i2c_plat_probe()
(Rev.) i2c: designware: Fix PM calls order in dw_i2c_plat_probe()
(Rev.) drm: remove I2C_CLASS_DDC support

AngeloGioacchino Del Regno (1):
(Rev.) drm: remove I2C_CLASS_DDC support

Chanho Park (2):
(Rev.) i2c: s3c24xx: add support for atomic transfers
(Rev.) i2c: s3c24xx: fix read transfers in polling mode

Conor Dooley (1):
(Rev.) dt-bindings: i2c: document st,stm32mp25-i2c compatible

Geert Uytterhoeven (2):
(Rev.) i2c: rcar: add FastMode+ support for Gen4
(Rev.) i2c: rcar: introduce Gen4 devices

Jarkko Nikula (1):
(Test) i2c: designware: Replace MODULE_ALIAS() with MODULE_DEVICE_TABLE()

Mario Limonciello (11):
(Rev.) i2c: designware: Fix spelling and other issues in the comments
(Rev.) i2c: designware: Get rid of redundant 'else'
(Rev.) i2c: designware: Use temporary variable for struct device
(Rev.) i2c: designware: Unify the firmware type checks
(Rev.) i2c: designware: Consolidate firmware parsing and configuring code
(Rev.) i2c: designware: Rename dw_i2c_of_configure() -> i2c_dw_of_configure()
(Rev.) i2c: designware: Drop return value from dw_i2c_of_configure()
(Rev.) i2c: designware: Always provide device ID tables
(Rev.) i2c: designware: Unify terminator in device ID tables
(Rev.) i2c: designware: Replace MODULE_ALIAS() with MODULE_DEVICE_TABLE()
(Rev.) i2c: designware: Replace a while-loop by for-loop

Neil Armstrong (1):
(Rev.) drm: remove I2C_CLASS_DDC support

Oleksij Rempel (1):
(Rev.) i2c: imx: Make SDA actually optional for bus recovering

Serge Semin (24):
(Test) i2c: designware: Fix spelling and other issues in the comments
(Test) i2c: designware: Get rid of redundant 'else'
(Test) i2c: designware: Use temporary variable for struct device
(Test) i2c: designware: Use pci_get_drvdata()
(Test) i2c: designware: Propagate firmware node
(Test) i2c: designware: Uninline i2c_dw_probe()
(Test) i2c: designware: Consolidate PM ops
(Test) i2c: designware: Remove ->disable() callback
(Test) i2c: designware: Move exports to I2C_DW namespaces
(Test) i2c: designware: Unify the firmware type checks
(Test) i2c: designware: Consolidate firmware parsing and configuring code
(Test) i2c: designware: Rename dw_i2c_of_configure() -> i2c_dw_of_configure()
(Test) i2c: designware: Drop return value from dw_i2c_of_configure()
(Test) i2c: designware: Drop return value from i2c_dw_acpi_configure()
(Test) i2c: designware: Always provide device ID tables
(Test) i2c: designware: Unify terminator in device ID tables
(Test) i2c: designware: Replace MODULE_ALIAS() with MODULE_DEVICE_TABLE()
(Test) i2c: designware: Add missing 'c' into PCI IDs variable name
(Test) i2c: designware: Save pointer to semaphore callbacks instead of index
(Test) i2c: designware: Replace a while-loop by for-loop
(Test) i2c: designware: Fix lock probe call order in dw_i2c_plat_probe()
(Test) i2c: designware: Let PCI core to take care about interrupt vectors
(Test) i2c: designware: Fix reset call order in dw_i2c_plat_probe()
(Test) i2c: designware: Fix PM calls order in dw_i2c_plat_probe()

Tali Perry (1):
(Rev.) i2c: npcm7xx: move to per-adapter debugfs directory

Thomas Zimmermann (1):
(Rev.) drm: remove I2C_CLASS_DDC support

Documentation/devicetree/bindings/eeprom/at24.yaml | 1 +
.../devicetree/bindings/i2c/st,stm32-i2c.yaml | 28 ++
MAINTAINERS | 2 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c | 1 -
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 1 -
drivers/gpu/drm/amd/pm/swsmu/smu13/aldebaran_ppt.c | 1 -
.../gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c | 1 -
.../gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_6_ppt.c | 1 -
drivers/gpu/drm/ast/ast_i2c.c | 1 -
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 1 -
drivers/gpu/drm/display/drm_dp_helper.c | 1 -
drivers/gpu/drm/display/drm_dp_mst_topology.c | 1 -
drivers/gpu/drm/gma500/cdv_intel_dp.c | 1 -
drivers/gpu/drm/gma500/intel_gmbus.c | 1 -
drivers/gpu/drm/gma500/oaktrail_hdmi_i2c.c | 1 -
drivers/gpu/drm/gma500/psb_intel_sdvo.c | 1 -
drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_i2c.c | 1 -
drivers/gpu/drm/i915/display/intel_gmbus.c | 1 -
drivers/gpu/drm/i915/display/intel_sdvo.c | 1 -
drivers/gpu/drm/loongson/lsdc_i2c.c | 1 -
drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c | 1 -
drivers/gpu/drm/mgag200/mgag200_i2c.c | 1 -
drivers/gpu/drm/msm/hdmi/hdmi_i2c.c | 1 -
drivers/gpu/drm/radeon/radeon_i2c.c | 1 -
drivers/gpu/drm/rockchip/inno_hdmi.c | 1 -
drivers/gpu/drm/rockchip/rk3066_hdmi.c | 1 -
drivers/gpu/drm/sun4i/sun4i_hdmi_i2c.c | 1 -
drivers/i2c/busses/i2c-ali1535.c | 2 +-
drivers/i2c/busses/i2c-ali1563.c | 2 +-
drivers/i2c/busses/i2c-ali15x3.c | 2 +-
drivers/i2c/busses/i2c-amd756.c | 2 +-
drivers/i2c/busses/i2c-amd8111.c | 2 +-
drivers/i2c/busses/i2c-cpm.c | 2 +-
drivers/i2c/busses/i2c-designware-platdrv.c | 26 +-
drivers/i2c/busses/i2c-elektor.c | 2 +-
drivers/i2c/busses/i2c-gpio.c | 36 +--
drivers/i2c/busses/i2c-i801.c | 2 +
drivers/i2c/busses/i2c-ibm_iic.c | 2 +-
drivers/i2c/busses/i2c-imx.c | 2 +-
drivers/i2c/busses/i2c-iop3xx.c | 2 +-
drivers/i2c/busses/i2c-isch.c | 2 +-
drivers/i2c/busses/i2c-kempld.c | 3 +-
drivers/i2c/busses/i2c-mlxcpld.c | 2 +-
drivers/i2c/busses/i2c-nforce2.c | 2 +-
drivers/i2c/busses/i2c-npcm7xx.c | 49 +--
drivers/i2c/busses/i2c-pasemi-pci.c | 2 +-
drivers/i2c/busses/i2c-piix4.c | 2 +-
drivers/i2c/busses/i2c-rcar.c | 51 ++-
drivers/i2c/busses/i2c-rk3x.c | 8 +-
drivers/i2c/busses/i2c-s3c2410.c | 61 ++--
drivers/i2c/busses/i2c-scmi.c | 2 +-
drivers/i2c/busses/i2c-sh7760.c | 2 +-
drivers/i2c/busses/i2c-sibyte.c | 4 +-
drivers/i2c/busses/i2c-sis5595.c | 2 +-
drivers/i2c/busses/i2c-sis630.c | 2 +-
drivers/i2c/busses/i2c-sis96x.c | 2 +-
drivers/i2c/busses/i2c-stm32f7.c | 342 +++++++++++----------
drivers/i2c/busses/i2c-via.c | 2 +-
drivers/i2c/busses/i2c-viapro.c | 2 +-
drivers/i2c/busses/i2c-wmt.c | 117 ++-----
drivers/i2c/busses/scx200_acb.c | 2 +-
drivers/i2c/i2c-core-base.c | 13 +-
drivers/i2c/i2c-smbus.c | 8 +-
drivers/i2c/i2c-stub.c | 2 +-
drivers/i2c/muxes/i2c-mux-reg.c | 4 +-
drivers/media/pci/netup_unidvb/netup_unidvb_i2c.c | 2 +-
drivers/misc/eeprom/at24.c | 5 +-
drivers/staging/greybus/i2c.c | 2 +-
drivers/video/fbdev/core/fb_ddc.c | 1 -
drivers/video/fbdev/cyber2000fb.c | 1 -
drivers/video/fbdev/i740fb.c | 1 -
drivers/video/fbdev/intelfb/intelfb_i2c.c | 15 +-
drivers/video/fbdev/matrox/i2c-matroxfb.c | 15 +-
drivers/video/fbdev/s3fb.c | 1 -
drivers/video/fbdev/tdfxfb.c | 1 -
drivers/video/fbdev/tridentfb.c | 1 -
drivers/video/fbdev/via/via_i2c.c | 1 -
include/linux/i2c.h | 5 +-
include/linux/platform_data/i2c-mux-reg.h | 2 -
sound/soc/rockchip/rk3399_gru_sound.c | 2 +-
80 files changed, 418 insertions(+), 464 deletions(-)


Attachments:
(No filename) (17.81 kB)
signature.asc (849.00 B)
Download all attachments

2024-01-17 20:36:12

by Kim Phillips

[permalink] [raw]
Subject: Re: [PULL REQUEST] i2c-for-6.8-rc1

Hi,

On 1/16/24 11:02 AM, Wolfram Sang wrote:
> The following changes since commit 2cc14f52aeb78ce3f29677c2de1f06c0e91471ab:
>
> Linux 6.7-rc3 (2023-11-26 19:59:33 -0800)
>
> are available in the Git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git tags/i2c-for-6.8-rc1
>
> for you to fetch changes up to f4b49e824f0b38e6b5003be97f27c63b96454388:
>
> Revert "i2c: designware: Fix reset call order in dw_i2c_plat_probe()" (2024-01-14 09:02:34 +0100)
>
> ----------------------------------------------------------------
..
> quite some driver updates. Standing out are patches for the wmt-driver
> which is refactored to support more variants. And a big series for the
> designware-driver needed to be reverted because issues have been
> reported late in the cycle and no incremental fix has been found yet.

If you're talking about this original report:

https://lore.kernel.org/lkml/20231229120820.GCZY62tM7z4v2XmOAZ@fat_crate.local/

then my AMD system still fails to boot this pull request's 'i2c-for-6.8-rc1' tag,
and in the same way of the above stack trace.

It looks like a lot of designware commits did indeed get reverted, except the
very first one:

bd466a892612 ( "i2c: designware: Fix PM calls order in dw_i2c_plat_probe()")

If I revert it from 'i2c-for-6.8-rc1', the system boots fine again.

That commit was previously found responsible, here:

https://lore.kernel.org/all/[email protected]/

Can that commit also be reverted in this pull request?

Thanks,

Kim

2024-01-17 21:00:51

by Wolfram Sang

[permalink] [raw]
Subject: Re: [PULL REQUEST] i2c-for-6.8-rc1

On Wed, Jan 17, 2024 at 02:35:47PM -0600, Kim Phillips wrote:
> Hi,
>
> On 1/16/24 11:02 AM, Wolfram Sang wrote:
> > The following changes since commit 2cc14f52aeb78ce3f29677c2de1f06c0e91471ab:
> >
> > Linux 6.7-rc3 (2023-11-26 19:59:33 -0800)
> >
> > are available in the Git repository at:
> >
> > git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git tags/i2c-for-6.8-rc1
> >
> > for you to fetch changes up to f4b49e824f0b38e6b5003be97f27c63b96454388:
> >
> > Revert "i2c: designware: Fix reset call order in dw_i2c_plat_probe()" (2024-01-14 09:02:34 +0100)
> >
> > ----------------------------------------------------------------
> ...
> > quite some driver updates. Standing out are patches for the wmt-driver
> > which is refactored to support more variants. And a big series for the
> > designware-driver needed to be reverted because issues have been
> > reported late in the cycle and no incremental fix has been found yet.
>
> If you're talking about this original report:
>
> https://lore.kernel.org/lkml/20231229120820.GCZY62tM7z4v2XmOAZ@fat_crate.local/
>
> then my AMD system still fails to boot this pull request's 'i2c-for-6.8-rc1' tag,
> and in the same way of the above stack trace.
>
> It looks like a lot of designware commits did indeed get reverted, except the
> very first one:
>
> bd466a892612 ( "i2c: designware: Fix PM calls order in dw_i2c_plat_probe()")
>
> If I revert it from 'i2c-for-6.8-rc1', the system boots fine again.

Damn, stupid off-by-one error :( I am sorry, thanks a ton for checking my tag!

> Can that commit also be reverted in this pull request?

Sure, I will send an updated pull request.

Thanks again,

Wolfram


Attachments:
(No filename) (1.70 kB)
signature.asc (849.00 B)
Download all attachments