[fdf][i2c] Migrate i2c clients to service capability

The i2c core driver already exports both the service capability as well
as the protocol capability. This change switches clients to go through
the service capability instead. Because most clients go through the
ddk::I2cChannel class to connect, most drivers don't require any code
changes, only component manifest updates to reflect the new service they
require, and unit test update for connecting to the parent's i2c
protocol.

Additionally all drivers using the i2c protocol were updated to no
longer colocate with their parent.

Tested: device-enumeration-test
Bug: 116476
Change-Id: Ia48cafddeab247c0885247eae49f2a484fa49478
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/783827
Reviewed-by: Ian Fisher <iafisher@google.com>
Fuchsia-Auto-Submit: Suraj Malhotra <surajmalhotra@google.com>
Commit-Queue: Auto-Submit <auto-submit@fuchsia-infra.iam.gserviceaccount.com>
66 files changed
tree: be906df8103bd0ce2af13b62b2e95a50b9acfdb5
  1. boards/
  2. build/
  3. bundles/
  4. docs/
  5. examples/
  6. products/
  7. scripts/
  8. sdk/
  9. src/
  10. third_party/
  11. tools/
  12. zircon/
  13. .clang-format
  14. .clang-tidy
  15. .editorconfig
  16. .git-blame-ignore-revs
  17. .gitattributes
  18. .gitignore
  19. .gitmodules
  20. .gn
  21. .style.yapf
  22. analysis_options.yaml
  23. AUTHORS
  24. BUILD.gn
  25. CODE_OF_CONDUCT.md
  26. CONTRIBUTING.md
  27. fuchsia.code-workspace
  28. LICENSE
  29. OWNERS
  30. PATENTS
  31. pyrightconfig.json
  32. README.md
  33. rustfmt.toml
README.md

Fuchsia

What is Fuchsia?

Fuchsia is an open source, general purpose operating system supporting modern 64-bit Intel and ARM processors.

We expect everyone interacting with our project to respect our code of conduct.

Read more about Fuchsia's principles.

How can I build and run Fuchsia?

See Getting Started.

Where can I learn more about Fuchsia?

See fuchsia.dev.