docs: i2c: summary: document use of inclusive language

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@sang-engineering.com>
Reviewed-by: Easwar Hariharan <eahariha@linux.microsoft.com>
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>

+25 -13
+8 -7
Documentation/i2c/i2c_bus.svg
··· 1 1 <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 2 <!-- Created with Inkscape (http://www.inkscape.org/) --> 3 + <!-- Updated to inclusive terminology by Wolfram Sang --> 3 4 4 5 <svg 5 6 xmlns:dc="http://purl.org/dc/elements/1.1/" ··· 1121 1120 <rect 1122 1121 style="opacity:1;fill:#ffb9b9;fill-opacity:1;stroke:#f00000;stroke-width:2.8125;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" 1123 1122 id="rect4424-3-2-9-7" 1124 - width="112.5" 1123 + width="134.5" 1125 1124 height="113.75008" 1126 1125 x="112.5" 1127 1126 y="471.11221" ··· 1134 1133 y="521.46259" 1135 1134 id="text4349"><tspan 1136 1135 sodipodi:role="line" 1137 - x="167.5354" 1136 + x="178.5354" 1138 1137 y="521.46259" 1139 1138 style="font-size:25px;line-height:1.25;font-family:sans-serif;text-align:center;text-anchor:middle" 1140 1139 id="tspan1273">I2C</tspan><tspan 1141 1140 sodipodi:role="line" 1142 - x="167.5354" 1141 + x="178.5354" 1143 1142 y="552.71259" 1144 1143 style="font-size:25px;line-height:1.25;font-family:sans-serif;text-align:center;text-anchor:middle" 1145 - id="tspan1285">Master</tspan></text> 1144 + id="tspan1285">Controller</tspan></text> 1146 1145 <rect 1147 1146 style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#b9ffb9;fill-opacity:1;fill-rule:nonzero;stroke:#006400;stroke-width:2.8125;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" 1148 1147 id="rect4424-3-2-9-7-3-3-5-3" ··· 1172 1171 x="318.59131" 1173 1172 y="552.08752" 1174 1173 style="font-size:25.00000191px;line-height:1.25;font-family:sans-serif;text-align:center;text-anchor:middle;stroke-width:1px" 1175 - id="tspan1287">Slave</tspan></text> 1174 + id="tspan1287">Target</tspan></text> 1176 1175 <path 1177 1176 style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99968767;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" 1178 1177 d="m 112.49995,677.36223 c 712.50005,0 712.50005,0 712.50005,0" ··· 1234 1233 x="468.59131" 1235 1234 y="552.08746" 1236 1235 style="font-size:25.00000191px;line-height:1.25;font-family:sans-serif;text-align:center;text-anchor:middle;stroke-width:1px" 1237 - id="tspan1287-6">Slave</tspan></text> 1236 + id="tspan1287-6">Target</tspan></text> 1238 1237 <rect 1239 1238 style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#b9ffb9;fill-opacity:1;fill-rule:nonzero;stroke:#006400;stroke-width:2.8125;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" 1240 1239 id="rect4424-3-2-9-7-3-3-5-3-1" ··· 1259 1258 x="618.59131" 1260 1259 y="552.08746" 1261 1260 style="font-size:25.00000191px;line-height:1.25;font-family:sans-serif;text-align:center;text-anchor:middle;stroke-width:1px" 1262 - id="tspan1287-9">Slave</tspan></text> 1261 + id="tspan1287-9">Target</tspan></text> 1263 1262 <path 1264 1263 style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.99968743;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#DotM)" 1265 1264 d="m 150,583.61221 v 93.75"
+17 -6
Documentation/i2c/summary.rst
··· 31 31 Terminology 32 32 =========== 33 33 34 - Using the terminology from the official documentation, the I2C bus connects 35 - one or more *master* chips and one or more *slave* chips. 34 + The I2C bus connects one or more *controller* chips and one or more *target* 35 + chips. 36 + 36 37 37 38 .. kernel-figure:: i2c_bus.svg 38 - :alt: Simple I2C bus with one master and 3 slaves 39 + :alt: Simple I2C bus with one controller and 3 targets 39 40 40 41 Simple I2C bus 41 42 42 - A **master** chip is a node that starts communications with slaves. In the 43 + A **controller** chip is a node that starts communications with targets. In the 43 44 Linux kernel implementation it is called an **adapter** or bus. Adapter 44 45 drivers are in the ``drivers/i2c/busses/`` subdirectory. 45 46 ··· 49 48 an algorithm driver in the ``drivers/i2c/algos/`` subdirectory, or includes 50 49 its own implementation. 51 50 52 - A **slave** chip is a node that responds to communications when addressed 53 - by the master. In Linux it is called a **client**. Client drivers are kept 51 + A **target** chip is a node that responds to communications when addressed 52 + by the controller. In Linux it is called a **client**. Client drivers are kept 54 53 in a directory specific to the feature they provide, for example 55 54 ``drivers/media/gpio/`` for GPIO expanders and ``drivers/media/i2c/`` for 56 55 video-related chips. ··· 58 57 For the example configuration in figure, you will need a driver for your 59 58 I2C adapter, and drivers for your I2C devices (usually one driver for each 60 59 device). 60 + 61 + Outdated terminology 62 + -------------------- 63 + 64 + In earlier I2C specifications, controller was named "master" and target was 65 + named "slave". These terms have been obsoleted with v7 of the specification and 66 + their use is also discouraged by the Linux Kernel Code of Conduct. You may 67 + still find them in references to documentation which has not been updated. The 68 + general attitude, however, is to use the inclusive terms: controller and 69 + target. Work to replace the old terminology in the Linux Kernel is on-going.