Hi guys, This series moves the callback members from struct typec_capabilities to a new struct typec_operations. That removes the need for the drivers to keep a copy of the struct typec_capabilites if they don't need it, and struct typec_operations can probable always be constified. The change is small, however I think the code ends up being a bit more cleaner looking this way. Let me know if it's OK. thanks, Heikki Krogerus (7): usb: typec: Copy everything from struct typec_capability during registration usb: typec: Introduce typec_get_drvdata() usb: typec: Separate the operations vector usb: typec: tcpm: Start using struct typec_operations usb: typec: tps6598x: Start using struct typec_operations usb: typec: ucsi: Start using struct typec_operations usb: typec: Remove the callback members from struct typec_capability drivers/usb/typec/class.c | 125 +++++++++++++++++++++------------- drivers/usb/typec/tcpm/tcpm.c | 47 ++++++------- drivers/usb/typec/tps6598x.c | 49 ++++++------- drivers/usb/typec/ucsi/ucsi.c | 22 +++--- include/linux/usb/typec.h | 38 ++++++----- 5 files changed, 157 insertions(+), 124 deletions(-) -- 2.23.0