On 6/10/2024 1:10 AM, Wolfram Sang wrote: > We now have the updated I2C specs and our own Code of Conduct, so we > have all we need to switch over to the inclusive terminology. Define > them here. > > Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> > --- > Documentation/i2c/i2c_bus.svg | 15 ++++++++------- > Documentation/i2c/summary.rst | 23 +++++++++++++++++------ > 2 files changed, 25 insertions(+), 13 deletions(-) > <snip> > diff --git a/Documentation/i2c/summary.rst b/Documentation/i2c/summary.rst > index a1e5c0715f8b..b10b6aaafcec 100644 > --- a/Documentation/i2c/summary.rst > +++ b/Documentation/i2c/summary.rst > @@ -31,15 +31,16 @@ implement all the common SMBus protocol semantics or messages. > Terminology > =========== > > -Using the terminology from the official documentation, the I2C bus connects > -one or more *master* chips and one or more *slave* chips. > +The I2C bus connects one or more *controller* chips and one or more *target* > +chips. > + > > .. kernel-figure:: i2c_bus.svg > - :alt: Simple I2C bus with one master and 3 slaves > + :alt: Simple I2C bus with one controller and 3 targets > > Simple I2C bus > > -A **master** chip is a node that starts communications with slaves. In the > +A **controller** chip is a node that starts communications with targets. In the > Linux kernel implementation it is called an **adapter** or bus. Adapter > drivers are in the ``drivers/i2c/busses/`` subdirectory. > > @@ -48,8 +49,8 @@ whole class of I2C adapters. Each specific adapter driver either depends on > an algorithm driver in the ``drivers/i2c/algos/`` subdirectory, or includes > its own implementation. > > -A **slave** chip is a node that responds to communications when addressed > -by the master. In Linux it is called a **client**. Client drivers are kept > +A **target** chip is a node that responds to communications when addressed > +by the controller. In Linux it is called a **client**. Client drivers are kept <snip> > + > +Outdated terminology > +-------------------- > + > +Historically, controller was named "master" and client was named "slave". These > +terms have been obsoleted with v7 of the specification and their use is also > +discouraged by the Linux Kernel Code of Conduct. You may still find them in > +references to documentation which has not been updated. The general attitude, > +however, is to use the inclusive terms: controller and target. Work to switch > +over the Linux Kernel is on-going. What's the combined effect of this documentation update in terms of the recommendation for switching over the Linux kernel? Are we to use controller/client or controller/target? Confused, Easwar