diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2022-05-31 14:34:00 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2022-05-31 14:34:00 -0700 |
commit | f8a52af9d00d59fd887d8ad1fa0c2c88a5d775b9 (patch) | |
tree | 4c1db12503f4fe19a9f5b34867d32da3c4f034bf /Documentation | |
parent | 35b51afd23c98e2f055ac563aca36173a12588b9 (diff) | |
parent | 3cd4030da3a9b54ee1ffb8397aba857397c703e4 (diff) |
Merge tag 'i2c-for-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux
Pull i2c updates from Wolfram Sang:
"Only driver updates for 5.19.
Bigger changes are for Meson, NPCM, and R-Car, but there are also
changes all over the place"
* tag 'i2c-for-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (34 commits)
i2c: meson: fix typo in comment
i2c: rcar: use flags instead of atomic_xfer
i2c: rcar: REP_AFTER_RD is not a persistent flag
i2c: rcar: use BIT macro consistently
i2c: qcom-geni: remove unnecessary conditions
i2c: mt7621: Use devm_platform_get_and_ioremap_resource()
i2c: rcar: refactor handling of first message
i2c: rcar: avoid race condition with SMIs
i2c: xiic: Correct the datatype for rx_watermark
i2c: rcar: fix PM ref counts in probe error paths
i2c: npcm: Handle spurious interrupts
i2c: npcm: Correct register access width
i2c: npcm: Add tx complete counter
i2c: npcm: Fix timeout calculation
i2c: npcm: Remove unused variable clk_regmap
i2c: npcm: Change the way of getting GCR regmap
i2c: xiic: Fix Tx Interrupt path for grouped messages
i2c: xiic: Fix coding style issues
i2c: xiic: return value of xiic_reinit
i2c: cadence: Increase timeout per message if necessary
...
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/devicetree/bindings/i2c/renesas,rcar-i2c.yaml | 2 | ||||
-rw-r--r-- | Documentation/i2c/writing-clients.rst | 13 |
2 files changed, 9 insertions, 6 deletions
diff --git a/Documentation/devicetree/bindings/i2c/renesas,rcar-i2c.yaml b/Documentation/devicetree/bindings/i2c/renesas,rcar-i2c.yaml index c30107833a51..f9929578c761 100644 --- a/Documentation/devicetree/bindings/i2c/renesas,rcar-i2c.yaml +++ b/Documentation/devicetree/bindings/i2c/renesas,rcar-i2c.yaml @@ -46,11 +46,11 @@ properties: - renesas,i2c-r8a77980 # R-Car V3H - renesas,i2c-r8a77990 # R-Car E3 - renesas,i2c-r8a77995 # R-Car D3 - - renesas,i2c-r8a779a0 # R-Car V3U - const: renesas,rcar-gen3-i2c # R-Car Gen3 and RZ/G2 - items: - enum: + - renesas,i2c-r8a779a0 # R-Car V3U - renesas,i2c-r8a779f0 # R-Car S4-8 - const: renesas,rcar-gen4-i2c # R-Car Gen4 diff --git a/Documentation/i2c/writing-clients.rst b/Documentation/i2c/writing-clients.rst index 978cc8210bf3..e3b126cf4a3b 100644 --- a/Documentation/i2c/writing-clients.rst +++ b/Documentation/i2c/writing-clients.rst @@ -46,7 +46,7 @@ driver model device node, and its I2C address. }, .id_table = foo_idtable, - .probe = foo_probe, + .probe_new = foo_probe, .remove = foo_remove, /* if device autodetection is needed: */ .class = I2C_CLASS_SOMETHING, @@ -155,8 +155,7 @@ those devices, and a remove() method to unbind. :: - static int foo_probe(struct i2c_client *client, - const struct i2c_device_id *id); + static int foo_probe(struct i2c_client *client); static int foo_remove(struct i2c_client *client); Remember that the i2c_driver does not create those client handles. The @@ -165,8 +164,12 @@ handle may be used during foo_probe(). If foo_probe() reports success foo_remove() returns. That binding model is used by most Linux drivers. The probe function is called when an entry in the id_table name field -matches the device's name. It is passed the entry that was matched so -the driver knows which one in the table matched. +matches the device's name. If the probe function needs that entry, it +can retrieve it using + +:: + + const struct i2c_device_id *id = i2c_match_id(foo_idtable, client); Device Creation |