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 <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 <!-- Created with Inkscape (http://www.inkscape.org/) --> 3 4 <svg 5 xmlns:dc="http://purl.org/dc/elements/1.1/" ··· 1121 <rect 1122 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 id="rect4424-3-2-9-7" 1124 - width="112.5" 1125 height="113.75008" 1126 x="112.5" 1127 y="471.11221" ··· 1134 y="521.46259" 1135 id="text4349"><tspan 1136 sodipodi:role="line" 1137 - x="167.5354" 1138 y="521.46259" 1139 style="font-size:25px;line-height:1.25;font-family:sans-serif;text-align:center;text-anchor:middle" 1140 id="tspan1273">I2C</tspan><tspan 1141 sodipodi:role="line" 1142 - x="167.5354" 1143 y="552.71259" 1144 style="font-size:25px;line-height:1.25;font-family:sans-serif;text-align:center;text-anchor:middle" 1145 - id="tspan1285">Master</tspan></text> 1146 <rect 1147 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 id="rect4424-3-2-9-7-3-3-5-3" ··· 1172 x="318.59131" 1173 y="552.08752" 1174 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> 1176 <path 1177 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 d="m 112.49995,677.36223 c 712.50005,0 712.50005,0 712.50005,0" ··· 1234 x="468.59131" 1235 y="552.08746" 1236 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> 1238 <rect 1239 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 id="rect4424-3-2-9-7-3-3-5-3-1" ··· 1259 x="618.59131" 1260 y="552.08746" 1261 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> 1263 <path 1264 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 d="m 150,583.61221 v 93.75"
··· 1 <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 <!-- Created with Inkscape (http://www.inkscape.org/) --> 3 + <!-- Updated to inclusive terminology by Wolfram Sang --> 4 5 <svg 6 xmlns:dc="http://purl.org/dc/elements/1.1/" ··· 1120 <rect 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" 1122 id="rect4424-3-2-9-7" 1123 + width="134.5" 1124 height="113.75008" 1125 x="112.5" 1126 y="471.11221" ··· 1133 y="521.46259" 1134 id="text4349"><tspan 1135 sodipodi:role="line" 1136 + x="178.5354" 1137 y="521.46259" 1138 style="font-size:25px;line-height:1.25;font-family:sans-serif;text-align:center;text-anchor:middle" 1139 id="tspan1273">I2C</tspan><tspan 1140 sodipodi:role="line" 1141 + x="178.5354" 1142 y="552.71259" 1143 style="font-size:25px;line-height:1.25;font-family:sans-serif;text-align:center;text-anchor:middle" 1144 + id="tspan1285">Controller</tspan></text> 1145 <rect 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" 1147 id="rect4424-3-2-9-7-3-3-5-3" ··· 1171 x="318.59131" 1172 y="552.08752" 1173 style="font-size:25.00000191px;line-height:1.25;font-family:sans-serif;text-align:center;text-anchor:middle;stroke-width:1px" 1174 + id="tspan1287">Target</tspan></text> 1175 <path 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" 1177 d="m 112.49995,677.36223 c 712.50005,0 712.50005,0 712.50005,0" ··· 1233 x="468.59131" 1234 y="552.08746" 1235 style="font-size:25.00000191px;line-height:1.25;font-family:sans-serif;text-align:center;text-anchor:middle;stroke-width:1px" 1236 + id="tspan1287-6">Target</tspan></text> 1237 <rect 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" 1239 id="rect4424-3-2-9-7-3-3-5-3-1" ··· 1258 x="618.59131" 1259 y="552.08746" 1260 style="font-size:25.00000191px;line-height:1.25;font-family:sans-serif;text-align:center;text-anchor:middle;stroke-width:1px" 1261 + id="tspan1287-9">Target</tspan></text> 1262 <path 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)" 1264 d="m 150,583.61221 v 93.75"
+17 -6
Documentation/i2c/summary.rst
··· 31 Terminology 32 =========== 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. 36 37 .. kernel-figure:: i2c_bus.svg 38 - :alt: Simple I2C bus with one master and 3 slaves 39 40 Simple I2C bus 41 42 - A **master** chip is a node that starts communications with slaves. In the 43 Linux kernel implementation it is called an **adapter** or bus. Adapter 44 drivers are in the ``drivers/i2c/busses/`` subdirectory. 45 ··· 49 an algorithm driver in the ``drivers/i2c/algos/`` subdirectory, or includes 50 its own implementation. 51 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 54 in a directory specific to the feature they provide, for example 55 ``drivers/media/gpio/`` for GPIO expanders and ``drivers/media/i2c/`` for 56 video-related chips. ··· 58 For the example configuration in figure, you will need a driver for your 59 I2C adapter, and drivers for your I2C devices (usually one driver for each 60 device).
··· 31 Terminology 32 =========== 33 34 + The I2C bus connects one or more *controller* chips and one or more *target* 35 + chips. 36 + 37 38 .. kernel-figure:: i2c_bus.svg 39 + :alt: Simple I2C bus with one controller and 3 targets 40 41 Simple I2C bus 42 43 + A **controller** chip is a node that starts communications with targets. In the 44 Linux kernel implementation it is called an **adapter** or bus. Adapter 45 drivers are in the ``drivers/i2c/busses/`` subdirectory. 46 ··· 48 an algorithm driver in the ``drivers/i2c/algos/`` subdirectory, or includes 49 its own implementation. 50 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 53 in a directory specific to the feature they provide, for example 54 ``drivers/media/gpio/`` for GPIO expanders and ``drivers/media/i2c/`` for 55 video-related chips. ··· 57 For the example configuration in figure, you will need a driver for your 58 I2C adapter, and drivers for your I2C devices (usually one driver for each 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.