Currently, the usb251xb assumes i2c control. But from HW point of view, the hub supports usage case without any i2c, we only want the gpio controls. Refactor the code so that register writes for configuration are only performed if the device has a i2c_client provided and also register as a platform driver. This allows the driver to be used to manage GPIO based control of the device. Since v2: - add usage example w/o i2c control in dt-binding - update commit msg - remove of_match_ptr Since v1: - make the modern pm macros usage a separate patch - use pm_sleep_ptr instead of pm_ptr for usb251xb_plat_pm_ops, because this ops is for PM_SLEEP only. Jisheng Zhang (3): dt-bindings: usb: usb251xb: support usage case without I2C control usb: usb251xb: use modern PM macros usb: usb251xb: support usage case without I2C control .../devicetree/bindings/usb/usb251xb.yaml | 9 +- drivers/usb/misc/usb251xb.c | 108 +++++++++++++++--- 2 files changed, 102 insertions(+), 15 deletions(-) -- 2.50.0